WorkOrder.go 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. package controllers
  2. import (
  3. "Cold_WorkOrder/Nats"
  4. "Cold_WorkOrder/conf"
  5. "Cold_WorkOrder/lib"
  6. "Cold_WorkOrder/models/Account"
  7. "Cold_WorkOrder/models/WorkOrder"
  8. beego "github.com/beego/beego/v2/server/web"
  9. "math"
  10. )
  11. type WorkOrderController struct {
  12. beego.Controller
  13. }
  14. // 列表 -
  15. func (c *WorkOrderController) List() {
  16. b_, user_r := Nats.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  17. if !b_ {
  18. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  19. c.ServeJSON()
  20. return
  21. }
  22. if user_r.T_pid > 0 {
  23. c.Data["json"] = lib.JSONS{Code: 201, Msg: "无权查看!"}
  24. c.ServeJSON()
  25. return
  26. }
  27. var r_jsons lib.R_JSONS
  28. page, _ := c.GetInt("page")
  29. if page < 1 {
  30. page = 1
  31. }
  32. page_z, _ := c.GetInt("page_z")
  33. if page_z < 1 {
  34. page_z = conf.Page_size
  35. }
  36. Company_name := c.GetString("Company_name")
  37. T_Status, err := c.GetInt("T_Status")
  38. if err != nil {
  39. T_Status = 0
  40. }
  41. var CompanyIds []int
  42. var Company_list []Account.Company
  43. Company_list = Nats.CompanyListAllByT_name(Company_name)
  44. if len(Company_name) > 0 {
  45. for _, v := range Company_list {
  46. CompanyIds = append(CompanyIds, v.Id)
  47. }
  48. }
  49. CompanyMap := Account.CompanyListToMap(Company_list)
  50. AdminMap := Account.AdminListToMap(Nats.UserListAll())
  51. var cnt int64
  52. List, cnt := WorkOrder.Read_WorkOrder_List(T_Status, page, page_z, CompanyIds, CompanyMap, AdminMap)
  53. page_size := math.Ceil(float64(cnt) / float64(page_z))
  54. r_jsons.List = List
  55. r_jsons.Page = page
  56. r_jsons.Page_size = int(page_size)
  57. r_jsons.Pages = lib.Func_page(int64(page), int64(page_size))
  58. r_jsons.Num = int(cnt)
  59. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  60. c.ServeJSON()
  61. return
  62. }
  63. // 列表 -
  64. func (c *WorkOrderController) User_List() {
  65. b_, user_r := Nats.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  66. if !b_ {
  67. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  68. c.ServeJSON()
  69. return
  70. }
  71. var r_jsons lib.R_JSONS
  72. page, _ := c.GetInt("page")
  73. if page < 1 {
  74. page = 1
  75. }
  76. page_z, _ := c.GetInt("page_z")
  77. if page_z < 1 {
  78. page_z = conf.Page_size
  79. }
  80. var cnt int64
  81. List, cnt := WorkOrder.Read_UserWorkOrder_List(user_r.T_uuid, page, page_z)
  82. page_size := math.Ceil(float64(cnt) / float64(page_z))
  83. r_jsons.List = List
  84. r_jsons.Page = page
  85. r_jsons.Page_size = int(page_size)
  86. r_jsons.Pages = lib.Func_page(int64(page), int64(page_size))
  87. r_jsons.Num = int(cnt)
  88. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  89. c.ServeJSON()
  90. return
  91. }
  92. // 标签修改-
  93. func (c *WorkOrderController) Get() {
  94. b_, _ := Nats.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  95. if !b_ {
  96. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  97. c.ServeJSON()
  98. return
  99. }
  100. Id, err := c.GetInt("Id")
  101. if err != nil || Id == 0 {
  102. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  103. c.ServeJSON()
  104. return
  105. }
  106. r, err := WorkOrder.Read_WorkOrder_ById(Id)
  107. if err != nil {
  108. c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败!"}
  109. c.ServeJSON()
  110. return
  111. }
  112. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r}
  113. c.ServeJSON()
  114. return
  115. }
  116. // 添加-
  117. func (c *WorkOrderController) Add() {
  118. b_, user_r := Nats.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  119. if !b_ {
  120. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  121. c.ServeJSON()
  122. return
  123. }
  124. T_title := c.GetString("T_title")
  125. T_text := c.GetString("T_text")
  126. var_ := WorkOrder.WorkOrder{
  127. T_uuid: user_r.T_uuid,
  128. T_Company_Id: user_r.T_pid,
  129. T_title: T_title,
  130. T_text: T_text,
  131. T_Status: 1, // 状态 1 未解决 2 已解决
  132. T_State: 1,
  133. }
  134. Id, err := WorkOrder.Add_WorkOrder(var_)
  135. if err != nil {
  136. c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败!"}
  137. c.ServeJSON()
  138. return
  139. }
  140. Nats.AddUserLogs(user_r.T_uuid, "工单系统", "添加", var_)
  141. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Id}
  142. c.ServeJSON()
  143. return
  144. }
  145. // 标签修改-
  146. func (c *WorkOrderController) Up() {
  147. b_, user_r := Nats.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  148. if !b_ {
  149. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  150. c.ServeJSON()
  151. return
  152. }
  153. Id, err := c.GetInt("Id")
  154. if err != nil || Id == 0 {
  155. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  156. c.ServeJSON()
  157. return
  158. }
  159. T_title := c.GetString("T_title")
  160. T_text := c.GetString("T_text")
  161. T_Status, T_Status_err := c.GetInt("T_Status")
  162. r, err := WorkOrder.Read_WorkOrder_ById(Id)
  163. if err != nil {
  164. c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败!"}
  165. c.ServeJSON()
  166. return
  167. }
  168. // .......
  169. if len(T_title) > 0 {
  170. r.T_title = T_title
  171. }
  172. if len(T_text) > 0 {
  173. r.T_text = T_text
  174. }
  175. if T_Status_err == nil {
  176. r.T_Status = T_Status
  177. }
  178. // .......
  179. if !WorkOrder.Update_WorkOrder(r, "T_title", "T_text", "T_Status") {
  180. c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改失败!"}
  181. c.ServeJSON()
  182. return
  183. }
  184. Nats.AddUserLogs(user_r.T_uuid, "工单系统", "修改", r)
  185. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  186. c.ServeJSON()
  187. return
  188. }
  189. // 标签删除-
  190. func (c *WorkOrderController) Del() {
  191. b_, user_r := Nats.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  192. if !b_ {
  193. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  194. c.ServeJSON()
  195. return
  196. }
  197. Id, err := c.GetInt("Id")
  198. if err != nil || Id == 0 {
  199. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  200. c.ServeJSON()
  201. return
  202. }
  203. r, err := WorkOrder.Read_WorkOrder_ById(Id)
  204. if err != nil {
  205. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  206. c.ServeJSON()
  207. return
  208. }
  209. if err := WorkOrder.Delete_WorkOrder(r); err != nil {
  210. c.Data["json"] = lib.JSONS{Code: 202, Msg: "删除失败!"}
  211. c.ServeJSON()
  212. return
  213. }
  214. Nats.AddUserLogs(user_r.T_uuid, "工单系统", "删除", r)
  215. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  216. c.ServeJSON()
  217. return
  218. }