zoie %!s(int64=2) %!d(string=hai) anos
pai
achega
72554f1aa3

+ 72 - 37
controllers/DeviceClass.go

@@ -7,8 +7,10 @@ import (
 	"ColdVerify_server/models/Certificate"
 	"ColdVerify_server/models/Device"
 	"ColdVerify_server/models/System"
+	"fmt"
 	beego "github.com/beego/beego/v2/server/web"
 	"math"
+	"strings"
 )
 
 type DeviceClassController struct {
@@ -248,8 +250,10 @@ func (c *DeviceClassController) List_Add() {
 	}
 
 	T_class, _ := c.GetInt("T_class")
-	T_id := c.GetString("T_id")
-	T_sn := c.GetString("T_sn")
+	//方式1:001,002,003,004,005,008
+	//方式2:001~005,008
+	T_layout_no_list := c.GetString("T_layout_no_list")
+	//T_sn := c.GetString("T_sn")
 	T_remark := c.GetString("T_remark")
 
 	_, is := Device.Read_DeviceClass_ById(T_class)
@@ -259,47 +263,78 @@ func (c *DeviceClassController) List_Add() {
 		return
 	}
 
-	if _, is = Device.Read_Device(T_sn); !is {
-		c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_sn 不存在!"}
-		c.ServeJSON()
-		return
-	}
+	list := strings.Split(strings.TrimRight(T_layout_no_list, ","), ",")
+	snMap := make(map[string]string)
+	for _, v := range list {
+		// 001~005
+		if strings.Contains(v, "~") {
+			vlist := strings.Split(v, "~")
+			if len(vlist) != 2 {
+				c.Data["json"] = lib.JSONS{Code: 202, Msg: "布局编号格式错误!"}
+				c.ServeJSON()
+				return
+			}
+			vstart, vend := lib.To_int(strings.TrimLeft(vlist[0], "0")), lib.To_int(strings.TrimLeft(vlist[1], "0"))
+			for i := vstart; i < vend+1; i++ {
+				T_id := fmt.Sprintf("%03d", i)
+				cert, is := Certificate.Read_Certificate_ByT_layout_no(T_id)
+				if !is {
+					c.Data["json"] = lib.JSONS{Code: 202, Msg: "布局编号不存在!"}
+					c.ServeJSON()
+					return
+				}
+				snMap[T_id] = cert.T_sn
+			}
+		} else {
+			// 001,002
+			cert, is := Certificate.Read_Certificate_ByT_layout_no(v)
+			if !is {
+				c.Data["json"] = lib.JSONS{Code: 202, Msg: "布局编号不存在!"}
+				c.ServeJSON()
+				return
+			}
+			snMap[v] = cert.T_sn
+		}
 
-	if dc, is := Device.Read_DeviceClassList_T_class_T_sn(T_class, T_sn); is && dc.Id > 0 {
-		c.Data["json"] = lib.JSONS{Code: 202, Msg: "重复添加"}
-		c.ServeJSON()
-		return
-	}
-	if _, is = Certificate.Read_Certificate(T_sn); !is {
-		c.Data["json"] = lib.JSONS{Code: 202, Msg: "证书不存在!"}
-		c.ServeJSON()
-		return
 	}
 
-	var pdf Certificate.CertificatePdf
-	pdfList, _ := Certificate.Read_CertificatePdf_Newest(T_sn)
-	if len(pdfList) > 0 {
-		pdf = pdfList[0]
-	}
+	for T_id, T_sn := range snMap {
+		if _, is = Device.Read_Device(T_sn); !is {
+			c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_sn 不存在!"}
+			c.ServeJSON()
+			return
+		}
 
-	var_ := Device.DeviceClassList{
-		T_class:        T_class,
-		T_id:           T_id,
-		T_sn:           T_sn,
-		T_failure_time: pdf.T_failure_time,
-		T_pdf:          pdf.T_pdf,
-		T_remark:       T_remark,
-		T_State:        1,
-	}
+		if dc, is := Device.Read_DeviceClassList_T_class_T_sn(T_class, T_sn); is && dc.Id > 0 {
+			continue
+		}
 
-	Id, is := Device.Add_DeviceClassList(var_)
-	if !is {
-		c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败!"}
-		c.ServeJSON()
-		return
+		var pdf Certificate.CertificatePdf
+		pdfList, _ := Certificate.Read_CertificatePdf_Newest(T_sn)
+		if len(pdfList) > 0 {
+			pdf = pdfList[0]
+		}
+
+		var_ := Device.DeviceClassList{
+			T_class:        T_class,
+			T_id:           T_id,
+			T_sn:           T_sn,
+			T_failure_time: pdf.T_failure_time,
+			T_pdf:          pdf.T_pdf,
+			T_remark:       T_remark,
+			T_State:        1,
+		}
+
+		_, is = Device.Add_DeviceClassList(var_)
+		if !is {
+			c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败!"}
+			c.ServeJSON()
+			return
+		}
+		System.Add_UserLogs_T(User_r.T_uuid, "分类设备管理", "添加", var_)
 	}
-	System.Add_UserLogs_T(User_r.T_uuid, "分类设备管理", "添加", var_)
-	c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Id}
+
+	c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
 	c.ServeJSON()
 	return
 }

+ 19 - 23
controllers/Task.go

@@ -193,10 +193,19 @@ func (c *TaskController) AddData_Tool() {
 
 	T_name := c.GetString("T_name")
 	T_task_id := c.GetString("T_task_id")
-
+	dc := Device.DeviceClass{
+		T_uuid:  T_uuid,
+		T_State: 1,
+	}
+	T_class_id, is := Device.Add_DeviceClass(dc)
+	if !is {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加分类失败!"}
+		c.ServeJSON()
+		return
+	}
 	var_ := Task.Task{
 		T_task_id:          T_task_id,
-		T_class:            0,
+		T_class:            int(T_class_id),
 		T_uuid:             T_uuid,
 		T_name:             T_name,
 		T_Show:             1,
@@ -204,7 +213,14 @@ func (c *TaskController) AddData_Tool() {
 		T_collection_state: 2,
 	}
 
-	_, is := Task.Add_Task_Tool(var_)
+	r, _ := Task.Read_Task(T_task_id)
+	if r.Id > 0 {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "任务id已存在!"}
+		c.ServeJSON()
+		return
+	}
+
+	_, is = Task.Add_Task_Tool(var_)
 	if !is {
 		c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败!"}
 		c.ServeJSON()
@@ -240,10 +256,6 @@ func (c *TaskController) Up() {
 	T_collection := c.GetString("T_collection")
 	T_reporting := c.GetString("T_reporting")
 	T_delivery := c.GetString("T_delivery")
-	//T_scheme_state, T_scheme_err := c.GetInt("T_scheme_state")
-	//T_collection_state, T_collection_err := c.GetInt("T_collection_state")
-	//T_reporting_state, T_reporting_err := c.GetInt("T_reporting_state")
-	//T_delivery_state, T_delivery_err := c.GetInt("T_delivery_state")
 	T_doc1 := c.GetString("T_doc1")
 	T_pdf1 := c.GetString("T_pdf1")
 	T_doc2 := c.GetString("T_doc2")
@@ -297,22 +309,6 @@ func (c *TaskController) Up() {
 		r.T_delivery = T_delivery
 		clos = append(clos, "T_delivery")
 	}
-	//if T_scheme_err == nil {
-	//	r.T_scheme_state = T_scheme_state
-	//	clos = append(clos, "T_scheme_state")
-	//}
-	//if T_collection_err == nil {
-	//	r.T_collection_state = T_collection_state
-	//	clos = append(clos, "T_collection_state")
-	//}
-	//if T_reporting_err == nil {
-	//	r.T_reporting_state = T_reporting_state
-	//	clos = append(clos, "T_reporting_state")
-	//}
-	//if T_delivery_err == nil {
-	//	r.T_delivery_state = T_delivery_state
-	//	clos = append(clos, "T_delivery_state")
-	//}
 
 	if len(T_doc1) > 0 {
 		r.T_doc1 = T_doc1

+ 0 - 3
models/Task/TaskData.go

@@ -119,7 +119,6 @@ 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_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 {
@@ -128,11 +127,9 @@ func Import_TaskData_Back(Sn string, T_id string, T_task_id string, Time_start s
 	logs.Println(sql)
 	_, err := o.Raw(sql).Exec()
 	if err != nil {
-		o.Rollback()
 		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)

+ 1 - 1
models/VerifyTemplate/VerifyTemplateMapData.go

@@ -93,7 +93,7 @@ func AddOrUpdate_VerifyTemplateMapData(List []VerifyTemplateMapData) (ids []int6
 	o.Begin()
 	for _, v := range List {
 		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 {
 			if err.Error() == orm.ErrNoRows.Error() {