package RepairWorkOrder import ( "ERP_storage/logs" "ERP_storage/models/Account" "github.com/beego/beego/v2/adapter/orm" orm2 "github.com/beego/beego/v2/client/orm" "gogs.baozhida.cn/zoie/ERP_libs/lib" ) const ( Delete int = iota RepairWorkOrderOrder // 已下发 RepairWorkOrderRepair // 维修中 RepairWorkOrderReturn // 已归还 RepairWorkOrderFinish // 已完结 ) type RepairWorkOrder struct { Id int `orm:"column(ID);size(11);auto;pk"` T_order_date string `orm:"size(256);null"` // 下单日期 T_repair_date string `orm:"size(256);null"` // 维修日期 T_finish_date string `orm:"size(256);null"` // 完结日期 T_state int `orm:"size(2);default(1)"` // 1已派发 2维修中 3已归还 4已完结 T_product string `orm:"size(256);null"` // 产品名称 T_model string `orm:"size(256);null"` // 产品型号 T_repair_num int `orm:"size(256);null"` // 维修数量 T_source string `orm:"size(256);null"` // 设备来源 T_repair_reason string `orm:"size(256);null"` // 维修原因 T_picture string `orm:"size(256);null"` // 图片 T_receive string `orm:"size(256);null"` // 接收人 T_delivery string `orm:"size(256);null"` // 交付人 T_return string `orm:"size(256);null"` // 归还人 T_return_date string `orm:"size(256);null"` // 归还人 T_return_product string `orm:"size(256);null"` // 归还产品名称 T_return_model string `orm:"size(256);null"` // 归还产品名称 T_return_num int `orm:"size(256);null"` // 返回数量 T_staging_num int `orm:"size(256);null"` // 暂存数量 T_scrap_num int `orm:"size(256);null"` // 报废数量 T_malfunction_reason string `orm:"size(256);null"` // 故障原因 T_remark string `orm:"size(256);null"` // 备注 T_sn string `orm:"type(text);null"` // sn } type RepairWorkOrder_R struct { Id int `orm:"column(ID);size(11);auto;pk"` T_order_date string `orm:"size(256);null"` // 下单日期 T_repair_date string `orm:"size(256);null"` // 维修日期 T_finish_date string `orm:"size(256);null"` // 完结日期 T_state int `orm:"size(2);default(1)"` // 1已派发 2已归还 3已完结 T_product string `orm:"size(256);null"` // 产品名称 T_model string `orm:"size(256);null"` // 产品型号 T_repair_num int `orm:"size(256);null"` // 维修数量 T_source string `orm:"size(256);null"` // 设备来源 T_repair_reason string `orm:"size(256);null"` // 维修原因 T_picture string `orm:"size(256);null"` // 图片 T_receive_name string `orm:"size(256);null"` // 接收人 T_delivery_name string `orm:"size(256);null"` // 交付人 T_return_name string `orm:"size(256);null"` // 归还人 T_return_date string `orm:"size(256);null"` // 归还人 T_return_product string `orm:"size(256);null"` // 归还产品名称 T_return_model string `orm:"size(256);null"` // 归还产品名称 T_return_num int `orm:"size(256);null"` // 返回数量 T_staging_num int `orm:"size(256);null"` // 暂存数量 T_scrap_num int `orm:"size(256);null"` // 报废数量 T_malfunction_reason string `orm:"size(256);null"` // 故障原因 T_remark string `orm:"size(256);null"` // 备注 T_sn string `orm:"type(text);null"` // sn } func (t *RepairWorkOrder) TableName() string { return "repair_work_order" // 数据库名称 // ************** 替换 FormulaList ************** } func init() { //注册模型 orm.RegisterModel(new(RepairWorkOrder)) } func RepairWorkOrderToRepairWorkOrder_R(t RepairWorkOrder) (r RepairWorkOrder_R) { r.Id = t.Id if len(t.T_order_date) > 10 { r.T_order_date = t.T_order_date[:10] } if len(t.T_repair_date) > 10 { r.T_repair_date = t.T_repair_date[:10] } if len(t.T_finish_date) > 10 { r.T_finish_date = t.T_finish_date[:10] } r.T_state = t.T_state r.T_product = t.T_product r.T_model = t.T_model r.T_repair_num = t.T_repair_num r.T_source = t.T_source r.T_repair_reason = t.T_repair_reason r.T_picture = t.T_picture r.T_receive_name = Account.Read_User_T_name_Get(t.T_receive) r.T_delivery_name = Account.Read_User_T_name_Get(t.T_delivery) r.T_return_name = Account.Read_User_T_name_Get(t.T_return) r.T_return_date = t.T_return_date r.T_return_product = t.T_return_product r.T_return_model = t.T_return_model r.T_return_num = t.T_return_num r.T_staging_num = t.T_staging_num r.T_scrap_num = t.T_scrap_num r.T_malfunction_reason = t.T_malfunction_reason r.T_remark = t.T_remark r.T_sn = t.T_sn return r } // 获取 ById func Read_RepairWorkOrder_ById(Id int) (r RepairWorkOrder, err error) { o := orm.NewOrm() qs := o.QueryTable(new(RepairWorkOrder)) err = qs.Filter("Id", Id).Filter("T_state__gt", 0).One(&r) if err != nil { logs.Error(lib.FuncName(), err) } return } // 获取列表 func Read_RepairWorkOrder_List(T_state int, T_name string, page, page_z int) (r_ []RepairWorkOrder_R, cnt int64) { o := orm.NewOrm() // 也可以直接使用 Model 结构体作为表名 qs := o.QueryTable(new(RepairWorkOrder)) var offset int64 if page <= 1 { offset = 0 } else { offset = int64((page - 1) * page_z) } // 过滤 cond := orm.NewCondition() cond = cond.And("T_state__gt", 0) if T_state > 0 { cond = cond.And("T_state", T_state) } if len(T_name) > 0 { cond = cond.AndCond(cond.Or("T_product__icontains", T_name).Or("T_model__icontains", T_name)) } // 查询 var r []RepairWorkOrder _, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond)).OrderBy("T_state").All(&r) if err != nil { logs.Error(lib.FuncName(), err) return } cnt, err = qs.SetCond((*orm2.Condition)(cond)).Count() if err != nil { logs.Error(lib.FuncName(), err) return } for _, v := range r { r_ = append(r_, RepairWorkOrderToRepairWorkOrder_R(v)) } return r_, cnt } func Read_RepairWorkOrder_user_List(T_uuid string, T_state int, T_name string, page, page_z int) (r_ []RepairWorkOrder_R, cnt int64) { o := orm.NewOrm() // 也可以直接使用 Model 结构体作为表名 qs := o.QueryTable(new(RepairWorkOrder)) var offset int64 if page <= 1 { offset = 0 } else { offset = int64((page - 1) * page_z) } // 过滤 cond := orm.NewCondition() cond = cond.And("T_state__gt", 0) cond = cond.And("T_receive", T_uuid) if T_state > 0 { cond = cond.And("T_state", T_state) } if len(T_name) > 0 { cond = cond.And("T_name__icontains", T_name) } // 查询 var r []RepairWorkOrder _, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond)).OrderBy("T_state").All(&r) if err != nil { logs.Error(lib.FuncName(), err) return } cnt, err = qs.SetCond((*orm2.Condition)(cond)).Count() if err != nil { logs.Error(lib.FuncName(), err) return } for _, v := range r { r_ = append(r_, RepairWorkOrderToRepairWorkOrder_R(v)) } return r_, cnt } // 修改 func Update_RepairWorkOrder(m RepairWorkOrder, cols ...string) error { o := orm.NewOrm() _, err := o.Update(&m, cols...) if err != nil { logs.Error(lib.FuncName(), err) return err } return nil } // 删除 func Delete_RepairWorkOrder(v RepairWorkOrder) error { o := orm.NewOrm() v.T_state = 0 _, err := o.Update(&v, "T_state") if err != nil { logs.Error(lib.FuncName(), err) } return err } // 添加 func Add_RepairWorkOrder(r RepairWorkOrder) (id int64, err error) { o := orm.NewOrm() id, err = o.Insert(&r) if err != nil { logs.Error(lib.FuncName(), err) } return id, err }