Task.go 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357
  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_UserTask_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_collection := c.GetString("T_collection")
  118. T_reporting := c.GetString("T_reporting")
  119. T_delivery := c.GetString("T_delivery")
  120. var_ := Task.Task{
  121. T_uuid: T_uuid,
  122. T_name: T_name,
  123. T_VerifyTemplate_id: T_VerifyTemplate_id,
  124. T_deadline: T_deadline,
  125. T_collection: T_collection,
  126. T_reporting: T_reporting,
  127. T_delivery: T_delivery,
  128. T_Show: 1,
  129. T_State: 1,
  130. }
  131. T_task_id, is := Task.Add_Task(var_)
  132. if !is {
  133. c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败!"}
  134. c.ServeJSON()
  135. return
  136. }
  137. // 添加任务操作日志
  138. Task.Add_TaskLogs_T(User_r.T_uuid, T_task_id, "任务管理", "添加", var_)
  139. System.Add_UserLogs_T(User_r.T_uuid, "任务管理", "添加", var_)
  140. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: T_task_id}
  141. c.ServeJSON()
  142. return
  143. }
  144. // 修改-
  145. func (c *TaskController) Up() {
  146. // 验证登录 User_is, User_r
  147. User_r, User_is := lib.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  148. if !User_is {
  149. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  150. c.ServeJSON()
  151. return
  152. }
  153. T_name := c.GetString("T_name")
  154. T_Show, T_Show_err := c.GetInt("T_Show")
  155. T_VerifyTemplate_id := c.GetString("T_VerifyTemplate_id")
  156. T_deadline := c.GetString("T_deadline")
  157. T_collection := c.GetString("T_collection")
  158. T_collection_state, T_collection_err := c.GetInt("T_collection_state")
  159. T_reporting := c.GetString("T_reporting")
  160. T_reporting_state, T_reporting_err := c.GetInt("T_reporting_state")
  161. T_delivery := c.GetString("T_delivery")
  162. T_delivery_state, T_delivery_err := c.GetInt("T_delivery_state")
  163. T_doc1 := c.GetString("T_doc1")
  164. T_pdf1 := c.GetString("T_pdf1")
  165. T_doc2 := c.GetString("T_doc2")
  166. T_pdf2 := c.GetString("T_pdf2")
  167. T_doc3 := c.GetString("T_doc3")
  168. T_pdf3 := c.GetString("T_pdf3")
  169. T_task_id := c.GetString("T_task_id")
  170. r, is := Task.Read_Task(T_task_id)
  171. if !is {
  172. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  173. c.ServeJSON()
  174. return
  175. }
  176. // .......
  177. clos := make([]string, 0)
  178. if len(T_name) > 0 {
  179. r.T_name = T_name
  180. clos = append(clos, "T_name")
  181. }
  182. if T_Show_err == nil {
  183. r.T_Show = T_Show
  184. clos = append(clos, "T_Show")
  185. }
  186. if len(T_VerifyTemplate_id) > 0 {
  187. r.T_VerifyTemplate_id = T_VerifyTemplate_id
  188. clos = append(clos, "T_VerifyTemplate_id")
  189. }
  190. if len(T_deadline) > 0 {
  191. r.T_deadline = T_deadline
  192. clos = append(clos, "T_deadline")
  193. }
  194. if len(T_collection) > 0 {
  195. r.T_collection = T_collection
  196. clos = append(clos, "T_collection")
  197. }
  198. if len(T_reporting) > 0 {
  199. r.T_reporting = T_reporting
  200. clos = append(clos, "T_reporting")
  201. }
  202. if len(T_delivery) > 0 {
  203. r.T_delivery = T_delivery
  204. clos = append(clos, "T_delivery")
  205. }
  206. if T_collection_err == nil {
  207. r.T_collection_state = T_collection_state
  208. clos = append(clos, "T_collection_state")
  209. }
  210. if T_reporting_err == nil {
  211. r.T_reporting_state = T_reporting_state
  212. clos = append(clos, "T_reporting_state")
  213. }
  214. if T_delivery_err == nil {
  215. r.T_delivery_state = T_delivery_state
  216. clos = append(clos, "T_delivery_state")
  217. }
  218. if len(T_doc1) > 0 {
  219. r.T_doc1 = T_doc1
  220. clos = append(clos, "T_doc1")
  221. }
  222. if len(T_pdf1) > 0 {
  223. r.T_pdf1 = T_pdf1
  224. clos = append(clos, "T_pdf1")
  225. }
  226. if len(T_doc2) > 0 {
  227. r.T_doc2 = T_doc2
  228. clos = append(clos, "T_doc2")
  229. }
  230. // 验证报告内容T_pdf2 ,上传后将 当前任务 报告编写 标志 为 1
  231. if len(T_pdf2) > 0 {
  232. r.T_pdf2 = T_pdf2
  233. clos = append(clos, "T_pdf2")
  234. r.T_reporting_state = 1
  235. clos = append(clos, "T_reporting_state")
  236. }
  237. if len(T_doc3) > 0 {
  238. r.T_doc3 = T_doc3
  239. clos = append(clos, "T_doc3")
  240. }
  241. if len(T_pdf3) > 0 {
  242. r.T_pdf3 = T_pdf3
  243. clos = append(clos, "T_pdf3")
  244. }
  245. // .......
  246. // "T_name", "T_Show", "T_VerifyTemplate_id", "T_deadline",
  247. // "T_collection", "T_reporting", "T_delivery",
  248. // "T_collection_state", "T_reporting_state", "T_delivery_state",
  249. // "T_doc1", "T_pdf1", "T_doc2", "T_pdf2", "T_doc3", "T_pdf3"
  250. if !Task.Update_Task(r, clos...) {
  251. c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改失败!"}
  252. c.ServeJSON()
  253. return
  254. }
  255. // 添加任务操作日志
  256. Task.Add_TaskLogs_T(User_r.T_uuid, T_task_id, "任务管理", "修改", r)
  257. System.Add_UserLogs_T(User_r.T_uuid, "任务管理", "修改", r)
  258. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  259. c.ServeJSON()
  260. return
  261. }
  262. // 删除-
  263. func (c *TaskController) Del() {
  264. // 验证登录 User_is, User_r
  265. User_r, User_is := lib.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  266. if !User_is {
  267. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  268. c.ServeJSON()
  269. return
  270. }
  271. T_task_id := c.GetString("T_task_id")
  272. if r, is := Task.Read_Task(T_task_id); is {
  273. if !Task.Delete_Task(r) {
  274. c.Data["json"] = lib.JSONS{Code: 202, Msg: "删除失败!"}
  275. c.ServeJSON()
  276. return
  277. }
  278. // 添加任务操作日志
  279. Task.Add_TaskLogs_T(User_r.T_uuid, T_task_id, "任务管理", "删除", r)
  280. System.Add_UserLogs_T(User_r.T_uuid, "任务管理", "删除", r)
  281. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  282. c.ServeJSON()
  283. return
  284. }
  285. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  286. c.ServeJSON()
  287. return
  288. }
  289. // 列表 -
  290. func (c *TaskController) Logs_List() {
  291. // 验证登录 User_is, User_r
  292. _, User_is := lib.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  293. if !User_is {
  294. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  295. c.ServeJSON()
  296. return
  297. }
  298. var r_jsons lib.R_JSONS
  299. page, _ := c.GetInt("page")
  300. if page < 1 {
  301. page = 1
  302. }
  303. page_z, _ := c.GetInt("page_z")
  304. if page_z < 1 {
  305. page_z = conf.Page_size
  306. }
  307. T_task_id := c.GetString("T_task_id")
  308. //AdminList := Account.Read_Admin_List_ALL()
  309. //AdminMap := Account.AdminListToAdminMap(AdminList)
  310. var cnt int
  311. List, cnt := Task.Read_TaskLogs_List(T_task_id, page, page_z)
  312. page_size := math.Ceil(float64(cnt) / float64(page_z))
  313. r_jsons.List = List
  314. r_jsons.Page = page
  315. r_jsons.Page_size = int(page_size)
  316. r_jsons.Pages = lib.Func_page(int64(page), int64(page_size))
  317. r_jsons.Num = cnt
  318. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  319. c.ServeJSON()
  320. return
  321. }