WorkOrder.go 5.9 KB

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