WorkOrder.go 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  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. if Account.User_r.T_pid > 0 {
  17. c.Data["json"] = lib.JSONS{Code: 201, Msg: "无权查看!"}
  18. c.ServeJSON()
  19. return
  20. }
  21. var r_jsons lib.R_JSONS
  22. page, _ := c.GetInt("page")
  23. if page < 1 {
  24. page = 1
  25. }
  26. page_z, _ := c.GetInt("page_z")
  27. if page_z < 1 {
  28. page_z = conf.Page_size
  29. }
  30. Company_name := c.GetString("Company_name")
  31. T_handle, _ := c.GetInt("T_handle")
  32. var CompanyIds []int
  33. var Company_list []Account.Company
  34. Company_list = Nats.CompanyListAllByT_name(Company_name)
  35. if len(Company_name) > 0 {
  36. for _, v := range Company_list {
  37. CompanyIds = append(CompanyIds, v.Id)
  38. }
  39. }
  40. Account.AdminListToMap(Nats.UserListAll())
  41. var cnt int64
  42. List, cnt := WorkOrder.Read_WorkOrder_List(T_handle, page, page_z, CompanyIds)
  43. page_size := math.Ceil(float64(cnt) / float64(page_z))
  44. r_jsons.List = List
  45. r_jsons.Page = page
  46. r_jsons.Page_size = int(page_size)
  47. r_jsons.Pages = lib.Func_page(int64(page), int64(page_size))
  48. r_jsons.Num = int(cnt)
  49. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  50. c.ServeJSON()
  51. return
  52. }
  53. // 列表 -
  54. func (c *WorkOrderController) User_List() {
  55. var r_jsons lib.R_JSONS
  56. page, _ := c.GetInt("page")
  57. if page < 1 {
  58. page = 1
  59. }
  60. page_z, _ := c.GetInt("page_z")
  61. if page_z < 1 {
  62. page_z = conf.Page_size
  63. }
  64. var cnt int64
  65. List, cnt := WorkOrder.Read_UserWorkOrder_List(Account.User_r.T_uuid, page, page_z)
  66. page_size := math.Ceil(float64(cnt) / float64(page_z))
  67. r_jsons.List = List
  68. r_jsons.Page = page
  69. r_jsons.Page_size = int(page_size)
  70. r_jsons.Pages = lib.Func_page(int64(page), int64(page_size))
  71. r_jsons.Num = int(cnt)
  72. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  73. c.ServeJSON()
  74. return
  75. }
  76. // 标签修改-
  77. func (c *WorkOrderController) Get() {
  78. Id, err := c.GetInt("Id")
  79. if err != nil || Id == 0 {
  80. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  81. c.ServeJSON()
  82. return
  83. }
  84. r, err := WorkOrder.Read_WorkOrder_ById(Id)
  85. if err != nil {
  86. c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败!"}
  87. c.ServeJSON()
  88. return
  89. }
  90. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r}
  91. c.ServeJSON()
  92. return
  93. }
  94. // 添加-
  95. func (c *WorkOrderController) Add() {
  96. user_r := Account.User_r
  97. T_title := c.GetString("T_title")
  98. T_text := c.GetString("T_text")
  99. var_ := WorkOrder.WorkOrder{
  100. T_uuid: user_r.T_uuid,
  101. T_pid: user_r.T_pid,
  102. T_title: T_title,
  103. T_text: T_text,
  104. T_State: 2, // 1 已解决 2 未解决
  105. }
  106. Id, err := WorkOrder.Add_WorkOrder(var_)
  107. if err != nil {
  108. c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败!"}
  109. c.ServeJSON()
  110. return
  111. }
  112. Nats.AddUserLogs(user_r.T_uuid, "工单系统", "添加", var_)
  113. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Id}
  114. c.ServeJSON()
  115. return
  116. }
  117. // 标签修改-
  118. func (c *WorkOrderController) Up() {
  119. Id, err := c.GetInt("Id")
  120. if err != nil || Id == 0 {
  121. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  122. c.ServeJSON()
  123. return
  124. }
  125. T_title := c.GetString("T_title")
  126. T_text := c.GetString("T_text")
  127. T_handle, T_handle_err := c.GetInt("T_handle")
  128. r, err := WorkOrder.Read_WorkOrder_ById(Id)
  129. if err != nil {
  130. c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败!"}
  131. c.ServeJSON()
  132. return
  133. }
  134. // .......
  135. if len(T_title) > 0 {
  136. r.T_title = T_title
  137. }
  138. if len(T_text) > 0 {
  139. r.T_text = T_text
  140. }
  141. if T_handle_err == nil {
  142. r.T_State = T_handle
  143. }
  144. // .......
  145. if !WorkOrder.Update_WorkOrder(r, "T_title", "T_text", "T_State") {
  146. c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改失败!"}
  147. c.ServeJSON()
  148. return
  149. }
  150. Nats.AddUserLogs(Account.User_r.T_uuid, "工单系统", "修改", r)
  151. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  152. c.ServeJSON()
  153. return
  154. }
  155. // 标签删除-
  156. func (c *WorkOrderController) Del() {
  157. Id, err := c.GetInt("Id")
  158. if err != nil || Id == 0 {
  159. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  160. c.ServeJSON()
  161. return
  162. }
  163. r, err := WorkOrder.Read_WorkOrder_ById(Id)
  164. if err != nil {
  165. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  166. c.ServeJSON()
  167. return
  168. }
  169. if err = WorkOrder.Delete_WorkOrder(r); err != nil {
  170. c.Data["json"] = lib.JSONS{Code: 202, Msg: "删除失败!"}
  171. c.ServeJSON()
  172. return
  173. }
  174. Nats.AddUserLogs(Account.User_r.T_uuid, "工单系统", "删除", r)
  175. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  176. c.ServeJSON()
  177. return
  178. }