VerifyTemplate.go 39 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402
  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/Distributor"
  8. "ColdVerify_server/models/System"
  9. "ColdVerify_server/models/Task"
  10. "ColdVerify_server/models/VerifyTemplate"
  11. "encoding/json"
  12. "errors"
  13. "fmt"
  14. beego "github.com/beego/beego/v2/server/web"
  15. "math"
  16. "strconv"
  17. "strings"
  18. )
  19. type VerifyTemplateController struct {
  20. beego.Controller
  21. User_r Account.Admin // 登陆的用户
  22. }
  23. func (c *VerifyTemplateController) Prepare() {
  24. GetCookie := c.Ctx.GetCookie("User_tokey")
  25. GetString := c.GetString("User_tokey")
  26. fmt.Println(c.Ctx.Request.URL.Path)
  27. if strings.Contains(c.Ctx.Request.URL.Path, "/VerifyTemplateMapData/Pu") {
  28. return
  29. }
  30. // 验证登录 User_is, User_r
  31. User_r, User_is := Account.Verification_Admin(GetCookie, GetString)
  32. if !User_is {
  33. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  34. c.ServeJSON()
  35. return
  36. }
  37. // 经销商只能访问列表接口,不能操作
  38. //if len(User_r.T_Distributor_id) > 0 {
  39. // checkUrl := []string{"Add", "Up", "Del"}
  40. // for _, v := range checkUrl {
  41. // if strings.Contains(c.Ctx.Request.URL.Path, v) {
  42. // c.Data["json"] = lib.JSONS{Code: 202, Msg: "没有操作权限!"}
  43. // c.ServeJSON()
  44. // return
  45. // }
  46. // }
  47. //}
  48. c.User_r = User_r
  49. }
  50. // 列表 -
  51. func (c *VerifyTemplateController) List() {
  52. // 验证登录 User_is, User_r
  53. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  54. if !User_is {
  55. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  56. c.ServeJSON()
  57. return
  58. }
  59. var r_jsons lib.R_JSONS
  60. page, _ := c.GetInt("page")
  61. if page < 1 {
  62. page = 1
  63. }
  64. page_z, _ := c.GetInt("page_z")
  65. if page_z < 1 {
  66. page_z = conf.Page_size
  67. }
  68. T_class, _ := c.GetInt("T_class")
  69. if T_class <= 0 {
  70. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_class Err!"}
  71. c.ServeJSON()
  72. return
  73. }
  74. T_name := c.GetString("T_name")
  75. logs.Debug("经销商id", User_r.T_Distributor_id)
  76. if len(User_r.T_Distributor_id) > 0 {
  77. var cnt int64
  78. List, cnt := Distributor.Read_DistributorVerifyTemplate_List(User_r.T_Distributor_id, T_class, T_name, page, page_z)
  79. page_size := math.Ceil(float64(cnt) / float64(page_z))
  80. r_jsons.List = List
  81. r_jsons.Page = page
  82. r_jsons.Page_size = int(page_size)
  83. r_jsons.Pages = lib.Func_page(int64(page), int64(page_size))
  84. r_jsons.Num = int(cnt)
  85. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  86. c.ServeJSON()
  87. return
  88. }
  89. var cnt int64
  90. List, cnt := VerifyTemplate.Read_VerifyTemplate_List(T_class, T_name, page, page_z)
  91. page_size := math.Ceil(float64(cnt) / float64(page_z))
  92. r_jsons.List = List
  93. r_jsons.Page = page
  94. r_jsons.Page_size = int(page_size)
  95. r_jsons.Pages = lib.Func_page(int64(page), int64(page_size))
  96. r_jsons.Num = int(cnt)
  97. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  98. c.ServeJSON()
  99. return
  100. }
  101. // 添加-
  102. func (c *VerifyTemplateController) Add() {
  103. // 验证登录 User_is, User_r
  104. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  105. if !User_is {
  106. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  107. c.ServeJSON()
  108. return
  109. }
  110. T_name := c.GetString("T_name")
  111. T_sort, _ := c.GetInt("T_sort")
  112. T_class, _ := c.GetInt("T_class")
  113. var_ := VerifyTemplate.VerifyTemplate{
  114. T_class: T_class,
  115. T_name: T_name,
  116. T_sort: T_sort,
  117. }
  118. Id, is := VerifyTemplate.Add_VerifyTemplate(var_)
  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, "验证模版", "添加", var_)
  125. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Id}
  126. c.ServeJSON()
  127. return
  128. }
  129. // 修改-
  130. func (c *VerifyTemplateController) Up() {
  131. // 验证登录 User_is, User_r
  132. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  133. if !User_is {
  134. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  135. c.ServeJSON()
  136. return
  137. }
  138. T_name := c.GetString("T_name")
  139. T_sort, T_sort_err := c.GetInt("T_sort")
  140. T_VerifyTemplate_id := c.GetString("T_VerifyTemplate_id")
  141. T_scheme := c.GetString("T_scheme")
  142. T_reporting := c.GetString("T_reporting")
  143. T_inspect := c.GetString("T_inspect")
  144. T_marking := c.GetString("T_marking")
  145. T_cover := c.GetString("T_cover")
  146. T_deploy := c.GetString("T_deploy")
  147. T_examining_report := c.GetString("T_examining_report")
  148. T_original_record := c.GetString("T_original_record")
  149. r, is := VerifyTemplate.Read_VerifyTemplate(T_VerifyTemplate_id)
  150. if !is {
  151. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  152. c.ServeJSON()
  153. return
  154. }
  155. // .......
  156. if len(T_name) > 0 {
  157. r.T_name = T_name
  158. }
  159. if len(T_scheme) > 0 {
  160. r.T_scheme = T_scheme
  161. }
  162. if len(T_reporting) > 0 {
  163. r.T_reporting = T_reporting
  164. }
  165. if len(T_inspect) > 0 {
  166. r.T_inspect = T_inspect
  167. }
  168. if len(T_marking) > 0 {
  169. r.T_marking = T_marking
  170. }
  171. if len(T_cover) > 0 {
  172. r.T_cover = T_cover
  173. }
  174. if len(T_examining_report) > 0 {
  175. r.T_examining_report = T_examining_report
  176. }
  177. if len(T_original_record) > 0 {
  178. r.T_original_record = T_original_record
  179. }
  180. if len(T_deploy) > 0 {
  181. var deployList []VerifyTemplate.VerifyTemplateDeploy
  182. // 将 布点1|布点2|布点3| 格式替换为 [{"T_name":"布点1","T_scope":"布点范围1"},{"T_name":"布点2","T_scope":"布点范围2"}]
  183. if strings.Contains(T_deploy, "|") {
  184. deploys := strings.Split(strings.Trim(T_deploy, "|"), "|")
  185. for _, v := range deploys {
  186. deployList = append(deployList, VerifyTemplate.VerifyTemplateDeploy{T_name: v})
  187. }
  188. deploy, err := json.Marshal(deployList)
  189. if err != nil {
  190. logs.Error("JSON 序列化失败:", err)
  191. return
  192. }
  193. T_deploy = string(deploy)
  194. } else {
  195. err := json.Unmarshal([]byte(T_deploy), &deployList)
  196. if err != nil {
  197. logs.Error("JSON 反序列化失败:", err)
  198. return
  199. }
  200. }
  201. r.T_deploy = T_deploy
  202. }
  203. if T_sort_err == nil {
  204. r.T_sort = T_sort
  205. }
  206. // .......
  207. if !VerifyTemplate.Update_VerifyTemplate(r, "T_name", "T_sort", "T_scheme", "T_reporting", "T_inspect", "T_marking", "T_cover", "T_deploy", "T_examining_report", "T_original_record") {
  208. c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改失败!"}
  209. c.ServeJSON()
  210. return
  211. }
  212. System.Add_UserLogs_T(User_r.T_uuid, "验证模版", "修改", r)
  213. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  214. c.ServeJSON()
  215. return
  216. }
  217. // 删除-
  218. func (c *VerifyTemplateController) Del() {
  219. // 验证登录 User_is, User_r
  220. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  221. if !User_is {
  222. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  223. c.ServeJSON()
  224. return
  225. }
  226. T_VerifyTemplate_id := c.GetString("T_VerifyTemplate_id")
  227. r, is := VerifyTemplate.Read_VerifyTemplate(T_VerifyTemplate_id)
  228. if !is {
  229. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  230. c.ServeJSON()
  231. return
  232. }
  233. if !VerifyTemplate.Delete_VerifyTemplate(r) {
  234. c.Data["json"] = lib.JSONS{Code: 202, Msg: "删除失败!"}
  235. c.ServeJSON()
  236. return
  237. }
  238. mapList, _ := VerifyTemplate.Read_VerifyTemplateMap_List(T_VerifyTemplate_id, 0, 0)
  239. for _, v := range mapList {
  240. if vtm, is := VerifyTemplate.Read_VerifyTemplateMap(v.T_id); is {
  241. VerifyTemplate.Delete_VerifyTemplateMap(vtm)
  242. }
  243. }
  244. System.Add_UserLogs_T(User_r.T_uuid, "验证模版", "删除", r)
  245. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  246. c.ServeJSON()
  247. return
  248. }
  249. // 删除-
  250. func (c *VerifyTemplateController) Get() {
  251. // 验证登录 User_is, User_r
  252. _, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  253. if !User_is {
  254. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  255. c.ServeJSON()
  256. return
  257. }
  258. T_VerifyTemplate_id := c.GetString("T_VerifyTemplate_id")
  259. r, is := VerifyTemplate.Read_VerifyTemplate(T_VerifyTemplate_id)
  260. if !is {
  261. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  262. c.ServeJSON()
  263. return
  264. }
  265. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: VerifyTemplate.VerifyTemplateToVerifyTemplate_R(r)}
  266. c.ServeJSON()
  267. return
  268. }
  269. // 复制-
  270. func (c *VerifyTemplateController) Copy() {
  271. // 验证登录 User_is, User_r
  272. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  273. if !User_is {
  274. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  275. c.ServeJSON()
  276. return
  277. }
  278. T_VerifyTemplate_id := c.GetString("T_VerifyTemplate_id")
  279. T_name := c.GetString("T_name")
  280. r, is := VerifyTemplate.Read_VerifyTemplate(T_VerifyTemplate_id)
  281. if !is {
  282. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  283. c.ServeJSON()
  284. return
  285. }
  286. var_ := VerifyTemplate.VerifyTemplate{
  287. T_class: r.T_class,
  288. T_name: T_name,
  289. T_sort: r.T_sort,
  290. T_deploy: r.T_deploy,
  291. }
  292. new_id, is := VerifyTemplate.Add_VerifyTemplate(var_)
  293. if !is {
  294. c.Data["json"] = lib.JSONS{Code: 202, Msg: "复制失败!"}
  295. c.ServeJSON()
  296. return
  297. }
  298. mapList, _ := VerifyTemplate.Read_VerifyTemplateMap_List(T_VerifyTemplate_id, 0, 0)
  299. tempMap := make(map[string]struct{})
  300. idList := make([]string, len(mapList))
  301. // 生成mapList长度的T_id
  302. for i := 0; i < len(mapList); i++ {
  303. // 生成编号
  304. rand_x := 0
  305. T_id := ""
  306. for true {
  307. T_id = lib.GetRandstring(4, "", int64(rand_x))
  308. _, is = VerifyTemplate.Read_VerifyTemplateMap(T_id)
  309. if !is {
  310. if _, ok := tempMap[T_id]; !ok {
  311. break
  312. }
  313. }
  314. rand_x += 1
  315. }
  316. tempMap[T_id] = struct{}{}
  317. idList[i] = T_id
  318. }
  319. mapInsertList := make([]VerifyTemplate.VerifyTemplateMap, 0)
  320. for i, v := range mapList {
  321. vtm := VerifyTemplate.VerifyTemplateMap{
  322. T_id: idList[i],
  323. T_VerifyTemplate_id: new_id,
  324. T_name: v.T_name,
  325. T_text: v.T_text,
  326. T_label: v.T_label,
  327. T_source: v.T_source,
  328. T_sort: v.T_sort,
  329. T_Required: v.T_Required,
  330. T_Construction: v.T_Construction,
  331. T_flow_sort: v.T_flow_sort,
  332. T_max_time: v.T_max_time,
  333. T_min_time: v.T_min_time,
  334. }
  335. mapInsertList = append(mapInsertList, vtm)
  336. }
  337. _, is = VerifyTemplate.Add_VerifyTemplateMapMulti(mapInsertList)
  338. if !is {
  339. c.Data["json"] = lib.JSONS{Code: 202, Msg: "复制失败!"}
  340. c.ServeJSON()
  341. return
  342. }
  343. System.Add_UserLogs_T(User_r.T_uuid, "验证模版", "复制", var_)
  344. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: new_id}
  345. c.ServeJSON()
  346. return
  347. }
  348. /// -----------------------------------------------------------------------------
  349. // 标签列表 -
  350. func (c *VerifyTemplateController) Map_List() {
  351. // 验证登录 User_is, User_r
  352. _, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  353. if !User_is {
  354. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  355. c.ServeJSON()
  356. return
  357. }
  358. var r_jsons lib.R_JSONS
  359. // page, _ := c.GetInt("page")
  360. //
  361. // if page < 1 {
  362. // page = 1
  363. // }
  364. //
  365. // page_z, _ := c.GetInt("page_z")
  366. //
  367. // if page_z < 1 {
  368. // page_z = conf.Page_size
  369. // }
  370. T_sort, _ := c.GetInt("T_sort") // 排序
  371. T_flow_sort, _ := c.GetInt("T_flow_sort") // 验证流程排序
  372. T_VerifyTemplate_id := c.GetString("T_VerifyTemplate_id")
  373. var cnt int64
  374. List, cnt := VerifyTemplate.Read_VerifyTemplateMap_List(T_VerifyTemplate_id, T_sort, T_flow_sort)
  375. r_jsons.List = List
  376. r_jsons.Num = int(cnt)
  377. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  378. c.ServeJSON()
  379. return
  380. }
  381. // 标签添加-
  382. func (c *VerifyTemplateController) Map_Add() {
  383. // 验证登录 User_is, User_r
  384. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  385. if !User_is {
  386. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  387. c.ServeJSON()
  388. return
  389. }
  390. T_VerifyTemplate_id := c.GetString("T_VerifyTemplate_id")
  391. T_name := c.GetString("T_name")
  392. T_text := c.GetString("T_text")
  393. T_label, _ := c.GetInt("T_label")
  394. T_source, _ := c.GetInt("T_source")
  395. T_sort, _ := c.GetInt("T_sort")
  396. T_Required, _ := c.GetInt("T_Required")
  397. T_Construction, _ := c.GetInt("T_Construction")
  398. T_flow_sort, _ := c.GetInt("T_flow_sort")
  399. T_max_time, _ := c.GetInt("T_max_time")
  400. T_min_time, _ := c.GetInt("T_min_time")
  401. var_ := VerifyTemplate.VerifyTemplateMap{
  402. T_VerifyTemplate_id: T_VerifyTemplate_id,
  403. T_name: T_name,
  404. T_text: T_text,
  405. T_label: T_label,
  406. T_source: T_source,
  407. T_sort: T_sort,
  408. T_Required: T_Required,
  409. T_Construction: T_Construction,
  410. T_flow_sort: T_flow_sort,
  411. T_max_time: T_max_time,
  412. T_min_time: T_min_time,
  413. }
  414. Id, is := VerifyTemplate.Add_VerifyTemplateMap(var_)
  415. if !is {
  416. c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败!"}
  417. c.ServeJSON()
  418. return
  419. }
  420. System.Add_UserLogs_T(User_r.T_uuid, "验证模版标签", "添加", var_)
  421. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Id}
  422. c.ServeJSON()
  423. return
  424. }
  425. // 标签修改-
  426. func (c *VerifyTemplateController) Map_Up() {
  427. // 验证登录 User_is, User_r
  428. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  429. if !User_is {
  430. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  431. c.ServeJSON()
  432. return
  433. }
  434. T_name := c.GetString("T_name")
  435. T_text := c.GetString("T_text")
  436. T_label, T_label_err := c.GetInt("T_label")
  437. T_sort, T_sort_err := c.GetInt("T_sort")
  438. T_source, T_source_err := c.GetInt("T_source")
  439. T_Required, _ := c.GetInt("T_Required")
  440. T_Construction, _ := c.GetInt("T_Construction")
  441. T_min_time, T_min_time_err := c.GetInt("T_min_time")
  442. T_max_time, T_max_time_err := c.GetInt("T_max_time")
  443. T_flow_sort, T_flow_sort_err := c.GetInt("T_flow_sort")
  444. T_id := c.GetString("T_id")
  445. r, is := VerifyTemplate.Read_VerifyTemplateMap(T_id)
  446. if !is {
  447. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  448. c.ServeJSON()
  449. return
  450. }
  451. // .......
  452. if len(T_name) > 0 {
  453. r.T_name = T_name
  454. }
  455. if len(T_text) > 0 {
  456. r.T_text = T_text
  457. }
  458. if T_label_err == nil {
  459. r.T_label = T_label
  460. }
  461. if T_sort_err == nil {
  462. r.T_sort = T_sort
  463. }
  464. if T_source_err == nil {
  465. r.T_source = T_source
  466. }
  467. if T_min_time_err == nil {
  468. r.T_min_time = T_min_time
  469. }
  470. if T_max_time_err == nil {
  471. r.T_max_time = T_max_time
  472. }
  473. if T_flow_sort_err == nil {
  474. r.T_flow_sort = T_flow_sort
  475. }
  476. r.T_Required = T_Required
  477. r.T_Construction = T_Construction
  478. 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") {
  479. c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改失败!"}
  480. c.ServeJSON()
  481. return
  482. }
  483. System.Add_UserLogs_T(User_r.T_uuid, "验证模版标签", "修改", r)
  484. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  485. c.ServeJSON()
  486. return
  487. }
  488. // 标签删除-
  489. func (c *VerifyTemplateController) Map_Del() {
  490. // 验证登录 User_is, User_r
  491. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  492. if !User_is {
  493. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  494. c.ServeJSON()
  495. return
  496. }
  497. T_id := c.GetString("T_id")
  498. if r, is := VerifyTemplate.Read_VerifyTemplateMap(T_id); is {
  499. if !VerifyTemplate.Delete_VerifyTemplateMap(r) {
  500. c.Data["json"] = lib.JSONS{Code: 202, Msg: "删除失败!"}
  501. c.ServeJSON()
  502. return
  503. }
  504. System.Add_UserLogs_T(User_r.T_uuid, "验证模版标签", "删除", r)
  505. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  506. c.ServeJSON()
  507. return
  508. }
  509. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
  510. c.ServeJSON()
  511. return
  512. }
  513. /// -----------------------------------------------------------------------------
  514. // 标签数据列表 -
  515. func (c *VerifyTemplateController) Map_Data_List() {
  516. // 验证登录 User_is, User_r
  517. _, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  518. if !User_is {
  519. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  520. c.ServeJSON()
  521. return
  522. }
  523. T_VerifyTemplate_id := c.GetString("T_VerifyTemplate_id")
  524. T_source, _ := c.GetInt("T_source")
  525. T_flow, _ := c.GetInt("T_flow") // app 时间流程
  526. if T_flow == 0 && T_source == 0 {
  527. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_source Err!"}
  528. c.ServeJSON()
  529. return
  530. }
  531. T_task_id := c.GetString("T_task_id")
  532. task, is := Task.Read_Task(T_task_id)
  533. if !is {
  534. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_task_id 错误!"}
  535. c.ServeJSON()
  536. return
  537. }
  538. Map_List := VerifyTemplate.Read_VerifyTemplateMap_List_For_Data(T_VerifyTemplate_id, T_source, T_flow)
  539. Data := VerifyTemplate.Read_VerifyTemplateMapData_List(T_source, T_task_id, T_VerifyTemplate_id, Map_List)
  540. type JSONS struct {
  541. //必须的大写开头
  542. Code int16
  543. Msg string
  544. Data interface{} // 泛型
  545. T_step int
  546. }
  547. c.Data["json"] = JSONS{Code: 200, Msg: "ok!", Data: Data, T_step: task.T_step}
  548. c.ServeJSON()
  549. return
  550. }
  551. // 添加标签数据
  552. func (c *VerifyTemplateController) Map_Data_Pu() {
  553. //验证登录 User_is, User_r
  554. var err error
  555. //token := c.Ctx.Request.Header.Get("user_tokey")
  556. //User_r, User_is := Account.Verification_Admin(token, "")
  557. //if !User_is {
  558. // c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  559. // c.ServeJSON()
  560. // return
  561. //}
  562. //err = albb.DescribeInstances()
  563. ////err := RunInstances(tea.StringSlice(os.Args[1:]))
  564. //if err != nil {
  565. // c.Data["json"] = lib.JSONS{Code: 202, Msg: "服务启动失败!"}
  566. // c.ServeJSON()
  567. // return
  568. //}
  569. type RequestBody struct {
  570. User_tokey string
  571. T_source int
  572. T_task_id string
  573. T_VerifyTemplate_id string
  574. T_step int // 进行步骤下标
  575. T_submit int // 1-app 2-报告生成
  576. T_history int // 0不保存历史 1保存历史
  577. VerifyTemplateMapData []VerifyTemplate.VerifyTemplateMapData_R
  578. }
  579. var body RequestBody
  580. data := c.Ctx.Input.RequestBody
  581. err = json.Unmarshal(data, &body)
  582. if err != nil {
  583. c.Data["json"] = lib.JSONS{Code: 202, Msg: "json返序列化失败:" + err.Error()}
  584. c.ServeJSON()
  585. }
  586. logs.Println(fmt.Sprintf("%+v", body))
  587. User_r, User_is := Account.Verification_Admin(body.User_tokey, "")
  588. if !User_is {
  589. System.Add_UserLogs_T(User_r.T_uuid, "验证模版标签数据", "未登录-保存", body)
  590. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  591. c.ServeJSON()
  592. return
  593. }
  594. task, is := Task.Read_Task(body.T_task_id)
  595. if !is {
  596. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_task_id 错误!"}
  597. c.ServeJSON()
  598. return
  599. }
  600. T_reporting_state := task.T_reporting_state
  601. task.T_step = body.T_step
  602. if body.T_submit == 2 && T_reporting_state == 0 {
  603. task.T_reporting_state = Task.TaskExaminingReportStateClickGenerate
  604. }
  605. if body.T_submit == 1 && task.T_collection_state == Task.TaskCollectionStateWaitSubmit {
  606. // 手机app提交修改采集状态为已提交
  607. task.T_collection_state = Task.TaskCollectionStateSubmitted
  608. }
  609. if !Task.Update_Task(task, "T_step", "T_reporting_state", "T_collection_state") {
  610. c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改任务步骤失败!"}
  611. c.ServeJSON()
  612. return
  613. }
  614. // 判断旧的模版id与任务id的模版是否一致,如果不一致则复制旧模板数据到新模板
  615. if task.T_VerifyTemplate_id != body.T_VerifyTemplate_id {
  616. copy_task := task
  617. copy_task.T_VerifyTemplate_id = body.T_VerifyTemplate_id
  618. _, err = CopyMapData(copy_task, task, 0)
  619. if err != nil {
  620. logs.Error("复制旧模板数据到新模板失败", err)
  621. }
  622. }
  623. MapDataList := make([]VerifyTemplate.VerifyTemplateMapData, 0)
  624. for _, v := range body.VerifyTemplateMapData {
  625. val := VerifyTemplate.VerifyTemplateMapData{
  626. T_source: v.T_source,
  627. T_task_id: body.T_task_id,
  628. T_VerifyTemplate_id: body.T_VerifyTemplate_id,
  629. T_VerifyTemplateMap_id: v.T_VerifyTemplateMap_id,
  630. T_Required: v.T_Required,
  631. T_Construction: v.T_Construction,
  632. T_flow_sort: v.T_flow_sort,
  633. T_max_time: v.T_max_time,
  634. T_min_time: v.T_min_time,
  635. T_value: v.T_value,
  636. T_start_time: v.T_start_time,
  637. }
  638. MapDataList = append(MapDataList, val)
  639. if v.T_label == 16 && len(v.T_value) > 0 {
  640. // 判断验证模版标签-描述是否存在该值,不存在则添加
  641. verifyTemplateMap, exist := VerifyTemplate.Read_VerifyTemplateMap(v.T_VerifyTemplateMap_id)
  642. if exist {
  643. // 用|分割成列表
  644. options := lib.SplitStringSeparator(verifyTemplateMap.T_text, "|")
  645. // 检查是否存在
  646. found := false
  647. for _, opt := range options {
  648. if opt == v.T_value {
  649. found = true
  650. break
  651. }
  652. }
  653. if !found {
  654. verifyTemplateMap.T_text = verifyTemplateMap.T_text + "|" + v.T_value
  655. VerifyTemplate.Update_VerifyTemplateMap(verifyTemplateMap, "T_text")
  656. }
  657. }
  658. }
  659. }
  660. var T_cover int
  661. if body.T_submit == 1 && T_reporting_state > 0 {
  662. T_cover = 1
  663. }
  664. ids, is := VerifyTemplate.AddOrUpdate_VerifyTemplateMapData_ADD_History(MapDataList, body.T_source, User_r.T_uuid, body.T_submit, T_cover, body.T_history)
  665. if !is {
  666. c.Data["json"] = lib.JSONS{Code: 202, Msg: "保存失败"}
  667. c.ServeJSON()
  668. return
  669. }
  670. // 手机app提交,发送消息通知
  671. if body.T_submit == 1 {
  672. _, company_r := Account.Read_User_ByT_uuid(task.T_uuid)
  673. _, admin_r := Account.Read_Admin_ByT_uuid(task.T_collection)
  674. System.Add_App_News(task.T_reporting, fmt.Sprintf("【%s-%s】数据采集工程师 %s 已提交", company_r.T_name, task.T_name, admin_r.T_name), "")
  675. }
  676. // 报告生成,备份数据
  677. if body.T_submit == 2 {
  678. var_ := Task.TaskCopy{
  679. T_task_id: task.T_task_id,
  680. T_time: "报告生成数据",
  681. T_State: 2,
  682. }
  683. T_copy_id, is2 := Task.Add_TaskCopy(var_)
  684. if !is2 {
  685. c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败!"}
  686. c.ServeJSON()
  687. return
  688. }
  689. // 创建数据表
  690. Task.CREATE_TaskDataCopy("default", T_copy_id)
  691. // 将数据表存档
  692. Task.TaskData_Arhiving(task.T_task_id, T_copy_id)
  693. }
  694. System.Add_UserLogs_T(User_r.T_uuid, "验证模版标签数据", "保存", body)
  695. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: ids}
  696. c.ServeJSON()
  697. return
  698. }
  699. // 相同模版id复制标签数据
  700. func (c *VerifyTemplateController) Map_Data_Copy2() {
  701. // 验证登录 User_is, User_r
  702. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  703. if !User_is {
  704. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  705. c.ServeJSON()
  706. return
  707. }
  708. T_source, _ := c.GetInt("T_source")
  709. T_flow, _ := c.GetInt("T_flow")
  710. if T_flow == 0 && T_source == 0 {
  711. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_source Err!"}
  712. c.ServeJSON()
  713. return
  714. }
  715. T_copy_task_id := c.GetString("T_copy_task_id")
  716. copy_task, is := Task.Read_Task(T_copy_task_id)
  717. if !is {
  718. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_copy_task_id 错误!"}
  719. c.ServeJSON()
  720. return
  721. }
  722. T_paste_task_id := c.GetString("T_paste_task_id")
  723. paste_task, is := Task.Read_Task(T_paste_task_id)
  724. if !is {
  725. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_paste_task_id 错误!"}
  726. c.ServeJSON()
  727. return
  728. }
  729. if copy_task.T_VerifyTemplate_id != paste_task.T_VerifyTemplate_id {
  730. c.Data["json"] = lib.JSONS{Code: 202, Msg: "仅支持相同模版间复制!"}
  731. c.ServeJSON()
  732. return
  733. }
  734. list := VerifyTemplate.Read_MapData_List(T_source, T_copy_task_id, copy_task.T_VerifyTemplate_id)
  735. MapDataList := make([]VerifyTemplate.VerifyTemplateMapData, 0)
  736. for _, v := range list {
  737. val := VerifyTemplate.VerifyTemplateMapData{
  738. T_source: T_source,
  739. T_task_id: paste_task.T_task_id,
  740. T_VerifyTemplate_id: paste_task.T_VerifyTemplate_id,
  741. T_VerifyTemplateMap_id: v.T_VerifyTemplateMap_id,
  742. T_Required: v.T_Required,
  743. T_Construction: v.T_Construction,
  744. T_flow_sort: v.T_flow_sort,
  745. T_max_time: v.T_max_time,
  746. T_min_time: v.T_min_time,
  747. T_value: v.T_value,
  748. }
  749. MapDataList = append(MapDataList, val)
  750. }
  751. var ids []int64
  752. ids, is = VerifyTemplate.AddOrUpdate_VerifyTemplateMapData_ADD_History(MapDataList, T_source, User_r.T_uuid, 0, 0, 0)
  753. if !is {
  754. c.Data["json"] = lib.JSONS{Code: 202, Msg: "保存失败"}
  755. c.ServeJSON()
  756. return
  757. }
  758. System.Add_UserLogs_T(User_r.T_uuid, "验证模版标签数据", "复制", MapDataList)
  759. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: ids}
  760. c.ServeJSON()
  761. return
  762. }
  763. // 通过标签名称复制标签数据
  764. func (c *VerifyTemplateController) Map_Data_Copy() {
  765. // 验证登录 User_is, User_r
  766. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  767. if !User_is {
  768. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  769. c.ServeJSON()
  770. return
  771. }
  772. T_source, _ := c.GetInt("T_source")
  773. T_flow, _ := c.GetInt("T_flow")
  774. if T_flow == 0 && T_source == 0 {
  775. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_source Err!"}
  776. c.ServeJSON()
  777. return
  778. }
  779. T_copy_task_id := c.GetString("T_copy_task_id")
  780. copy_task, is := Task.Read_Task(T_copy_task_id)
  781. if !is {
  782. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_copy_task_id 错误!"}
  783. c.ServeJSON()
  784. return
  785. }
  786. T_paste_task_id := c.GetString("T_paste_task_id")
  787. paste_task, is := Task.Read_Task(T_paste_task_id)
  788. if !is {
  789. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_paste_task_id 错误!"}
  790. c.ServeJSON()
  791. return
  792. }
  793. ids, err := CopyMapData(copy_task, paste_task, T_source)
  794. if err != nil {
  795. c.Data["json"] = lib.JSONS{Code: 202, Msg: err.Error()}
  796. c.ServeJSON()
  797. return
  798. }
  799. System.Add_UserLogs_T(User_r.T_uuid, "验证模版标签数据", "通过标签名称复制", fmt.Sprintf("copy_task_id:%s | paste_task_id:%s", T_copy_task_id, T_paste_task_id))
  800. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: ids}
  801. c.ServeJSON()
  802. return
  803. }
  804. // 添加标签数据
  805. func (c *VerifyTemplateController) Map_Data_History_List() {
  806. // 验证登录 User_is, User_r
  807. _, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  808. if !User_is {
  809. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  810. c.ServeJSON()
  811. return
  812. }
  813. T_task_id := c.GetString("T_task_id")
  814. T_source, _ := c.GetInt("T_source")
  815. task, is := Task.Read_Task(T_task_id)
  816. if !is {
  817. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_task_id 错误!"}
  818. c.ServeJSON()
  819. return
  820. }
  821. AdminMap := Account.AdminListToMap(Account.Read_Admin_List_ALL_1())
  822. UseVerifyTemplateMapDataHistoryTime, _ := lib.TimeStrToTime(conf.UseVerifyTemplateMapDataHistoryTime)
  823. var Data []VerifyTemplate.VerifyTemplateMapDataHistory_History_List_Res
  824. if len(conf.UseVerifyTemplateMapDataHistoryTime) > 0 && task.CreateTime.After(UseVerifyTemplateMapDataHistoryTime) {
  825. Data = VerifyTemplate.Read_VerifyTemplateMapDataHistory_History_List2(T_task_id, T_source, AdminMap)
  826. } else {
  827. Data = VerifyTemplate.Read_VerifyTemplateMapDataHistory_History_List(T_task_id, T_source, AdminMap)
  828. }
  829. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Data}
  830. c.ServeJSON()
  831. return
  832. }
  833. // 标签数据列表 -
  834. func (c *VerifyTemplateController) Map_Data_History_Data_List() {
  835. // 验证登录 User_is, User_r
  836. _, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  837. if !User_is {
  838. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  839. c.ServeJSON()
  840. return
  841. }
  842. T_time := c.GetString("T_time")
  843. if len(T_time) == 0 {
  844. c.Data["json"] = lib.JSONS{Code: 202, Msg: "请选择时间点!"}
  845. c.ServeJSON()
  846. return
  847. }
  848. T_source, _ := c.GetInt("T_source")
  849. if T_source == 0 {
  850. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_source Err!"}
  851. c.ServeJSON()
  852. return
  853. }
  854. T_task_id := c.GetString("T_task_id")
  855. task, is := Task.Read_Task(T_task_id)
  856. if !is {
  857. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_task_id 错误!"}
  858. c.ServeJSON()
  859. return
  860. }
  861. Map_List := VerifyTemplate.Read_VerifyTemplateMap_List_For_Data(task.T_VerifyTemplate_id, T_source, 0)
  862. Data := VerifyTemplate.Read_VerifyTemplateMapDataHistory_List(T_source, T_task_id, task.T_VerifyTemplate_id, T_time, Map_List)
  863. type JSONS struct {
  864. //必须的大写开头
  865. Code int16
  866. Msg string
  867. Data interface{} // 泛型
  868. T_step int
  869. }
  870. c.Data["json"] = JSONS{Code: 200, Msg: "ok!", Data: Data, T_step: task.T_step}
  871. c.ServeJSON()
  872. return
  873. }
  874. // 清除数据
  875. func (c *VerifyTemplateController) Map_Data_Clear_Value() {
  876. // 验证登录 User_is, User_r
  877. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  878. if !User_is {
  879. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  880. c.ServeJSON()
  881. return
  882. }
  883. T_VerifyTemplate_id := c.GetString("T_VerifyTemplate_id")
  884. T_VerifyTemplateMap_id := c.GetString("T_VerifyTemplateMap_id")
  885. T_task_id := c.GetString("T_task_id")
  886. _, is := Task.Read_Task(T_task_id)
  887. if !is {
  888. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_task_id 错误!"}
  889. c.ServeJSON()
  890. return
  891. }
  892. VerifyTemplate.Clear_VerifyTemplateMapData_T_value(T_task_id, T_VerifyTemplate_id, T_VerifyTemplateMap_id)
  893. 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))
  894. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  895. c.ServeJSON()
  896. return
  897. }
  898. // 历史数据恢复
  899. func (c *VerifyTemplateController) Map_Data_History_Recover() {
  900. // 验证登录 User_is, User_r
  901. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  902. if !User_is {
  903. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  904. c.ServeJSON()
  905. return
  906. }
  907. T_time := c.GetString("T_time")
  908. if len(T_time) == 0 {
  909. c.Data["json"] = lib.JSONS{Code: 202, Msg: "请选择时间点!"}
  910. c.ServeJSON()
  911. return
  912. }
  913. T_source, _ := c.GetInt("T_source")
  914. if T_source == 0 {
  915. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_source Err!"}
  916. c.ServeJSON()
  917. return
  918. }
  919. T_task_id := c.GetString("T_task_id")
  920. task, is := Task.Read_Task(T_task_id)
  921. if !is {
  922. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_task_id 错误!"}
  923. c.ServeJSON()
  924. return
  925. }
  926. HistoryList := VerifyTemplate.Read_MapDataHistory_List(T_source, T_task_id, task.T_VerifyTemplate_id, T_time)
  927. list := VerifyTemplate.Read_MapData_List(T_source, T_task_id, task.T_VerifyTemplate_id)
  928. HistoryListMap := make(map[string]VerifyTemplate.VerifyTemplateMapDataHistory)
  929. for _, data := range HistoryList {
  930. HistoryListMap[data.T_VerifyTemplateMap_id] = data
  931. }
  932. MapDataList := make([]VerifyTemplate.VerifyTemplateMapData, 0)
  933. for _, v := range list {
  934. if len(v.T_value) > 0 {
  935. continue
  936. }
  937. if HistoryListMap[v.T_VerifyTemplateMap_id].T_value == "" {
  938. continue
  939. }
  940. val := VerifyTemplate.VerifyTemplateMapData{
  941. T_source: T_source,
  942. T_task_id: task.T_task_id,
  943. T_VerifyTemplate_id: task.T_VerifyTemplate_id,
  944. T_VerifyTemplateMap_id: v.T_VerifyTemplateMap_id,
  945. T_Required: v.T_Required,
  946. T_Construction: v.T_Construction,
  947. T_flow_sort: v.T_flow_sort,
  948. T_max_time: v.T_max_time,
  949. T_min_time: v.T_min_time,
  950. T_value: HistoryListMap[v.T_VerifyTemplateMap_id].T_value,
  951. }
  952. MapDataList = append(MapDataList, val)
  953. }
  954. var ids []int64
  955. ids, is = VerifyTemplate.AddOrUpdate_VerifyTemplateMapData(MapDataList)
  956. if !is {
  957. c.Data["json"] = lib.JSONS{Code: 202, Msg: "保存失败"}
  958. c.ServeJSON()
  959. return
  960. }
  961. System.Add_UserLogs_T(User_r.T_uuid, "验证模版标签数据", "恢复", MapDataList)
  962. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: ids}
  963. c.ServeJSON()
  964. return
  965. }
  966. // 覆盖数据
  967. func (c *VerifyTemplateController) Map_Data_Cover() {
  968. // 验证登录 User_is, User_r
  969. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  970. if !User_is {
  971. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  972. c.ServeJSON()
  973. return
  974. }
  975. T_cover, _ := c.GetInt("T_cover") // 1覆盖 0不覆盖
  976. T_time := c.GetString("T_time")
  977. if len(T_time) == 0 {
  978. c.Data["json"] = lib.JSONS{Code: 202, Msg: "请选择时间点!"}
  979. c.ServeJSON()
  980. return
  981. }
  982. T_source, _ := c.GetInt("T_source")
  983. if T_source == 0 {
  984. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_source Err!"}
  985. c.ServeJSON()
  986. return
  987. }
  988. T_task_id := c.GetString("T_task_id")
  989. task, is := Task.Read_Task(T_task_id)
  990. if !is {
  991. c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_task_id 错误!"}
  992. c.ServeJSON()
  993. return
  994. }
  995. var ids []int64
  996. if T_cover == 1 {
  997. HistoryList := VerifyTemplate.Read_MapDataHistory_List(T_source, T_task_id, task.T_VerifyTemplate_id, T_time)
  998. list := VerifyTemplate.Read_MapData_List(T_source, T_task_id, task.T_VerifyTemplate_id)
  999. HistoryListMap := make(map[string]VerifyTemplate.VerifyTemplateMapDataHistory)
  1000. for _, data := range HistoryList {
  1001. HistoryListMap[data.T_VerifyTemplateMap_id] = data
  1002. }
  1003. MapDataList := make([]VerifyTemplate.VerifyTemplateMapData, 0)
  1004. for _, v := range list {
  1005. if len(v.T_value) > 0 {
  1006. continue
  1007. }
  1008. if HistoryListMap[v.T_VerifyTemplateMap_id].T_value == "" {
  1009. continue
  1010. }
  1011. val := VerifyTemplate.VerifyTemplateMapData{
  1012. T_source: T_source,
  1013. T_task_id: task.T_task_id,
  1014. T_VerifyTemplate_id: task.T_VerifyTemplate_id,
  1015. T_VerifyTemplateMap_id: v.T_VerifyTemplateMap_id,
  1016. T_Required: v.T_Required,
  1017. T_Construction: v.T_Construction,
  1018. T_flow_sort: v.T_flow_sort,
  1019. T_max_time: v.T_max_time,
  1020. T_min_time: v.T_min_time,
  1021. T_value: HistoryListMap[v.T_VerifyTemplateMap_id].T_value,
  1022. }
  1023. MapDataList = append(MapDataList, val)
  1024. }
  1025. ids, is = VerifyTemplate.AddOrUpdate_VerifyTemplateMapData(MapDataList)
  1026. if !is {
  1027. c.Data["json"] = lib.JSONS{Code: 202, Msg: "保存失败"}
  1028. c.ServeJSON()
  1029. return
  1030. }
  1031. System.Add_UserLogs_T(User_r.T_uuid, "验证模版标签数据", "覆盖", MapDataList)
  1032. }
  1033. task.T_cover = 0
  1034. task.T_backup = ""
  1035. Task.Update_Task(task, "T_cover", "T_backup")
  1036. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: ids}
  1037. c.ServeJSON()
  1038. return
  1039. }
  1040. func (c *VerifyTemplateController) Class_List() {
  1041. // 验证登录 User_is, User_r
  1042. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  1043. if !User_is {
  1044. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  1045. c.ServeJSON()
  1046. return
  1047. }
  1048. logs.Debug("经销商id", User_r.T_Distributor_id)
  1049. if len(User_r.T_Distributor_id) > 0 {
  1050. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Distributor.Read_DistributorVerifyTemplateClass_List(User_r.T_Distributor_id)}
  1051. c.ServeJSON()
  1052. return
  1053. }
  1054. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: VerifyTemplate.Read_VerifyTemplateClass_List()}
  1055. c.ServeJSON()
  1056. return
  1057. }
  1058. func (c *VerifyTemplateController) Class_Add() {
  1059. // 验证登录 User_is, User_r
  1060. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  1061. if !User_is {
  1062. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  1063. c.ServeJSON()
  1064. return
  1065. }
  1066. T_name := c.GetString("T_name")
  1067. T_fid, _ := c.GetInt("T_fid")
  1068. var_ := VerifyTemplate.VerifyTemplateClass{
  1069. T_name: T_name,
  1070. T_fid: T_fid,
  1071. T_State: 1,
  1072. }
  1073. Id, err := VerifyTemplate.Add_VerifyTemplateClass(var_)
  1074. if err != nil {
  1075. c.Data["json"] = lib.JSONS{Code: 203, Msg: "添加失败"}
  1076. c.ServeJSON()
  1077. return
  1078. }
  1079. System.Add_UserLogs_T(User_r.T_uuid, "模版分类", "添加", var_)
  1080. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Id}
  1081. c.ServeJSON()
  1082. return
  1083. }
  1084. func (c *VerifyTemplateController) Class_Up() {
  1085. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  1086. if !User_is {
  1087. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  1088. c.ServeJSON()
  1089. return
  1090. }
  1091. T_id, _ := c.GetInt("T_id")
  1092. T_name := c.GetString("T_name")
  1093. R_VerifyTemplateToolClass, err := VerifyTemplate.Read_VerifyTemplateClass_ById(T_id)
  1094. if err != nil {
  1095. c.Data["json"] = lib.JSONS{Code: 203, Msg: "T_id Err!"}
  1096. c.ServeJSON()
  1097. return
  1098. }
  1099. if len(T_name) > 0 {
  1100. R_VerifyTemplateToolClass.T_name = T_name
  1101. }
  1102. if is := VerifyTemplate.Update_VerifyTemplateClass(R_VerifyTemplateToolClass, "T_name"); !is {
  1103. c.Data["json"] = lib.JSONS{Code: 203, Msg: "修改失败"}
  1104. c.ServeJSON()
  1105. return
  1106. }
  1107. System.Add_UserLogs_T(User_r.T_uuid, "模版分类", "修改", R_VerifyTemplateToolClass)
  1108. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  1109. c.ServeJSON()
  1110. return
  1111. }
  1112. func (c *VerifyTemplateController) Class_Del() {
  1113. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  1114. if !User_is {
  1115. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  1116. c.ServeJSON()
  1117. return
  1118. }
  1119. T_id, _ := c.GetInt("T_id")
  1120. R_VerifyTemplateToolClass, err := VerifyTemplate.Read_VerifyTemplateClass_ById(T_id)
  1121. if err != nil {
  1122. c.Data["json"] = lib.JSONS{Code: 203, Msg: "T_id Err!"}
  1123. c.ServeJSON()
  1124. return
  1125. }
  1126. ids := VerifyTemplate.ReadVerifyTemplateClassIds_T_path(R_VerifyTemplateToolClass.T_path)
  1127. if is := VerifyTemplate.Delete_VerifyTemplateClass_ByIds(ids); !is {
  1128. c.Data["json"] = lib.JSONS{Code: 202, Msg: "删除失败!"}
  1129. c.ServeJSON()
  1130. return
  1131. }
  1132. System.Add_UserLogs(User_r.T_uuid, "模版分类", "删除", strconv.Itoa(T_id))
  1133. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  1134. c.ServeJSON()
  1135. return
  1136. }
  1137. // 复制验证模版-分类-标签
  1138. func (c *VerifyTemplateController) Class_Copy() {
  1139. // 验证登录 User_is, User_r
  1140. User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  1141. if !User_is {
  1142. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  1143. c.ServeJSON()
  1144. return
  1145. }
  1146. T_id, _ := c.GetInt("T_id") // 要复制的信息采集分类id
  1147. T_name := c.GetString("T_name")
  1148. // 查询要复制的信息采集分类id
  1149. R_VerifyTemplateClass, err := VerifyTemplate.Read_VerifyTemplateClass_ById(T_id)
  1150. if err != nil {
  1151. c.Data["json"] = lib.JSONS{Code: 203, Msg: "T_id Err!"}
  1152. c.ServeJSON()
  1153. return
  1154. }
  1155. if len(T_name) > 0 && T_name != R_VerifyTemplateClass.T_name {
  1156. R_VerifyTemplateClass.T_name = T_name
  1157. } else {
  1158. R_VerifyTemplateClass.T_name = R_VerifyTemplateClass.T_name + "_副本"
  1159. }
  1160. _, err = VerifyTemplate.CopyVerifyTemplateClassTree(R_VerifyTemplateClass.T_path, R_VerifyTemplateClass.T_fid, R_VerifyTemplateClass.T_name)
  1161. if err != nil {
  1162. c.Data["json"] = lib.JSONS{Code: 202, Msg: "复制验证模版分类失败"}
  1163. c.ServeJSON()
  1164. return
  1165. }
  1166. System.Add_UserLogs_T(User_r.T_uuid, "验证模版分类", "复制", T_id)
  1167. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  1168. c.ServeJSON()
  1169. return
  1170. }
  1171. func CopyMapData(copy_task, paste_task Task.Task, T_source int) (ids []int64, err error) {
  1172. copy_task_Map_List := VerifyTemplate.Read_VerifyTemplateMap_List_For_Data(copy_task.T_VerifyTemplate_id, T_source, 0)
  1173. copy_task_Data := VerifyTemplate.Read_VerifyTemplateMapData_List(T_source, copy_task.T_task_id, copy_task.T_VerifyTemplate_id, copy_task_Map_List)
  1174. Map_List := VerifyTemplate.Read_VerifyTemplateMap_List_For_Data(paste_task.T_VerifyTemplate_id, T_source, 0)
  1175. Data := VerifyTemplate.Read_VerifyTemplateMapData_List(T_source, paste_task.T_task_id, paste_task.T_VerifyTemplate_id, Map_List)
  1176. copyDataMap := make(map[string]string)
  1177. for _, data := range copy_task_Data {
  1178. copyDataMap[data.T_name] = data.T_value
  1179. }
  1180. MapDataList := make([]VerifyTemplate.VerifyTemplateMapData, 0)
  1181. for _, v := range Data {
  1182. // 已有值则不复制
  1183. if len(v.T_value) > 0 {
  1184. continue
  1185. }
  1186. if copyDataMap[v.T_name] == "" {
  1187. continue
  1188. }
  1189. val := VerifyTemplate.VerifyTemplateMapData{
  1190. T_source: v.T_source,
  1191. T_task_id: paste_task.T_task_id,
  1192. T_VerifyTemplate_id: paste_task.T_VerifyTemplate_id,
  1193. T_VerifyTemplateMap_id: v.T_VerifyTemplateMap_id,
  1194. T_Required: v.T_Required,
  1195. T_Construction: v.T_Construction,
  1196. T_flow_sort: v.T_flow_sort,
  1197. T_max_time: v.T_max_time,
  1198. T_min_time: v.T_min_time,
  1199. T_value: copyDataMap[v.T_name],
  1200. }
  1201. MapDataList = append(MapDataList, val)
  1202. }
  1203. ids, is := VerifyTemplate.AddOrUpdate_VerifyTemplateMapData_ADD_History(MapDataList, 0, "", 0, 0, 0)
  1204. if !is {
  1205. return ids, errors.New("保存复制数据失败")
  1206. }
  1207. return nil, err
  1208. }