package Device import ( "Cold_Api/conf" "github.com/beego/beego/v2/adapter/orm" orm2 "github.com/beego/beego/v2/client/orm" _ "github.com/go-sql-driver/mysql" "time" ) // 模板 type DeviceTask struct { Id int `orm:"column(ID);size(11);auto;pk"` T_sn string `orm:"size(256);null"` // 设备序列号 KF开头,环境监测主机。 YD开头,温途监测主机 T_Ut_start time.Time `orm:"type(timestamp);null;"` // 采集时间 T_Ut_end time.Time `orm:"type(timestamp);null;"` // 采集时间 T_Ut time.Time `orm:"type(timestamp);null;"` // 采集时间 T_State int `orm:"size(2);1"` // 1 start:开始监测任务, // 2 stop:结束监测任务, // 3 print:中途打印任务 } func (t *DeviceTask) TableName() string { return "device_task" // 数据库名称 // ************** 替换 FormulaList ************** } func init() { //注册模型 orm.RegisterModel(new(DeviceTask)) } // 获取全部 func Read_DeviceTask_All_Limit_1(T_sn string) (DeviceTask, bool) { o := orm.NewOrm() qs := o.QueryTable(new(DeviceTask)) var r_l []DeviceTask qs.Limit(1, 0).Filter("T_sn", T_sn).OrderBy("-ID").All(&r_l) if len(r_l) > 0 { return r_l[0], true } return DeviceTask{}, false } // 获取全部 func Read_DeviceTask_All(T_sn string, Time_start string, Time_end string, page int, page_z int) (r_l []DeviceTask, cnt int64) { o := orm.NewOrm() qs := o.QueryTable(new(DeviceTask)) var offset int64 if page_z == 0 { page_z = conf.Page_size } if page <= 1 { offset = 0 } else { offset = int64((page - 1) * page_z) } cond := orm.NewCondition() cond1 := cond.And("T_sn", T_sn) if len(Time_start) > 1 { cond1 = cond1.And("T_Ut_start__gte", Time_start) } if len(Time_end) > 1 { cond1 = cond1.And("T_Ut_end__lte", Time_end) } qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("-Id").All(&r_l) cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count() return }