WorkOrder.go 4.7 KB

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