zoie 2 лет назад
Родитель
Сommit
d29d0ea234

+ 25 - 20
Nats/Nats.go

@@ -41,8 +41,8 @@ type Extract_TaskData_Back struct {
 func NatsInit() {
 
 	// 发布-订阅 模式,打包数据
-	_, _ = lib.Nats.Subscribe("ColdVerify_Server_Extract_TaskData_Back", func(m *nats.Msg) {
-		logs.Debug("Extract_TaskData_Back message: %v\n", string(m.Data))
+	_, _ = lib.Nats.QueueSubscribe("ColdVerify_Server_Extract_TaskData_Back", "Extract_TaskData", func(m *nats.Msg) {
+		logs.Debug("Extract_TaskData_Back message: \n", string(m.Data))
 
 		var resp Extract_TaskData_Back
 
@@ -56,27 +56,32 @@ func NatsInit() {
 		// 清空表
 		Task.Truncate_TaskData(Task_r.T_task_id)
 
-		// 失败重试5次
+		//失败重试5次
 		DeviceClassList := new(sync.Map)
+		var count int
 		for _, v := range resp.DeviceClassList {
 			DeviceClassList.Store(fmt.Sprintf("%s|%s", v.T_sn, v.T_id), 5)
+			//err = Task.Import_TaskData_Back(v.T_sn, v.T_id, resp.Task.T_task_id, resp.Time_start, resp.Time_end)
+			count++
+			//time.Sleep(5 * time.Second)
 		}
-
-		DeviceClassList.Range(func(k, v any) bool {
-			T_snid := strings.Split(k.(string), "|")
-			T_sn := T_snid[0]
-			T_id := T_snid[1]
-			temp := v.(int)
-			temp--
-			DeviceClassList.Store(k, temp)
-
-			err = Task.Import_TaskData_Back(T_sn, T_id, resp.Task.T_task_id, resp.Time_start, resp.Time_end)
-			if err == nil || strings.Contains(err.Error(), "doesn't exist") {
-				DeviceClassList.Delete(k)
+		for count > 0 {
+			DeviceClassList.Range(func(k, v any) bool {
+				T_snid := strings.Split(k.(string), "|")
+				T_sn := T_snid[0]
+				T_id := T_snid[1]
+				temp := v.(int)
+				temp--
+				DeviceClassList.Store(k, temp)
+
+				err = Task.Import_TaskData_Back(T_sn, T_id, resp.Task.T_task_id, resp.Time_start, resp.Time_end)
+				if err == nil || strings.Contains(err.Error(), "doesn't exist") {
+					DeviceClassList.Delete(k)
+					count--
+				}
 				return true
-			}
-			return true
-		})
+			})
+		}
 
 		TaskData_Num := Task.Read_TaskData_Count(Task_r.T_task_id)
 
@@ -97,7 +102,7 @@ func NatsInit() {
 
 	})
 
-	_, _ = lib.Nats.Subscribe("ColdVerify_Server_Update_Task", func(m *nats.Msg) {
+	_, _ = lib.Nats.QueueSubscribe("ColdVerify_Server_Update_Task", "Update_Task", func(m *nats.Msg) {
 
 		var t_Req Task.Task
 		var t_R lib.JSONS
@@ -134,7 +139,7 @@ func NatsInit() {
 
 	})
 
-	_, _ = lib.Nats.Subscribe("ColdVerify_Server_Read_Task", func(m *nats.Msg) {
+	_, _ = lib.Nats.QueueSubscribe("ColdVerify_Server_Read_Task", "Read_Task", func(m *nats.Msg) {
 		fmt.Printf("ColdVerify_Server_Read_Task message: %+v\n", string(m.Data))
 
 		var t_R lib.JSONS

+ 1 - 1
controllers/Device.go

@@ -194,7 +194,7 @@ func (c *DeviceController) Device_Class() {
 	}
 
 	var cnt int64
-	DeviceList, cnt := Device.Read_DeviceClassList_List(T_class, T_sn, page, page_z)
+	DeviceList, cnt := Device.Read_DeviceClassList_List(T_class, T_sn, page, 9999)
 
 	for _, v := range DeviceList {
 		Device_r, _ := Device.Read_Device(v.T_sn)

+ 1 - 1
controllers/DeviceClass.go

@@ -222,7 +222,7 @@ func (c *DeviceClassController) List_List() {
 	}
 
 	var cnt int64
-	List, cnt := Device.Read_DeviceClassList_List(T_class, T_sn, page, page_z)
+	List, cnt := Device.Read_DeviceClassList_List(T_class, T_sn, page, 9999)
 	page_size := math.Ceil(float64(cnt) / float64(page_z))
 	r_jsons.List = List
 	r_jsons.Page = page

+ 17 - 1
controllers/TaskData.go

@@ -105,7 +105,7 @@ func (c *TaskDataController) Extract_TaskData_Back() {
 
 	DeviceClass_List := Device.Read_DeviceClassList_List_id(Task_r.T_class)
 	if len(DeviceClass_List) == 0 {
-		c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_Class_id 分类设备列表 为空!"}
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "设备列表为空,请先添加设备!"}
 		c.ServeJSON()
 		return
 	}
@@ -169,6 +169,11 @@ func (c *TaskDataController) TaskData_List() {
 		c.ServeJSON()
 		return
 	}
+	if Task_r.T_delivery_state == 2 {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "数据采集中,请稍后!"}
+		c.ServeJSON()
+		return
+	}
 
 	var cnt int64
 	List, cnt := Task.Read_TaskData_ById_List(Task_r.T_task_id, T_sn, T_id, Time_start, Time_end, page, page_z)
@@ -221,6 +226,12 @@ func (c *TaskDataController) UserTaskData_List() {
 		return
 	}
 
+	if Task_r.T_delivery_state == 2 {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "数据采集中,请稍后!"}
+		c.ServeJSON()
+		return
+	}
+
 	if Task_r.T_uuid != User_r.T_uuid {
 		c.Data["json"] = lib.JSONS{Code: 200, Msg: "无权访问!"}
 		c.ServeJSON()
@@ -258,6 +269,11 @@ func (c *TaskDataController) TaskDataClass_List() {
 		c.ServeJSON()
 		return
 	}
+	if Task_r.T_delivery_state == 2 {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "数据采集中,请稍后!"}
+		c.ServeJSON()
+		return
+	}
 
 	List := Task.Read_TaskData_ById_ClassList(Task_r.T_task_id)
 

+ 1 - 5
controllers/VerifyTemplate.go

@@ -438,12 +438,8 @@ func (c *VerifyTemplateController) Map_Data_Pu() {
 		if len(v.T_value) == 0 {
 			continue
 		}
-		T_source := body.T_source
-		if T_source == 0 {
-			T_source = v.T_source
-		}
 		val := VerifyTemplate.VerifyTemplateMapData{
-			T_source:               T_source,
+			T_source:               v.T_source,
 			T_task_id:              body.T_task_id,
 			T_VerifyTemplate_id:    body.T_VerifyTemplate_id,
 			T_VerifyTemplateMap_id: v.T_VerifyTemplateMap_id,

+ 5 - 2
models/Device/DeviceClassList.go

@@ -213,8 +213,11 @@ func Read_DeviceClassList_List(T_class int, T_sn string, page int, page_z int) (
 	}
 	cond := orm.NewCondition()
 	cond1 := cond.And("T_class", T_class).And("T_sn__icontains", T_sn).And("T_State", 1) // .AndNot("status__in", 1).Or("profile__age__gt", 2000)
-
-	qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("T_id").All(&r)
+	if page_z == 9999 {
+		qs.SetCond((*orm2.Condition)(cond1)).OrderBy("T_id").All(&r)
+	} else {
+		qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("T_id").All(&r)
+	}
 	cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count()
 	return r, cnt
 }

+ 12 - 9
models/Task/TaskData.go

@@ -119,25 +119,28 @@ func Import_TaskData(Sn string, T_id string, T_task_id string, Time_start string
 
 func Import_TaskData_Back(Sn string, T_id string, T_task_id string, Time_start string, Time_end string) error {
 	o := orm.NewOrm()
+	o.Begin()
 	// 开始插入数据
-	sql := "insert into z_task_data_" + T_task_id + "(t_id,t_t,t_rh,t_time) select t_id,t_t,t_rh,t_time from z_devicedata_" + Sn
+	sql := "insert into z_task_data_" + T_task_id + "(t_sn,t_id,t_t,t_rh,t_time) select '" + Sn + "','" + T_id + "',t_t,t_rh,t_time from z_devicedata_" + Sn
 	if len(Time_start) > 0 && len(Time_end) > 0 {
 		sql = sql + " WHERE t_time >= '" + Time_start + "' AND t_time <= '" + Time_end + "'"
 	}
 	logs.Println(sql)
 	_, err := o.Raw(sql).Exec()
 	if err != nil {
+		o.Rollback()
 		logs.Error(lib.FuncName(), err)
 		return err
 	}
-	// 强行替换  ID
-	sql = "UPDATE z_task_data_" + T_task_id + " SET `t_sn` = '" + Sn + "',`t_id` = '" + T_id + "' WHERE `t_sn` IS NULL"
-	logs.Println(sql)
-	_, err = o.Raw(sql).Exec()
-	if err != nil {
-		logs.Error(lib.FuncName(), err)
-		return err
-	}
+	o.Commit()
+	//// 强行替换  ID
+	//sql = "UPDATE z_task_data_" + T_task_id + " SET `t_sn` = '" + Sn + "',`t_id` = '" + T_id + "' WHERE `t_sn` IS NULL"
+	//logs.Println(sql)
+	//_, err = o.Raw(sql).Exec()
+	//if err != nil {
+	//	logs.Error(lib.FuncName(), err)
+	//	return err
+	//}
 
 	return nil
 }

+ 31 - 7
models/VerifyTemplate/VerifyTemplateMapData.go

@@ -89,16 +89,39 @@ func VerifyTemplateMapDataToVerifyTemplateMapData_R(T VerifyTemplateMap, VerifyT
 // 添加
 func AddOrUpdate_VerifyTemplateMapData(List []VerifyTemplateMapData) (ids []int64, is bool) {
 	o := orm.NewOrm()
+	qs := o.QueryTable(new(VerifyTemplateMapData))
 	o.Begin()
 	for _, v := range List {
-		// 生成编号
-		id, err := o.InsertOrUpdate(&v, "T_task_id", "T_VerifyTemplate_id", "T_VerifyTemplateMap_id")
+		var r VerifyTemplateMapData
+
+		err := qs.Filter("T_task_id", v.T_task_id).Filter("T_VerifyTemplate_id", v.T_VerifyTemplate_id).Filter("T_VerifyTemplateMap_id", v.T_VerifyTemplateMap_id).One(&r)
 		if err != nil {
-			logs.Error(lib.FuncName(), err)
-			o.Rollback()
-			return ids, false
+			if err.Error() == orm.ErrNoRows.Error() {
+				id, err := o.Insert(&v)
+				if err != nil {
+					logs.Error(lib.FuncName(), err)
+					o.Rollback()
+					return ids, false
+				}
+				ids = append(ids, id)
+			} else {
+				logs.Error(lib.FuncName(), err)
+				o.Rollback()
+				return ids, false
+			}
+		}
+
+		if r.Id > 0 {
+			v.Id = r.Id
+			_, err = o.Update(&v, "T_flow_sort", "T_max_time", "T_min_time", "T_value")
+			if err != nil {
+				logs.Error(lib.FuncName(), err)
+				o.Rollback()
+				return ids, false
+			}
+			ids = append(ids, int64(r.Id))
 		}
-		ids = append(ids, id)
+
 	}
 	o.Commit()
 
@@ -113,7 +136,8 @@ func Read_VerifyTemplateMapData_List(T_source int, T_task_id, T_VerifyTemplate_i
 	var r []VerifyTemplateMapData
 	qs := o.QueryTable(new(VerifyTemplateMapData))
 	cond := orm.NewCondition()
-	cond1 := cond.And("T_task_id", T_task_id).And("T_VerifyTemplate_id", T_VerifyTemplate_id).And("T_source", T_source)
+
+	cond1 := cond.And("T_task_id", T_task_id).And("T_VerifyTemplate_id", T_VerifyTemplate_id)
 
 	qs.SetCond((*orm2.Condition)(cond1)).All(&r)