VerifyTemplate.go 30 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102
  1. package controllers
  2. import (
  3. "ColdVerify_server/conf"
  4. "ColdVerify_server/lib"
  5. "ColdVerify_server/logs"
  6. "ColdVerify_server/models/Account"
  7. "ColdVerify_server/models/System"
  8. "ColdVerify_server/models/Task"
  9. "ColdVerify_server/models/VerifyTemplate"
  10. "encoding/json"
  11. "fmt"
  12. beego "github.com/beego/beego/v2/server/web"
  13. "math"
  14. "strconv"
  15. "strings"
  16. )
  17. type VerifyTemplateController struct {
  18. beego.Controller
  19. User_r Account.Admin // 登陆的用户
  20. }
  21. func (c *VerifyTemplateController) Prepare() {
  22. GetCookie := c.Ctx.GetCookie("User_tokey")
  23. GetString := c.GetString("User_tokey")
  24. fmt.Println(c.Ctx.Request.URL.Path)
  25. if strings.Contains(c.Ctx.Request.URL.Path, "/VerifyTemplateMapData/Pu") {
  26. return
  27. }
  28. // 验证登录 User_is, User_r
  29. User_r, User_is := Account.Verification_Admin(GetCookie, GetString)
  30. if !User_is {
  31. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  32. c.ServeJSON()
  33. return
  34. }
  35. // 经销商只能访问列表接口,不能操作
  36. //if len(User_r.T_Distributor_id) > 0 {
  37. // checkUrl := []string{"Add", "Up", "Del"}
  38. // for _, v := range checkUrl {
  39. // if strings.Contains(c.Ctx.Request.URL.Path, v) {
  40. // c.Data["json"] = lib.JSONS{Code: 202, Msg: "没有操作权限!"}
  41. // c.ServeJSON()
  42. // return
  43. // }
  44. // }
  45. //}
  46. c.User_r = User_r
  47. }
  48. // 列表 -
  49. func (c *VerifyTemplateController) List() {
  50. // 验证登录 User_is, User_r
  51. _, User_is := Account.Verification_Admin(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_class, _ := c.GetInt("T_class")
  67. if T_class <= 0 {
  68. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_class Err!"}
  69. c.ServeJSON()
  70. return
  71. }
  72. T_name := c.GetString("T_name")
  73. var cnt int64
  74. List, cnt := VerifyTemplate.Read_VerifyTemplate_List(T_class, T_name, page, page_z)
  75. page_size := math.Ceil(float64(cnt) / float64(page_z))
  76. r_jsons.List = List
  77. r_jsons.Page = page
  78. r_jsons.Page_size = int(page_size)
  79. r_jsons.Pages = lib.Func_page(int64(page), int64(page_size))
  80. r_jsons.Num = int(cnt)
  81. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  82. c.ServeJSON()
  83. return
  84. }
  85. // 添加-
  86. func (c *VerifyTemplateController) Add() {
  87. // 验证登录 User_is, User_r
  88. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  89. if !User_is {
  90. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  91. c.ServeJSON()
  92. return
  93. }
  94. T_name := c.GetString("T_name")
  95. T_sort, _ := c.GetInt("T_sort")
  96. T_class, _ := c.GetInt("T_class")
  97. var_ := VerifyTemplate.VerifyTemplate{
  98. T_class: T_class,
  99. T_name: T_name,
  100. T_sort: T_sort,
  101. }
  102. Id, is := VerifyTemplate.Add_VerifyTemplate(var_)
  103. if !is {
  104. c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败!"}
  105. c.ServeJSON()
  106. return
  107. }
  108. System.Add_UserLogs_T(User_r.T_uuid, "验证模版", "添加", var_)
  109. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Id}
  110. c.ServeJSON()
  111. return
  112. }
  113. // 修改-
  114. func (c *VerifyTemplateController) Up() {
  115. // 验证登录 User_is, User_r
  116. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  117. if !User_is {
  118. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  119. c.ServeJSON()
  120. return
  121. }
  122. T_name := c.GetString("T_name")
  123. T_sort, T_sort_err := c.GetInt("T_sort")
  124. T_VerifyTemplate_id := c.GetString("T_VerifyTemplate_id")
  125. T_scheme := c.GetString("T_scheme")
  126. T_reporting := c.GetString("T_reporting")
  127. T_inspect := c.GetString("T_inspect")
  128. T_marking := c.GetString("T_marking")
  129. T_cover := c.GetString("T_cover")
  130. T_deploy := c.GetString("T_deploy")
  131. r, is := VerifyTemplate.Read_VerifyTemplate(T_VerifyTemplate_id)
  132. if !is {
  133. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  134. c.ServeJSON()
  135. return
  136. }
  137. // .......
  138. if len(T_name) > 0 {
  139. r.T_name = T_name
  140. }
  141. if len(T_scheme) > 0 {
  142. r.T_scheme = T_scheme
  143. }
  144. if len(T_reporting) > 0 {
  145. r.T_reporting = T_reporting
  146. }
  147. if len(T_inspect) > 0 {
  148. r.T_inspect = T_inspect
  149. }
  150. if len(T_marking) > 0 {
  151. r.T_marking = T_marking
  152. }
  153. if len(T_cover) > 0 {
  154. r.T_cover = T_cover
  155. }
  156. if len(T_deploy) > 0 {
  157. var deployList []VerifyTemplate.VerifyTemplateDeploy
  158. // 将 布点1|布点2|布点3| 格式替换为 [{"T_name":"布点1","T_scope":"布点范围1"},{"T_name":"布点2","T_scope":"布点范围2"}]
  159. if strings.Contains(T_deploy, "|") {
  160. deploys := strings.Split(strings.Trim(T_deploy, "|"), "|")
  161. for _, v := range deploys {
  162. deployList = append(deployList, VerifyTemplate.VerifyTemplateDeploy{T_name: v})
  163. }
  164. deploy, err := json.Marshal(deployList)
  165. if err != nil {
  166. logs.Error("JSON 序列化失败:", err)
  167. return
  168. }
  169. T_deploy = string(deploy)
  170. } else {
  171. err := json.Unmarshal([]byte(T_deploy), &deployList)
  172. if err != nil {
  173. logs.Error("JSON 反序列化失败:", err)
  174. return
  175. }
  176. }
  177. r.T_deploy = T_deploy
  178. }
  179. if T_sort_err == nil {
  180. r.T_sort = T_sort
  181. }
  182. // .......
  183. if !VerifyTemplate.Update_VerifyTemplate(r, "T_name", "T_sort", "T_scheme", "T_reporting", "T_inspect", "T_marking", "T_cover", "T_deploy") {
  184. c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改失败!"}
  185. c.ServeJSON()
  186. return
  187. }
  188. System.Add_UserLogs_T(User_r.T_uuid, "验证模版", "修改", r)
  189. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  190. c.ServeJSON()
  191. return
  192. }
  193. // 删除-
  194. func (c *VerifyTemplateController) Del() {
  195. // 验证登录 User_is, User_r
  196. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  197. if !User_is {
  198. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  199. c.ServeJSON()
  200. return
  201. }
  202. T_VerifyTemplate_id := c.GetString("T_VerifyTemplate_id")
  203. r, is := VerifyTemplate.Read_VerifyTemplate(T_VerifyTemplate_id)
  204. if !is {
  205. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  206. c.ServeJSON()
  207. return
  208. }
  209. if !VerifyTemplate.Delete_VerifyTemplate(r) {
  210. c.Data["json"] = lib.JSONS{Code: 202, Msg: "删除失败!"}
  211. c.ServeJSON()
  212. return
  213. }
  214. mapList, _ := VerifyTemplate.Read_VerifyTemplateMap_List(T_VerifyTemplate_id, 0, 0)
  215. for _, v := range mapList {
  216. if vtm, is := VerifyTemplate.Read_VerifyTemplateMap(v.T_id); is {
  217. VerifyTemplate.Delete_VerifyTemplateMap(vtm)
  218. }
  219. }
  220. System.Add_UserLogs_T(User_r.T_uuid, "验证模版", "删除", r)
  221. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  222. c.ServeJSON()
  223. return
  224. }
  225. // 删除-
  226. func (c *VerifyTemplateController) Get() {
  227. // 验证登录 User_is, User_r
  228. _, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  229. if !User_is {
  230. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  231. c.ServeJSON()
  232. return
  233. }
  234. T_VerifyTemplate_id := c.GetString("T_VerifyTemplate_id")
  235. r, is := VerifyTemplate.Read_VerifyTemplate(T_VerifyTemplate_id)
  236. if !is {
  237. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  238. c.ServeJSON()
  239. return
  240. }
  241. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: VerifyTemplate.VerifyTemplateToVerifyTemplate_R(r)}
  242. c.ServeJSON()
  243. return
  244. }
  245. // 复制-
  246. func (c *VerifyTemplateController) Copy() {
  247. // 验证登录 User_is, User_r
  248. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  249. if !User_is {
  250. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  251. c.ServeJSON()
  252. return
  253. }
  254. T_VerifyTemplate_id := c.GetString("T_VerifyTemplate_id")
  255. T_name := c.GetString("T_name")
  256. r, is := VerifyTemplate.Read_VerifyTemplate(T_VerifyTemplate_id)
  257. if !is {
  258. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  259. c.ServeJSON()
  260. return
  261. }
  262. var_ := VerifyTemplate.VerifyTemplate{
  263. T_class: r.T_class,
  264. T_name: T_name,
  265. T_sort: r.T_sort,
  266. T_deploy: r.T_deploy,
  267. }
  268. new_id, is := VerifyTemplate.Add_VerifyTemplate(var_)
  269. if !is {
  270. c.Data["json"] = lib.JSONS{Code: 202, Msg: "复制失败!"}
  271. c.ServeJSON()
  272. return
  273. }
  274. mapList, _ := VerifyTemplate.Read_VerifyTemplateMap_List(T_VerifyTemplate_id, 0, 0)
  275. tempMap := make(map[string]struct{})
  276. idList := make([]string, len(mapList))
  277. // 生成mapList长度的T_id
  278. for i := 0; i < len(mapList); i++ {
  279. // 生成编号
  280. rand_x := 0
  281. T_id := ""
  282. for true {
  283. T_id = lib.GetRandstring(4, "", int64(rand_x))
  284. _, is = VerifyTemplate.Read_VerifyTemplateMap(T_id)
  285. if !is {
  286. if _, ok := tempMap[T_id]; !ok {
  287. break
  288. }
  289. }
  290. rand_x += 1
  291. }
  292. tempMap[T_id] = struct{}{}
  293. idList[i] = T_id
  294. }
  295. mapInsertList := make([]VerifyTemplate.VerifyTemplateMap, 0)
  296. for i, v := range mapList {
  297. vtm := VerifyTemplate.VerifyTemplateMap{
  298. T_id: idList[i],
  299. T_VerifyTemplate_id: new_id,
  300. T_name: v.T_name,
  301. T_text: v.T_text,
  302. T_label: v.T_label,
  303. T_source: v.T_source,
  304. T_sort: v.T_sort,
  305. T_Required: v.T_Required,
  306. T_Construction: v.T_Construction,
  307. T_flow_sort: v.T_flow_sort,
  308. T_max_time: v.T_max_time,
  309. T_min_time: v.T_min_time,
  310. }
  311. mapInsertList = append(mapInsertList, vtm)
  312. }
  313. _, is = VerifyTemplate.Add_VerifyTemplateMapMulti(mapInsertList)
  314. if !is {
  315. c.Data["json"] = lib.JSONS{Code: 202, Msg: "复制失败!"}
  316. c.ServeJSON()
  317. return
  318. }
  319. System.Add_UserLogs_T(User_r.T_uuid, "验证模版", "复制", var_)
  320. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: new_id}
  321. c.ServeJSON()
  322. return
  323. }
  324. /// -----------------------------------------------------------------------------
  325. // 标签列表 -
  326. func (c *VerifyTemplateController) Map_List() {
  327. // 验证登录 User_is, User_r
  328. _, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  329. if !User_is {
  330. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  331. c.ServeJSON()
  332. return
  333. }
  334. var r_jsons lib.R_JSONS
  335. // page, _ := c.GetInt("page")
  336. //
  337. // if page < 1 {
  338. // page = 1
  339. // }
  340. //
  341. // page_z, _ := c.GetInt("page_z")
  342. //
  343. // if page_z < 1 {
  344. // page_z = conf.Page_size
  345. // }
  346. T_sort, _ := c.GetInt("T_sort") // 排序
  347. T_flow_sort, _ := c.GetInt("T_flow_sort") // 验证流程排序
  348. T_VerifyTemplate_id := c.GetString("T_VerifyTemplate_id")
  349. var cnt int64
  350. List, cnt := VerifyTemplate.Read_VerifyTemplateMap_List(T_VerifyTemplate_id, T_sort, T_flow_sort)
  351. r_jsons.List = List
  352. r_jsons.Num = int(cnt)
  353. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  354. c.ServeJSON()
  355. return
  356. }
  357. // 标签添加-
  358. func (c *VerifyTemplateController) Map_Add() {
  359. // 验证登录 User_is, User_r
  360. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  361. if !User_is {
  362. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  363. c.ServeJSON()
  364. return
  365. }
  366. T_VerifyTemplate_id := c.GetString("T_VerifyTemplate_id")
  367. T_name := c.GetString("T_name")
  368. T_text := c.GetString("T_text")
  369. T_label, _ := c.GetInt("T_label")
  370. T_source, _ := c.GetInt("T_source")
  371. T_sort, _ := c.GetInt("T_sort")
  372. T_Required, _ := c.GetInt("T_Required")
  373. T_Construction, _ := c.GetInt("T_Construction")
  374. T_flow_sort, _ := c.GetInt("T_flow_sort")
  375. T_max_time, _ := c.GetInt("T_max_time")
  376. T_min_time, _ := c.GetInt("T_min_time")
  377. var_ := VerifyTemplate.VerifyTemplateMap{
  378. T_VerifyTemplate_id: T_VerifyTemplate_id,
  379. T_name: T_name,
  380. T_text: T_text,
  381. T_label: T_label,
  382. T_source: T_source,
  383. T_sort: T_sort,
  384. T_Required: T_Required,
  385. T_Construction: T_Construction,
  386. T_flow_sort: T_flow_sort,
  387. T_max_time: T_max_time,
  388. T_min_time: T_min_time,
  389. }
  390. Id, is := VerifyTemplate.Add_VerifyTemplateMap(var_)
  391. if !is {
  392. c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败!"}
  393. c.ServeJSON()
  394. return
  395. }
  396. System.Add_UserLogs_T(User_r.T_uuid, "验证模版标签", "添加", var_)
  397. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Id}
  398. c.ServeJSON()
  399. return
  400. }
  401. // 标签修改-
  402. func (c *VerifyTemplateController) Map_Up() {
  403. // 验证登录 User_is, User_r
  404. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  405. if !User_is {
  406. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  407. c.ServeJSON()
  408. return
  409. }
  410. T_name := c.GetString("T_name")
  411. T_text := c.GetString("T_text")
  412. T_label, T_label_err := c.GetInt("T_label")
  413. T_sort, T_sort_err := c.GetInt("T_sort")
  414. T_source, T_source_err := c.GetInt("T_source")
  415. T_Required, _ := c.GetInt("T_Required")
  416. T_Construction, _ := c.GetInt("T_Construction")
  417. T_min_time, T_min_time_err := c.GetInt("T_min_time")
  418. T_max_time, T_max_time_err := c.GetInt("T_max_time")
  419. T_flow_sort, T_flow_sort_err := c.GetInt("T_flow_sort")
  420. T_id := c.GetString("T_id")
  421. r, is := VerifyTemplate.Read_VerifyTemplateMap(T_id)
  422. if !is {
  423. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  424. c.ServeJSON()
  425. return
  426. }
  427. // .......
  428. if len(T_name) > 0 {
  429. r.T_name = T_name
  430. }
  431. if len(T_text) > 0 {
  432. r.T_text = T_text
  433. }
  434. if T_label_err == nil {
  435. r.T_label = T_label
  436. }
  437. if T_sort_err == nil {
  438. r.T_sort = T_sort
  439. }
  440. if T_source_err == nil {
  441. r.T_source = T_source
  442. }
  443. if T_min_time_err == nil {
  444. r.T_min_time = T_min_time
  445. }
  446. if T_max_time_err == nil {
  447. r.T_max_time = T_max_time
  448. }
  449. if T_flow_sort_err == nil {
  450. r.T_flow_sort = T_flow_sort
  451. }
  452. r.T_Required = T_Required
  453. r.T_Construction = T_Construction
  454. if !VerifyTemplate.Update_VerifyTemplateMap(r, "T_name", "T_label", "T_text", "T_sort", "T_source", "T_min_time", "T_max_time", "T_flow_sort", "T_Required", "T_Construction") {
  455. c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改失败!"}
  456. c.ServeJSON()
  457. return
  458. }
  459. System.Add_UserLogs_T(User_r.T_uuid, "验证模版标签", "修改", r)
  460. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  461. c.ServeJSON()
  462. return
  463. }
  464. // 标签删除-
  465. func (c *VerifyTemplateController) Map_Del() {
  466. // 验证登录 User_is, User_r
  467. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  468. if !User_is {
  469. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  470. c.ServeJSON()
  471. return
  472. }
  473. T_id := c.GetString("T_id")
  474. if r, is := VerifyTemplate.Read_VerifyTemplateMap(T_id); is {
  475. if !VerifyTemplate.Delete_VerifyTemplateMap(r) {
  476. c.Data["json"] = lib.JSONS{Code: 202, Msg: "删除失败!"}
  477. c.ServeJSON()
  478. return
  479. }
  480. System.Add_UserLogs_T(User_r.T_uuid, "验证模版标签", "删除", r)
  481. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  482. c.ServeJSON()
  483. return
  484. }
  485. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  486. c.ServeJSON()
  487. return
  488. }
  489. /// -----------------------------------------------------------------------------
  490. // 标签数据列表 -
  491. func (c *VerifyTemplateController) Map_Data_List() {
  492. // 验证登录 User_is, User_r
  493. _, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  494. if !User_is {
  495. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  496. c.ServeJSON()
  497. return
  498. }
  499. T_VerifyTemplate_id := c.GetString("T_VerifyTemplate_id")
  500. T_source, _ := c.GetInt("T_source")
  501. T_flow, _ := c.GetInt("T_flow") // app 时间流程
  502. if T_flow == 0 && T_source == 0 {
  503. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_source Err!"}
  504. c.ServeJSON()
  505. return
  506. }
  507. T_task_id := c.GetString("T_task_id")
  508. task, is := Task.Read_Task(T_task_id)
  509. if !is {
  510. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_task_id 错误!"}
  511. c.ServeJSON()
  512. return
  513. }
  514. Map_List := VerifyTemplate.Read_VerifyTemplateMap_List_For_Data(T_VerifyTemplate_id, T_source, T_flow)
  515. Data := VerifyTemplate.Read_VerifyTemplateMapData_List(T_source, T_task_id, T_VerifyTemplate_id, Map_List)
  516. type JSONS struct {
  517. //必须的大写开头
  518. Code int16
  519. Msg string
  520. Data interface{} // 泛型
  521. T_step int
  522. }
  523. c.Data["json"] = JSONS{Code: 200, Msg: "ok!", Data: Data, T_step: task.T_step}
  524. c.ServeJSON()
  525. return
  526. }
  527. // 添加标签数据
  528. func (c *VerifyTemplateController) Map_Data_Pu() {
  529. //验证登录 User_is, User_r
  530. var err error
  531. //token := c.Ctx.Request.Header.Get("user_tokey")
  532. //User_r, User_is := Account.Verification_Admin(token, "")
  533. //if !User_is {
  534. // c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  535. // c.ServeJSON()
  536. // return
  537. //}
  538. //err = albb.DescribeInstances()
  539. ////err := RunInstances(tea.StringSlice(os.Args[1:]))
  540. //if err != nil {
  541. // c.Data["json"] = lib.JSONS{Code: 202, Msg: "服务启动失败!"}
  542. // c.ServeJSON()
  543. // return
  544. //}
  545. type RequestBody struct {
  546. User_tokey string
  547. T_source int
  548. T_task_id string
  549. T_VerifyTemplate_id string
  550. T_step int // 进行步骤下标
  551. VerifyTemplateMapData []VerifyTemplate.VerifyTemplateMapData_R
  552. }
  553. var body RequestBody
  554. data := c.Ctx.Input.RequestBody
  555. err = json.Unmarshal(data, &body)
  556. if err != nil {
  557. c.Data["json"] = lib.JSONS{Code: 202, Msg: "json返序列化失败:" + err.Error()}
  558. c.ServeJSON()
  559. }
  560. User_r, User_is := Account.Verification_Admin(body.User_tokey, "")
  561. if !User_is {
  562. System.Add_UserLogs_T(User_r.T_uuid, "验证模版标签数据", "未登录-保存", body)
  563. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  564. c.ServeJSON()
  565. return
  566. }
  567. task, is := Task.Read_Task(body.T_task_id)
  568. if !is {
  569. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_task_id 错误!"}
  570. c.ServeJSON()
  571. return
  572. }
  573. task.T_step = body.T_step
  574. if !Task.Update_Task(task, "T_step") {
  575. c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改任务步骤失败!"}
  576. c.ServeJSON()
  577. return
  578. }
  579. MapDataList := make([]VerifyTemplate.VerifyTemplateMapData, 0)
  580. for _, v := range body.VerifyTemplateMapData {
  581. val := VerifyTemplate.VerifyTemplateMapData{
  582. T_source: v.T_source,
  583. T_task_id: body.T_task_id,
  584. T_VerifyTemplate_id: body.T_VerifyTemplate_id,
  585. T_VerifyTemplateMap_id: v.T_VerifyTemplateMap_id,
  586. T_Required: v.T_Required,
  587. T_Construction: v.T_Construction,
  588. T_flow_sort: v.T_flow_sort,
  589. T_max_time: v.T_max_time,
  590. T_min_time: v.T_min_time,
  591. T_value: v.T_value,
  592. T_start_time: v.T_start_time,
  593. }
  594. MapDataList = append(MapDataList, val)
  595. }
  596. ids, is := VerifyTemplate.AddOrUpdate_VerifyTemplateMapData_ADD_History(MapDataList, body.T_source, User_r.T_uuid)
  597. if !is {
  598. c.Data["json"] = lib.JSONS{Code: 202, Msg: "保存失败"}
  599. c.ServeJSON()
  600. return
  601. }
  602. System.Add_UserLogs_T(User_r.T_uuid, "验证模版标签数据", "保存", body)
  603. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: ids}
  604. c.ServeJSON()
  605. return
  606. }
  607. func (c *VerifyTemplateController) Map_Data_Copy() {
  608. // 验证登录 User_is, User_r
  609. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  610. if !User_is {
  611. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  612. c.ServeJSON()
  613. return
  614. }
  615. T_source, _ := c.GetInt("T_source")
  616. T_flow, _ := c.GetInt("T_flow")
  617. if T_flow == 0 && T_source == 0 {
  618. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_source Err!"}
  619. c.ServeJSON()
  620. return
  621. }
  622. T_copy_task_id := c.GetString("T_copy_task_id")
  623. copy_task, is := Task.Read_Task(T_copy_task_id)
  624. if !is {
  625. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_copy_task_id 错误!"}
  626. c.ServeJSON()
  627. return
  628. }
  629. T_paste_task_id := c.GetString("T_paste_task_id")
  630. paste_task, is := Task.Read_Task(T_paste_task_id)
  631. if !is {
  632. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_paste_task_id 错误!"}
  633. c.ServeJSON()
  634. return
  635. }
  636. if copy_task.T_VerifyTemplate_id != paste_task.T_VerifyTemplate_id {
  637. c.Data["json"] = lib.JSONS{Code: 202, Msg: "仅支持相同模版间复制!"}
  638. c.ServeJSON()
  639. return
  640. }
  641. list := VerifyTemplate.Read_MapData_List(T_source, T_copy_task_id, copy_task.T_VerifyTemplate_id)
  642. MapDataList := make([]VerifyTemplate.VerifyTemplateMapData, 0)
  643. for _, v := range list {
  644. val := VerifyTemplate.VerifyTemplateMapData{
  645. T_source: T_source,
  646. T_task_id: paste_task.T_task_id,
  647. T_VerifyTemplate_id: paste_task.T_VerifyTemplate_id,
  648. T_VerifyTemplateMap_id: v.T_VerifyTemplateMap_id,
  649. T_Required: v.T_Required,
  650. T_Construction: v.T_Construction,
  651. T_flow_sort: v.T_flow_sort,
  652. T_max_time: v.T_max_time,
  653. T_min_time: v.T_min_time,
  654. T_value: v.T_value,
  655. }
  656. MapDataList = append(MapDataList, val)
  657. }
  658. var ids []int64
  659. ids, is = VerifyTemplate.AddOrUpdate_VerifyTemplateMapData_ADD_History(MapDataList, T_source, User_r.T_uuid)
  660. if !is {
  661. c.Data["json"] = lib.JSONS{Code: 202, Msg: "保存失败"}
  662. c.ServeJSON()
  663. return
  664. }
  665. System.Add_UserLogs_T(User_r.T_uuid, "验证模版标签数据", "复制", MapDataList)
  666. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: ids}
  667. c.ServeJSON()
  668. return
  669. }
  670. // 添加标签数据
  671. func (c *VerifyTemplateController) Map_Data_History_List() {
  672. // 验证登录 User_is, User_r
  673. _, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  674. if !User_is {
  675. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  676. c.ServeJSON()
  677. return
  678. }
  679. T_task_id := c.GetString("T_task_id")
  680. T_source, _ := c.GetInt("T_source")
  681. _, is := Task.Read_Task(T_task_id)
  682. if !is {
  683. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_task_id 错误!"}
  684. c.ServeJSON()
  685. return
  686. }
  687. AdminMap := Account.AdminListToMap(Account.Read_Admin_List_ALL_1())
  688. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: VerifyTemplate.Read_VerifyTemplateMapDataHistory_History_List(T_task_id, T_source, AdminMap)}
  689. c.ServeJSON()
  690. return
  691. }
  692. // 标签数据列表 -
  693. func (c *VerifyTemplateController) Map_Data_History_Data_List() {
  694. // 验证登录 User_is, User_r
  695. _, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  696. if !User_is {
  697. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  698. c.ServeJSON()
  699. return
  700. }
  701. T_time := c.GetString("T_time")
  702. if len(T_time) == 0 {
  703. c.Data["json"] = lib.JSONS{Code: 202, Msg: "请选择时间点!"}
  704. c.ServeJSON()
  705. return
  706. }
  707. T_source, _ := c.GetInt("T_source")
  708. if T_source == 0 {
  709. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_source Err!"}
  710. c.ServeJSON()
  711. return
  712. }
  713. T_task_id := c.GetString("T_task_id")
  714. task, is := Task.Read_Task(T_task_id)
  715. if !is {
  716. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_task_id 错误!"}
  717. c.ServeJSON()
  718. return
  719. }
  720. Map_List := VerifyTemplate.Read_VerifyTemplateMap_List_For_Data(task.T_VerifyTemplate_id, T_source, 0)
  721. Data := VerifyTemplate.Read_VerifyTemplateMapDataHistory_List(T_source, T_task_id, task.T_VerifyTemplate_id, T_time, Map_List)
  722. type JSONS struct {
  723. //必须的大写开头
  724. Code int16
  725. Msg string
  726. Data interface{} // 泛型
  727. T_step int
  728. }
  729. c.Data["json"] = JSONS{Code: 200, Msg: "ok!", Data: Data, T_step: task.T_step}
  730. c.ServeJSON()
  731. return
  732. }
  733. // 清除数据
  734. func (c *VerifyTemplateController) Map_Data_Clear_Value() {
  735. // 验证登录 User_is, User_r
  736. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  737. if !User_is {
  738. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  739. c.ServeJSON()
  740. return
  741. }
  742. T_VerifyTemplate_id := c.GetString("T_VerifyTemplate_id")
  743. T_VerifyTemplateMap_id := c.GetString("T_VerifyTemplateMap_id")
  744. T_task_id := c.GetString("T_task_id")
  745. _, is := Task.Read_Task(T_task_id)
  746. if !is {
  747. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_task_id 错误!"}
  748. c.ServeJSON()
  749. return
  750. }
  751. VerifyTemplate.Clear_VerifyTemplateMapData_T_value(T_task_id, T_VerifyTemplate_id, T_VerifyTemplateMap_id)
  752. System.Add_UserLogs_T(User_r.T_uuid, "验证模版标签数据", "清除数据", fmt.Sprintf("T_task_id:%s T_VerifyTemplate_id:%s T_VerifyTemplateMap_id:%s", T_task_id, T_VerifyTemplate_id, T_VerifyTemplateMap_id))
  753. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  754. c.ServeJSON()
  755. return
  756. }
  757. // 历史数据恢复
  758. func (c *VerifyTemplateController) Map_Data_History_Recover() {
  759. // 验证登录 User_is, User_r
  760. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  761. if !User_is {
  762. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  763. c.ServeJSON()
  764. return
  765. }
  766. T_time := c.GetString("T_time")
  767. if len(T_time) == 0 {
  768. c.Data["json"] = lib.JSONS{Code: 202, Msg: "请选择时间点!"}
  769. c.ServeJSON()
  770. return
  771. }
  772. T_source, _ := c.GetInt("T_source")
  773. if T_source == 0 {
  774. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_source Err!"}
  775. c.ServeJSON()
  776. return
  777. }
  778. T_task_id := c.GetString("T_task_id")
  779. task, is := Task.Read_Task(T_task_id)
  780. if !is {
  781. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_task_id 错误!"}
  782. c.ServeJSON()
  783. return
  784. }
  785. HistoryList := VerifyTemplate.Read_MapDataHistory_List(T_source, T_task_id, task.T_VerifyTemplate_id, T_time)
  786. list := VerifyTemplate.Read_MapData_List(T_source, T_task_id, task.T_VerifyTemplate_id)
  787. HistoryListMap := make(map[string]VerifyTemplate.VerifyTemplateMapDataHistory)
  788. for _, data := range HistoryList {
  789. HistoryListMap[data.T_VerifyTemplateMap_id] = data
  790. }
  791. MapDataList := make([]VerifyTemplate.VerifyTemplateMapData, 0)
  792. for _, v := range list {
  793. if len(v.T_value) > 0 {
  794. continue
  795. }
  796. if HistoryListMap[v.T_VerifyTemplateMap_id].T_value == "" {
  797. continue
  798. }
  799. val := VerifyTemplate.VerifyTemplateMapData{
  800. T_source: T_source,
  801. T_task_id: task.T_task_id,
  802. T_VerifyTemplate_id: task.T_VerifyTemplate_id,
  803. T_VerifyTemplateMap_id: v.T_VerifyTemplateMap_id,
  804. T_Required: v.T_Required,
  805. T_Construction: v.T_Construction,
  806. T_flow_sort: v.T_flow_sort,
  807. T_max_time: v.T_max_time,
  808. T_min_time: v.T_min_time,
  809. T_value: HistoryListMap[v.T_VerifyTemplateMap_id].T_value,
  810. }
  811. MapDataList = append(MapDataList, val)
  812. }
  813. var ids []int64
  814. ids, is = VerifyTemplate.AddOrUpdate_VerifyTemplateMapData(MapDataList)
  815. if !is {
  816. c.Data["json"] = lib.JSONS{Code: 202, Msg: "保存失败"}
  817. c.ServeJSON()
  818. return
  819. }
  820. System.Add_UserLogs_T(User_r.T_uuid, "验证模版标签数据", "恢复", MapDataList)
  821. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: ids}
  822. c.ServeJSON()
  823. return
  824. }
  825. func (c *VerifyTemplateController) Class_List() {
  826. // 验证登录 User_is, User_r
  827. _, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  828. if !User_is {
  829. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  830. c.ServeJSON()
  831. return
  832. }
  833. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: VerifyTemplate.Read_VerifyTemplateClass_List()}
  834. c.ServeJSON()
  835. return
  836. }
  837. func (c *VerifyTemplateController) Class_Add() {
  838. // 验证登录 User_is, User_r
  839. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  840. if !User_is {
  841. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  842. c.ServeJSON()
  843. return
  844. }
  845. T_name := c.GetString("T_name")
  846. T_fid, _ := c.GetInt("T_fid")
  847. var_ := VerifyTemplate.VerifyTemplateClass{
  848. T_name: T_name,
  849. T_fid: T_fid,
  850. T_State: 1,
  851. }
  852. Id, err := VerifyTemplate.Add_VerifyTemplateClass(var_)
  853. if err != nil {
  854. c.Data["json"] = lib.JSONS{Code: 203, Msg: "添加失败"}
  855. c.ServeJSON()
  856. return
  857. }
  858. System.Add_UserLogs_T(User_r.T_uuid, "模版分类", "添加", var_)
  859. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Id}
  860. c.ServeJSON()
  861. return
  862. }
  863. func (c *VerifyTemplateController) Class_Up() {
  864. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  865. if !User_is {
  866. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  867. c.ServeJSON()
  868. return
  869. }
  870. T_id, _ := c.GetInt("T_id")
  871. T_name := c.GetString("T_name")
  872. R_VerifyTemplateToolClass, err := VerifyTemplate.Read_VerifyTemplateClass_ById(T_id)
  873. if err != nil {
  874. c.Data["json"] = lib.JSONS{Code: 203, Msg: "T_id Err!"}
  875. c.ServeJSON()
  876. return
  877. }
  878. if len(T_name) > 0 {
  879. R_VerifyTemplateToolClass.T_name = T_name
  880. }
  881. if is := VerifyTemplate.Update_VerifyTemplateClass(R_VerifyTemplateToolClass, "T_name"); !is {
  882. c.Data["json"] = lib.JSONS{Code: 203, Msg: "修改失败"}
  883. c.ServeJSON()
  884. return
  885. }
  886. System.Add_UserLogs_T(User_r.T_uuid, "模版分类", "修改", R_VerifyTemplateToolClass)
  887. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  888. c.ServeJSON()
  889. return
  890. }
  891. func (c *VerifyTemplateController) Class_Del() {
  892. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  893. if !User_is {
  894. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  895. c.ServeJSON()
  896. return
  897. }
  898. T_id, _ := c.GetInt("T_id")
  899. R_VerifyTemplateToolClass, err := VerifyTemplate.Read_VerifyTemplateClass_ById(T_id)
  900. if err != nil {
  901. c.Data["json"] = lib.JSONS{Code: 203, Msg: "T_id Err!"}
  902. c.ServeJSON()
  903. return
  904. }
  905. ids := VerifyTemplate.ReadVerifyTemplateClassIds_T_path(R_VerifyTemplateToolClass.T_path)
  906. if is := VerifyTemplate.Delete_VerifyTemplateClass_ByIds(ids); !is {
  907. c.Data["json"] = lib.JSONS{Code: 202, Msg: "删除失败!"}
  908. c.ServeJSON()
  909. return
  910. }
  911. System.Add_UserLogs(User_r.T_uuid, "模版分类", "删除", strconv.Itoa(T_id))
  912. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  913. c.ServeJSON()
  914. return
  915. }
  916. // 复制验证模版-分类-标签
  917. func (c *VerifyTemplateController) Class_Copy() {
  918. // 验证登录 User_is, User_r
  919. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  920. if !User_is {
  921. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  922. c.ServeJSON()
  923. return
  924. }
  925. T_id, _ := c.GetInt("T_id") // 要复制的信息采集分类id
  926. T_name := c.GetString("T_name")
  927. // 查询要复制的信息采集分类id
  928. R_VerifyTemplateClass, err := VerifyTemplate.Read_VerifyTemplateClass_ById(T_id)
  929. if err != nil {
  930. c.Data["json"] = lib.JSONS{Code: 203, Msg: "T_id Err!"}
  931. c.ServeJSON()
  932. return
  933. }
  934. if len(T_name) > 0 && T_name != R_VerifyTemplateClass.T_name {
  935. R_VerifyTemplateClass.T_name = T_name
  936. } else {
  937. R_VerifyTemplateClass.T_name = R_VerifyTemplateClass.T_name + "_副本"
  938. }
  939. _, err = VerifyTemplate.CopyVerifyTemplateClassTree(R_VerifyTemplateClass.T_path, R_VerifyTemplateClass.T_fid, R_VerifyTemplateClass.T_name)
  940. if err != nil {
  941. c.Data["json"] = lib.JSONS{Code: 202, Msg: "复制验证模版分类失败"}
  942. c.ServeJSON()
  943. return
  944. }
  945. System.Add_UserLogs_T(User_r.T_uuid, "验证模版分类", "复制", T_id)
  946. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  947. c.ServeJSON()
  948. return
  949. }