forked from yunnet/gardens
/
EquipmentMeterAddrConfig.go
95 lines (80 loc) · 2.75 KB
/
EquipmentMeterAddrConfig.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
package models
import (
"time"
"github.com/astaxie/beego/orm"
)
type EquipmentMeterAddrConfig struct {
Id int `orm:"column(id)" form:"Id"`
MeterTypeNO string `orm:"column(meter_type_no)" form:"MeterTypeNO"`
SegmentStartAddr int `orm:"column(segment_start_addr)" form:"SegmentStartAddr"`
SegmentLen int `orm:"column(segment_len)" form:"SegmentLen"`
SegmentNO int `orm:"column(segment_no)" form:"SegmentNO"`
Used int `orm:"column(tag)" form:"Used"`
CreateUser string `orm:"column(createuser)" form:"CreateUser"`
CreateDate time.Time `orm:"auto_now_add;type(datetime);column(createdate)" form:"CreateDate"`
ChangeUser string `orm:"column(changeuser)" form:"ChangeUser"`
ChangeDate time.Time `orm:"auto_now;type(datetime);column(changedate)" form:"ChangeDate"`
}
type EquipmentMeterAddrConfigQueryParam struct {
BaseQueryParam
MeterTypeNO string
Used string //为空不查询,有值精确查询
}
func init() {
orm.RegisterModel(new(EquipmentMeterAddrConfig))
}
func EquipmentMeterAddrConfigTBName() string {
return "equipment_meter_addr_config"
}
func (this *EquipmentMeterAddrConfig) TableName() string {
return EquipmentMeterAddrConfigTBName()
}
func EquipmentMeterAddrConfigPageList(params *EquipmentMeterAddrConfigQueryParam) ([]*EquipmentMeterAddrConfig, int64) {
query := orm.NewOrm().QueryTable(EquipmentMeterAddrConfigTBName())
data := make([]*EquipmentMeterAddrConfig, 0)
sortorder := "Id"
switch params.Sort {
case "Id":
sortorder = "Id"
case "MeterTypeNO":
sortorder = "meter_type_no"
case "SegmentStartAddr":
sortorder = "segment_start_addr"
case "SegmentLen":
sortorder = "segment_len"
case "SegmentNO":
sortorder = "segment_no"
case "Used":
sortorder = "tag"
}
if params.Order == "desc" {
sortorder = "-" + sortorder
}
query = query.Filter("MeterTypeNO__istartswith", params.MeterTypeNO)
query = query.Filter("tag__istartswith", params.Used)
total, _ := query.Count()
query.OrderBy(sortorder).Limit(params.Limit, params.Offset).All(&data)
return data, total
}
func EquipmentMeterAddrConfigDataList(params *EquipmentMeterAddrConfigQueryParam) [] *EquipmentMeterAddrConfig {
params.Limit = -1
params.Sort = "Id"
params.Order = "asc"
data, _ := EquipmentMeterAddrConfigPageList(params)
return data
}
//delete
func EquipmentMeterAddrConfigBatchDelete(ids []int) (int64, error) {
query := orm.NewOrm().QueryTable(EquipmentMeterAddrConfigTBName())
num, err := query.Filter("id__in", ids).Delete()
return num, err
}
func EquipmentMeterAddrConfigOne(id int) (*EquipmentMeterAddrConfig, error) {
o := orm.NewOrm()
m := EquipmentMeterAddrConfig{Id: id}
err := o.Read(&m)
if err != nil {
return nil, err
}
return &m, nil
}