RepairWorkOrder.go 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. package RepairWorkOrder
  2. import (
  3. "ERP_storage/logs"
  4. "ERP_storage/models/Account"
  5. "github.com/beego/beego/v2/adapter/orm"
  6. orm2 "github.com/beego/beego/v2/client/orm"
  7. "gogs.baozhida.cn/zoie/ERP_libs/lib"
  8. )
  9. const (
  10. Delete int = iota
  11. RepairWorkOrderOrder // 已下发
  12. RepairWorkOrderRepair // 维修中
  13. RepairWorkOrderReturn // 已归还
  14. RepairWorkOrderFinish // 已完结
  15. )
  16. type RepairWorkOrder struct {
  17. Id int `orm:"column(ID);size(11);auto;pk"`
  18. T_order_date string `orm:"size(256);null"` // 下单日期
  19. T_repair_date string `orm:"size(256);null"` // 维修日期
  20. T_finish_date string `orm:"size(256);null"` // 完结日期
  21. T_state int `orm:"size(2);default(1)"` // 1已派发 2维修中 3已归还 4已完结
  22. T_product string `orm:"size(256);null"` // 产品名称
  23. T_model string `orm:"size(256);null"` // 产品型号
  24. T_repair_num int `orm:"size(256);null"` // 维修数量
  25. T_source string `orm:"size(256);null"` // 设备来源
  26. T_repair_reason string `orm:"size(256);null"` // 维修原因
  27. T_picture string `orm:"size(256);null"` // 图片
  28. T_receive string `orm:"size(256);null"` // 接收人
  29. T_delivery string `orm:"size(256);null"` // 交付人
  30. T_return string `orm:"size(256);null"` // 归还人
  31. T_return_date string `orm:"size(256);null"` // 归还人
  32. T_return_product string `orm:"size(256);null"` // 归还产品名称
  33. T_return_model string `orm:"size(256);null"` // 归还产品名称
  34. T_return_num int `orm:"size(256);null"` // 返回数量
  35. T_staging_num int `orm:"size(256);null"` // 暂存数量
  36. T_scrap_num int `orm:"size(256);null"` // 报废数量
  37. T_malfunction_reason string `orm:"size(256);null"` // 故障原因
  38. T_remark string `orm:"size(256);null"` // 备注
  39. T_sn string `orm:"type(text);null"` // sn
  40. }
  41. type RepairWorkOrder_R struct {
  42. Id int `orm:"column(ID);size(11);auto;pk"`
  43. T_order_date string `orm:"size(256);null"` // 下单日期
  44. T_repair_date string `orm:"size(256);null"` // 维修日期
  45. T_finish_date string `orm:"size(256);null"` // 完结日期
  46. T_state int `orm:"size(2);default(1)"` // 1已派发 2已归还 3已完结
  47. T_product string `orm:"size(256);null"` // 产品名称
  48. T_model string `orm:"size(256);null"` // 产品型号
  49. T_repair_num int `orm:"size(256);null"` // 维修数量
  50. T_source string `orm:"size(256);null"` // 设备来源
  51. T_repair_reason string `orm:"size(256);null"` // 维修原因
  52. T_picture string `orm:"size(256);null"` // 图片
  53. T_receive_name string `orm:"size(256);null"` // 接收人
  54. T_delivery_name string `orm:"size(256);null"` // 交付人
  55. T_return_name string `orm:"size(256);null"` // 归还人
  56. T_return_date string `orm:"size(256);null"` // 归还人
  57. T_return_product string `orm:"size(256);null"` // 归还产品名称
  58. T_return_model string `orm:"size(256);null"` // 归还产品名称
  59. T_return_num int `orm:"size(256);null"` // 返回数量
  60. T_staging_num int `orm:"size(256);null"` // 暂存数量
  61. T_scrap_num int `orm:"size(256);null"` // 报废数量
  62. T_malfunction_reason string `orm:"size(256);null"` // 故障原因
  63. T_remark string `orm:"size(256);null"` // 备注
  64. T_sn string `orm:"type(text);null"` // sn
  65. }
  66. func (t *RepairWorkOrder) TableName() string {
  67. return "repair_work_order" // 数据库名称 // ************** 替换 FormulaList **************
  68. }
  69. func init() {
  70. //注册模型
  71. orm.RegisterModel(new(RepairWorkOrder))
  72. }
  73. func RepairWorkOrderToRepairWorkOrder_R(t RepairWorkOrder) (r RepairWorkOrder_R) {
  74. r.Id = t.Id
  75. if len(t.T_order_date) > 10 {
  76. r.T_order_date = t.T_order_date[:10]
  77. }
  78. if len(t.T_repair_date) > 10 {
  79. r.T_repair_date = t.T_repair_date[:10]
  80. }
  81. if len(t.T_finish_date) > 10 {
  82. r.T_finish_date = t.T_finish_date[:10]
  83. }
  84. r.T_state = t.T_state
  85. r.T_product = t.T_product
  86. r.T_model = t.T_model
  87. r.T_repair_num = t.T_repair_num
  88. r.T_source = t.T_source
  89. r.T_repair_reason = t.T_repair_reason
  90. r.T_picture = t.T_picture
  91. r.T_receive_name = Account.Read_User_T_name_Get(t.T_receive)
  92. r.T_delivery_name = Account.Read_User_T_name_Get(t.T_delivery)
  93. r.T_return_name = Account.Read_User_T_name_Get(t.T_return)
  94. r.T_return_date = t.T_return_date
  95. r.T_return_product = t.T_return_product
  96. r.T_return_model = t.T_return_model
  97. r.T_return_num = t.T_return_num
  98. r.T_staging_num = t.T_staging_num
  99. r.T_scrap_num = t.T_scrap_num
  100. r.T_malfunction_reason = t.T_malfunction_reason
  101. r.T_remark = t.T_remark
  102. r.T_sn = t.T_sn
  103. return r
  104. }
  105. // 获取 ById
  106. func Read_RepairWorkOrder_ById(Id int) (r RepairWorkOrder, err error) {
  107. o := orm.NewOrm()
  108. qs := o.QueryTable(new(RepairWorkOrder))
  109. err = qs.Filter("Id", Id).Filter("T_state__gt", 0).One(&r)
  110. if err != nil {
  111. logs.Error(lib.FuncName(), err)
  112. }
  113. return
  114. }
  115. // 获取列表
  116. func Read_RepairWorkOrder_List(T_state int, T_name string, page, page_z int) (r_ []RepairWorkOrder_R, cnt int64) {
  117. o := orm.NewOrm()
  118. // 也可以直接使用 Model 结构体作为表名
  119. qs := o.QueryTable(new(RepairWorkOrder))
  120. var offset int64
  121. if page <= 1 {
  122. offset = 0
  123. } else {
  124. offset = int64((page - 1) * page_z)
  125. }
  126. // 过滤
  127. cond := orm.NewCondition()
  128. cond = cond.And("T_state__gt", 0)
  129. if T_state > 0 {
  130. cond = cond.And("T_state", T_state)
  131. }
  132. if len(T_name) > 0 {
  133. cond = cond.AndCond(cond.Or("T_product__icontains", T_name).Or("T_model__icontains", T_name))
  134. }
  135. // 查询
  136. var r []RepairWorkOrder
  137. _, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond)).OrderBy("T_state").All(&r)
  138. if err != nil {
  139. logs.Error(lib.FuncName(), err)
  140. return
  141. }
  142. cnt, err = qs.SetCond((*orm2.Condition)(cond)).Count()
  143. if err != nil {
  144. logs.Error(lib.FuncName(), err)
  145. return
  146. }
  147. for _, v := range r {
  148. r_ = append(r_, RepairWorkOrderToRepairWorkOrder_R(v))
  149. }
  150. return r_, cnt
  151. }
  152. func Read_RepairWorkOrder_user_List(T_uuid string, T_state int, T_name string, page, page_z int) (r_ []RepairWorkOrder_R, cnt int64) {
  153. o := orm.NewOrm()
  154. // 也可以直接使用 Model 结构体作为表名
  155. qs := o.QueryTable(new(RepairWorkOrder))
  156. var offset int64
  157. if page <= 1 {
  158. offset = 0
  159. } else {
  160. offset = int64((page - 1) * page_z)
  161. }
  162. // 过滤
  163. cond := orm.NewCondition()
  164. cond = cond.And("T_state__gt", 0)
  165. cond = cond.And("T_receive", T_uuid)
  166. if T_state > 0 {
  167. cond = cond.And("T_state", T_state)
  168. }
  169. if len(T_name) > 0 {
  170. cond = cond.And("T_name__icontains", T_name)
  171. }
  172. // 查询
  173. var r []RepairWorkOrder
  174. _, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond)).OrderBy("T_state").All(&r)
  175. if err != nil {
  176. logs.Error(lib.FuncName(), err)
  177. return
  178. }
  179. cnt, err = qs.SetCond((*orm2.Condition)(cond)).Count()
  180. if err != nil {
  181. logs.Error(lib.FuncName(), err)
  182. return
  183. }
  184. for _, v := range r {
  185. r_ = append(r_, RepairWorkOrderToRepairWorkOrder_R(v))
  186. }
  187. return r_, cnt
  188. }
  189. // 修改
  190. func Update_RepairWorkOrder(m RepairWorkOrder, cols ...string) error {
  191. o := orm.NewOrm()
  192. _, err := o.Update(&m, cols...)
  193. if err != nil {
  194. logs.Error(lib.FuncName(), err)
  195. return err
  196. }
  197. return nil
  198. }
  199. // 删除
  200. func Delete_RepairWorkOrder(v RepairWorkOrder) error {
  201. o := orm.NewOrm()
  202. v.T_state = 0
  203. _, err := o.Update(&v, "T_state")
  204. if err != nil {
  205. logs.Error(lib.FuncName(), err)
  206. }
  207. return err
  208. }
  209. // 添加
  210. func Add_RepairWorkOrder(r RepairWorkOrder) (id int64, err error) {
  211. o := orm.NewOrm()
  212. id, err = o.Insert(&r)
  213. if err != nil {
  214. logs.Error(lib.FuncName(), err)
  215. }
  216. return id, err
  217. }