WorkOrder.go 4.9 KB

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