ソースを参照

add:验证模版标签为单选内容(T_label=16)时判断该模版描述是否存在,不存在则追加

zoie 2 ヶ月 前
コミット
dcab096c76

+ 22 - 0
Nats/Nats.go

@@ -230,6 +230,28 @@ func NatsInit() {
 		_ = lib.Nats.Publish(m.Reply, b)
 
 	})
+	_, _ = lib.Nats.QueueSubscribe("ColdVerify_Server_Read_Admin", "Read_Admin", func(m *nats.Msg) {
+		logs.Println("ColdVerify_Server_Read_User message: %+v\n", string(m.Data))
+
+		var t_R lib.JSONS
+		err, admin := Account.Read_Admin_ByT_uuid(string(m.Data))
+		if err != nil {
+			logs.Error("Mats", lib.FuncName())
+			t_R.Code = 202
+			t_R.Msg = "查询失败"
+			b, _ := msgpack.Marshal(&t_R)
+			_ = lib.Nats.Publish(m.Reply, b)
+			return
+		}
+
+		t_R.Code = 200
+		t_R.Msg = "ok"
+		t_R.Data = admin
+
+		b, _ := msgpack.Marshal(&t_R)
+		_ = lib.Nats.Publish(m.Reply, b)
+
+	})
 
 	_, _ = lib.Nats.QueueSubscribe("ColdVerify_Server_Add_DeviceClassList", "Add_DeviceClassList", func(m *nats.Msg) {
 

+ 64 - 0
controllers/Task.go

@@ -2753,3 +2753,67 @@ func (c *TaskController) Auto_fill_deploy() {
 	c.ServeJSON()
 	return
 }
+
+// SyncVerifyTemplateMapData 根据标签名称同步模版数据
+func (c *TaskController) SyncVerifyTemplateMapData() {
+	T_copy_task_id := c.GetString("T_copy_task_id")
+	T_paste_task_id := c.GetString("T_paste_task_id")
+	T_source, _ := c.GetInt("T_source")
+	copy_task, is := Task.Read_Task(T_copy_task_id)
+	if !is {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
+		c.ServeJSON()
+		return
+	}
+	paste_task, is := Task.Read_Task(T_paste_task_id)
+	if !is {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
+		c.ServeJSON()
+		return
+	}
+
+	copy_task_Map_List := VerifyTemplate.Read_VerifyTemplateMap_List_For_Data(copy_task.T_VerifyTemplate_id, 0, 0)
+	copy_task_Data := VerifyTemplate.Read_VerifyTemplateMapData_List(T_source, T_copy_task_id, copy_task.T_VerifyTemplate_id, copy_task_Map_List)
+
+	Map_List := VerifyTemplate.Read_VerifyTemplateMap_List_For_Data(paste_task.T_VerifyTemplate_id, 0, 0)
+	Data := VerifyTemplate.Read_VerifyTemplateMapData_List(T_source, T_paste_task_id, paste_task.T_VerifyTemplate_id, Map_List)
+
+	copyDataMap := make(map[string]string)
+	for _, data := range copy_task_Data {
+		copyDataMap[data.T_name] = data.T_value
+	}
+
+	MapDataList := make([]VerifyTemplate.VerifyTemplateMapData, 0)
+	for _, v := range Data {
+		if len(v.T_value) > 0 {
+			continue
+		}
+		if copyDataMap[v.T_name] == "" {
+			continue
+		}
+		val := VerifyTemplate.VerifyTemplateMapData{
+			T_source:               T_source,
+			T_task_id:              paste_task.T_task_id,
+			T_VerifyTemplate_id:    paste_task.T_VerifyTemplate_id,
+			T_VerifyTemplateMap_id: v.T_VerifyTemplateMap_id,
+
+			T_flow_sort: v.T_flow_sort,
+			T_max_time:  v.T_max_time,
+			T_min_time:  v.T_min_time,
+
+			T_value: copyDataMap[v.T_name],
+		}
+		MapDataList = append(MapDataList, val)
+	}
+	var ids []int64
+	ids, is = VerifyTemplate.AddOrUpdate_VerifyTemplateMapData(MapDataList)
+	if !is {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "保存失败"}
+		c.ServeJSON()
+		return
+	}
+
+	c.Data["json"] = lib.JSONS{Data: ids, Code: 200, Msg: "ok!"}
+	c.ServeJSON()
+	return
+}

+ 23 - 0
controllers/VerifyTemplate.go

@@ -700,6 +700,29 @@ func (c *VerifyTemplateController) Map_Data_Pu() {
 			T_start_time: v.T_start_time,
 		}
 		MapDataList = append(MapDataList, val)
+
+		if v.T_label == 16 && len(v.T_value) > 0 {
+			// 判断验证模版标签-描述是否存在该值,不存在则添加
+			verifyTemplateMap, exist := VerifyTemplate.Read_VerifyTemplateMap(v.T_VerifyTemplateMap_id)
+			if exist {
+				// 用|分割成列表
+				options := lib.SplitStringSeparator(verifyTemplateMap.T_text, "|")
+
+				// 检查是否存在
+				found := false
+				for _, opt := range options {
+					if opt == v.T_value {
+						found = true
+						break
+					}
+				}
+
+				if !found {
+					verifyTemplateMap.T_text = verifyTemplateMap.T_text + "|" + v.T_value
+					VerifyTemplate.Update_VerifyTemplateMap(verifyTemplateMap, "T_text")
+				}
+			}
+		}
 	}
 	ids, is := VerifyTemplate.AddOrUpdate_VerifyTemplateMapData_ADD_History(MapDataList, body.T_source, User_r.T_uuid)
 	if !is {

+ 1 - 1
models/InfoCollection/VerifyTemplateMap.go

@@ -21,7 +21,7 @@ type InfoTemplateMap struct {
 	//1:文本
 	//2:数值
 	//3:设备多选 (1|2|3|4|5|6|)
-	//4:设备单选 (1)
+	//4:设备单选 (1)
 	//7:当期时间(2022年01月19日)
 	//9:当期时间(开始与结束时间)(2022-01-01 13:08|2022-01-02 13:08)
 	//10:图片