Task.go 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385
  1. package controllers
  2. import (
  3. "ColdVerify_server/conf"
  4. "ColdVerify_server/lib"
  5. "ColdVerify_server/models/Account"
  6. "ColdVerify_server/models/Device"
  7. "ColdVerify_server/models/System"
  8. "ColdVerify_server/models/Task"
  9. beego "github.com/beego/beego/v2/server/web"
  10. "math"
  11. )
  12. type TaskController struct {
  13. beego.Controller
  14. }
  15. // 列表 -
  16. func (c *TaskController) List() {
  17. // 验证登录 User_is, User_r
  18. _, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  19. if !User_is {
  20. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  21. c.ServeJSON()
  22. return
  23. }
  24. var r_jsons lib.R_JSONS
  25. page, _ := c.GetInt("page")
  26. if page < 1 {
  27. page = 1
  28. }
  29. page_z, _ := c.GetInt("page_z")
  30. if page_z < 1 {
  31. page_z = conf.Page_size
  32. }
  33. T_name := c.GetString("T_name")
  34. T_uuid := c.GetString("T_uuid")
  35. UserMap := Account.UserListToMap(Account.Read_User_List_ALL_1())
  36. AdminMap := Account.AdminListToMap(Account.Read_Admin_List_ALL_1())
  37. var cnt int
  38. List, cnt := Task.Read_Task_List(T_uuid, T_name, UserMap, AdminMap, page, page_z)
  39. page_size := math.Ceil(float64(cnt) / float64(page_z))
  40. r_jsons.List = List
  41. r_jsons.Page = page
  42. r_jsons.Page_size = int(page_size)
  43. r_jsons.Pages = lib.Func_page(int64(page), int64(page_size))
  44. r_jsons.Num = cnt
  45. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  46. c.ServeJSON()
  47. return
  48. }
  49. // 列表 -
  50. func (c *TaskController) UserTaskList() {
  51. // 验证登录 User_is, User_r
  52. User_r, User_is := Account.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  53. if !User_is {
  54. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  55. c.ServeJSON()
  56. return
  57. }
  58. var r_jsons lib.R_JSONS
  59. page, _ := c.GetInt("page")
  60. if page < 1 {
  61. page = 1
  62. }
  63. page_z, _ := c.GetInt("page_z")
  64. if page_z < 1 {
  65. page_z = conf.Page_size
  66. }
  67. T_name := c.GetString("T_name")
  68. UserMap := Account.UserListToMap(Account.Read_User_List_ALL_1())
  69. AdminMap := Account.AdminListToMap(Account.Read_Admin_List_ALL_1())
  70. var cnt int
  71. List, cnt := Task.Read_UserTask_List(User_r.T_uuid, T_name, UserMap, AdminMap, page, page_z)
  72. page_size := math.Ceil(float64(cnt) / float64(page_z))
  73. r_jsons.List = List
  74. r_jsons.Page = page
  75. r_jsons.Page_size = int(page_size)
  76. r_jsons.Pages = lib.Func_page(int64(page), int64(page_size))
  77. r_jsons.Num = cnt
  78. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  79. c.ServeJSON()
  80. return
  81. }
  82. // 获取-
  83. func (c *TaskController) Get() {
  84. // 验证登录 User_is, User_r
  85. _, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  86. if !User_is {
  87. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  88. c.ServeJSON()
  89. return
  90. }
  91. T_task_id := c.GetString("T_task_id")
  92. r, is := Task.Read_Task(T_task_id)
  93. if !is {
  94. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  95. c.ServeJSON()
  96. return
  97. }
  98. // 添加浏览量
  99. _ = Task.Add_Task_Visit(r)
  100. r.T_Visit += 1
  101. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Task.TaskToTask_R(r)}
  102. c.ServeJSON()
  103. return
  104. }
  105. // 添加-
  106. func (c *TaskController) Add() {
  107. // 验证登录 User_is, User_r
  108. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  109. if !User_is {
  110. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  111. c.ServeJSON()
  112. return
  113. }
  114. dc := Device.DeviceClass{
  115. T_uuid: User_r.T_uuid,
  116. T_State: 1,
  117. }
  118. T_class_id, is := Device.Add_DeviceClass(dc)
  119. if !is {
  120. c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加分类失败!"}
  121. c.ServeJSON()
  122. return
  123. }
  124. System.Add_UserLogs_T(User_r.T_uuid, "分类管理", "添加", dc)
  125. T_name := c.GetString("T_name")
  126. T_uuid := c.GetString("T_uuid") // 用户uuid
  127. T_VerifyTemplate_id := c.GetString("T_VerifyTemplate_id")
  128. T_deadline := c.GetString("T_deadline")
  129. T_scheme := c.GetString("T_scheme")
  130. T_collection := c.GetString("T_collection")
  131. T_reporting := c.GetString("T_reporting")
  132. T_delivery := c.GetString("T_delivery")
  133. var_ := Task.Task{
  134. T_class: int(T_class_id),
  135. T_uuid: T_uuid,
  136. T_name: T_name,
  137. T_VerifyTemplate_id: T_VerifyTemplate_id,
  138. T_deadline: T_deadline,
  139. T_scheme: T_scheme,
  140. T_collection: T_collection,
  141. T_reporting: T_reporting,
  142. T_delivery: T_delivery,
  143. T_Show: 1,
  144. T_State: 1,
  145. }
  146. T_task_id, is := Task.Add_Task(var_)
  147. if !is {
  148. c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败!"}
  149. c.ServeJSON()
  150. return
  151. }
  152. // 添加任务操作日志
  153. Task.Add_TaskLogs_T(User_r.T_uuid, T_task_id, "任务管理", "添加", var_)
  154. System.Add_UserLogs_T(User_r.T_uuid, "任务管理", "添加", var_)
  155. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: T_task_id}
  156. c.ServeJSON()
  157. return
  158. }
  159. // 修改-
  160. func (c *TaskController) Up() {
  161. // 验证登录 User_is, User_r
  162. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  163. if !User_is {
  164. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  165. c.ServeJSON()
  166. return
  167. }
  168. T_name := c.GetString("T_name")
  169. T_Show, T_Show_err := c.GetInt("T_Show")
  170. T_VerifyTemplate_id := c.GetString("T_VerifyTemplate_id")
  171. T_deadline := c.GetString("T_deadline")
  172. T_scheme := c.GetString("T_scheme")
  173. T_collection := c.GetString("T_collection")
  174. T_reporting := c.GetString("T_reporting")
  175. T_delivery := c.GetString("T_delivery")
  176. //T_scheme_state, T_scheme_err := c.GetInt("T_scheme_state")
  177. //T_collection_state, T_collection_err := c.GetInt("T_collection_state")
  178. //T_reporting_state, T_reporting_err := c.GetInt("T_reporting_state")
  179. //T_delivery_state, T_delivery_err := c.GetInt("T_delivery_state")
  180. T_doc1 := c.GetString("T_doc1")
  181. T_pdf1 := c.GetString("T_pdf1")
  182. T_doc2 := c.GetString("T_doc2")
  183. T_pdf2 := c.GetString("T_pdf2")
  184. T_doc3 := c.GetString("T_doc3")
  185. T_pdf3 := c.GetString("T_pdf3")
  186. T_task_id := c.GetString("T_task_id")
  187. r, is := Task.Read_Task(T_task_id)
  188. if !is {
  189. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  190. c.ServeJSON()
  191. return
  192. }
  193. // .......
  194. clos := make([]string, 0)
  195. if len(T_name) > 0 {
  196. r.T_name = T_name
  197. clos = append(clos, "T_name")
  198. }
  199. if T_Show_err == nil {
  200. r.T_Show = T_Show
  201. clos = append(clos, "T_Show")
  202. }
  203. if len(T_VerifyTemplate_id) > 0 {
  204. r.T_VerifyTemplate_id = T_VerifyTemplate_id
  205. clos = append(clos, "T_VerifyTemplate_id")
  206. }
  207. if len(T_deadline) > 0 {
  208. r.T_deadline = T_deadline
  209. clos = append(clos, "T_deadline")
  210. }
  211. if len(T_scheme) > 0 {
  212. r.T_scheme = T_scheme
  213. clos = append(clos, "T_scheme")
  214. }
  215. if len(T_collection) > 0 {
  216. r.T_collection = T_collection
  217. clos = append(clos, "T_collection")
  218. }
  219. if len(T_reporting) > 0 {
  220. r.T_reporting = T_reporting
  221. clos = append(clos, "T_reporting")
  222. }
  223. if len(T_delivery) > 0 {
  224. r.T_delivery = T_delivery
  225. clos = append(clos, "T_delivery")
  226. }
  227. //if T_scheme_err == nil {
  228. // r.T_scheme_state = T_scheme_state
  229. // clos = append(clos, "T_scheme_state")
  230. //}
  231. //if T_collection_err == nil {
  232. // r.T_collection_state = T_collection_state
  233. // clos = append(clos, "T_collection_state")
  234. //}
  235. //if T_reporting_err == nil {
  236. // r.T_reporting_state = T_reporting_state
  237. // clos = append(clos, "T_reporting_state")
  238. //}
  239. //if T_delivery_err == nil {
  240. // r.T_delivery_state = T_delivery_state
  241. // clos = append(clos, "T_delivery_state")
  242. //}
  243. if len(T_doc1) > 0 {
  244. r.T_doc1 = T_doc1
  245. clos = append(clos, "T_doc1")
  246. }
  247. // 验证报告内容T_pdf1 ,上传后将 当前任务 实施方案 标志 为 1
  248. if len(T_pdf1) > 0 {
  249. r.T_pdf1 = T_pdf1
  250. clos = append(clos, "T_pdf1")
  251. r.T_scheme_state = 1
  252. clos = append(clos, "T_scheme_state")
  253. }
  254. if len(T_doc2) > 0 {
  255. r.T_doc2 = T_doc2
  256. clos = append(clos, "T_doc2")
  257. }
  258. // 验证报告内容T_pdf2 ,上传后将 当前任务 报告编写 标志 为 1
  259. if len(T_pdf2) > 0 {
  260. r.T_pdf2 = T_pdf2
  261. clos = append(clos, "T_pdf2")
  262. r.T_reporting_state = 1
  263. clos = append(clos, "T_reporting_state")
  264. }
  265. if len(T_doc3) > 0 {
  266. r.T_doc3 = T_doc3
  267. clos = append(clos, "T_doc3")
  268. }
  269. if len(T_pdf3) > 0 {
  270. r.T_pdf3 = T_pdf3
  271. clos = append(clos, "T_pdf3")
  272. }
  273. // .......
  274. // "T_name", "T_Show", "T_VerifyTemplate_id", "T_deadline",
  275. // "T_collection", "T_reporting", "T_delivery",
  276. // "T_collection_state", "T_reporting_state", "T_delivery_state",
  277. // "T_doc1", "T_pdf1", "T_doc2", "T_pdf2", "T_doc3", "T_pdf3"
  278. if !Task.Update_Task(r, clos...) {
  279. c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改失败!"}
  280. c.ServeJSON()
  281. return
  282. }
  283. // 添加任务操作日志
  284. Task.Add_TaskLogs_T(User_r.T_uuid, T_task_id, "任务管理", "修改", r)
  285. System.Add_UserLogs_T(User_r.T_uuid, "任务管理", "修改", r)
  286. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  287. c.ServeJSON()
  288. return
  289. }
  290. // 删除-
  291. func (c *TaskController) Del() {
  292. // 验证登录 User_is, User_r
  293. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  294. if !User_is {
  295. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  296. c.ServeJSON()
  297. return
  298. }
  299. T_task_id := c.GetString("T_task_id")
  300. if r, is := Task.Read_Task(T_task_id); is {
  301. if !Task.Delete_Task(r) {
  302. c.Data["json"] = lib.JSONS{Code: 202, Msg: "删除失败!"}
  303. c.ServeJSON()
  304. return
  305. }
  306. // 添加任务操作日志
  307. Task.Add_TaskLogs_T(User_r.T_uuid, T_task_id, "任务管理", "删除", r)
  308. System.Add_UserLogs_T(User_r.T_uuid, "任务管理", "删除", r)
  309. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  310. c.ServeJSON()
  311. return
  312. }
  313. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  314. c.ServeJSON()
  315. return
  316. }
  317. // 列表 -
  318. func (c *TaskController) Logs_List() {
  319. // 验证登录 User_is, User_r
  320. _, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  321. if !User_is {
  322. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  323. c.ServeJSON()
  324. return
  325. }
  326. var r_jsons lib.R_JSONS
  327. page, _ := c.GetInt("page")
  328. if page < 1 {
  329. page = 1
  330. }
  331. page_z, _ := c.GetInt("page_z")
  332. if page_z < 1 {
  333. page_z = conf.Page_size
  334. }
  335. T_task_id := c.GetString("T_task_id")
  336. AdminMap := Account.AdminListToMap(Account.Read_Admin_List_ALL_1())
  337. var cnt int
  338. List, cnt := Task.Read_TaskLogs_List(T_task_id, AdminMap, page, page_z)
  339. page_size := math.Ceil(float64(cnt) / float64(page_z))
  340. r_jsons.List = List
  341. r_jsons.Page = page
  342. r_jsons.Page_size = int(page_size)
  343. r_jsons.Pages = lib.Func_page(int64(page), int64(page_size))
  344. r_jsons.Num = cnt
  345. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  346. c.ServeJSON()
  347. return
  348. }