Task.go 9.9 KB

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