VerifyTemplate.go 38 KB

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