package Device import ( "Cold_Api/controllers/lib" "github.com/beego/beego/v2/adapter/orm" orm2 "github.com/beego/beego/v2/client/orm" "github.com/beego/beego/v2/core/logs" _ "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);default(1)"` // 1 start:开始监测任务, // 2 stop:结束监测任务, // 3 print:中途打印任务 } type DeviceTask_R struct { Id int T_sn string // 设备序列号 KF开头,环境监测主机。 YD开头,温途监测主机 T_Ut_start string // 采集时间 T_Ut_end string // 采集时间 T_Ut string // 采集时间 T_State int } func DeviceTaskToDeviceTask_R(r DeviceTask) (t DeviceTask_R) { t.Id = r.Id t.T_sn = r.T_sn t.T_State = r.T_State if !r.T_Ut_start.IsZero() { t.T_Ut_start = r.T_Ut_start.Format("2006-01-02 15:04:05") } if !r.T_Ut_end.IsZero() { t.T_Ut_end = r.T_Ut_end.Format("2006-01-02 15:04:05") } if !r.T_Ut.IsZero() { t.T_Ut = r.T_Ut.Format("2006-01-02 15:04:05") } return } 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 _, err := qs.Limit(1, 0).Filter("T_sn", T_sn).OrderBy("-ID").All(&r_l) if err != nil { logs.Error(lib.FuncName(), err) return DeviceTask{}, false } if len(r_l) > 0 { return r_l[0], true } return DeviceTask{}, false } // 获取全部 func Read_DeviceTask_All(T_sn string) (r_l []DeviceTask_R, cnt int64) { o := orm.NewOrm() qs := o.QueryTable(new(DeviceTask)) var maps []DeviceTask cond := orm.NewCondition() cond1 := cond.And("T_sn", T_sn) cnt, err := qs.SetCond((*orm2.Condition)(cond1)).OrderBy("-Id").All(&maps) if err != nil { logs.Error(lib.FuncName(), err) return } for _, v := range maps { r_l = append(r_l, DeviceTaskToDeviceTask_R(v)) } return } // 获取全部 func Read_DeviceTask_List(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 <= 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) } _, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("-Id").All(&r_l) if err != nil { logs.Error(lib.FuncName(), err) return } cnt, err = qs.SetCond((*orm2.Condition)(cond1)).Count() if err != nil { logs.Error(lib.FuncName(), err) return } return }