| 
					
				 | 
			
			
				@@ -3,6 +3,7 @@ package Device 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"Cold_Api/conf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"Cold_Api/controllers/lib" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	"Cold_Api/logs" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"Cold_Api/models/Account" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"encoding/json" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"fmt" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -111,27 +112,27 @@ func init() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	var err error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	redisCache_DeviceSensor, err = cache.NewCache("redis", config) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if err != nil || redisCache_DeviceSensor == nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		errMsg := "failed to init redis" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		errMsg := "failed to init redis_DeviceSensor" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		fmt.Println(errMsg, err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // ---------------- Redis ------------------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// Redis_Set(m.T_sn,m) // Redis 更新缓存 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// Redis_Device_Set(m.T_sn,m) // Redis 更新缓存 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 func Redis_DeviceSensor_Set(r DeviceSensor) (err error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	key := r.T_sn + "|" + strconv.Itoa(r.T_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	//json序列化 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	str, err := json.Marshal(r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		fmt.Print(err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("Redis_DeviceSensor_Set", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	err = redisCache_DeviceSensor.Put(key, str, 24*time.Hour) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		fmt.Println("set key:", key, ",value:", str, err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("set key:", key, ",value:", str, err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -139,15 +140,21 @@ func Redis_DeviceSensor_Get(key string) (r DeviceSensor, is bool) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if redisCache_DeviceSensor.IsExist(key) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		//println("找到key:",key) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		v := redisCache_DeviceSensor.Get(key) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		json.Unmarshal(v.([]byte), &r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		err := json.Unmarshal(v.([]byte), &r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			logs.Error("Redis_DeviceSensor_Get", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return DeviceSensor{}, false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return r, true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	//println("没有 找到key:",key) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return DeviceSensor{}, false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 func Redis_DeviceSensor_DelK(r DeviceSensor) (err error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	key := r.T_sn + "|" + strconv.Itoa(r.T_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	err = redisCache_DeviceSensor.Delete(key) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("Redis_DeviceSensor_DelK", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -195,7 +202,11 @@ func Read_DeviceSensor_Num_ByT_sn(T_sn string) int { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	o := orm.NewOrm() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	// 也可以直接使用 Model 结构体作为表名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	qs := o.QueryTable(new(DeviceSensor)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	cnt, _ := qs.Filter("T_sn", T_sn).Count() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	cnt, err := qs.Filter("T_sn", T_sn).Count() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("Read_DeviceSensor_Num_ByT_sn", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return int(cnt) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -244,14 +255,22 @@ func Read_DeviceSensorList(admin_r *Account.Admin, T_pid int, T_sn string, T_nam 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		cond1 = cond1.And("T_datashow", 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("T_sort", "T_id").All(&r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	_, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("T_sort", "T_id").All(&r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("Read_DeviceSensorList", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	cnt, err = qs.SetCond((*orm2.Condition)(cond1)).Count() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("Read_DeviceSensorList Count", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	for _, v := range r { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		DeviceSensor_r = append(DeviceSensor_r, DeviceSensorToDeviceSensor_R(v)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return DeviceSensor_r, cnt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	//return r, cnt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 获取 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -264,7 +283,7 @@ func Read_DeviceSensor_ByT_sn(T_sn string, T_id int) (r DeviceSensor, is bool) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	r = DeviceSensor{T_sn: T_sn, T_id: T_id} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	err := o.Read(&r, "T_sn", "T_id") // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		fmt.Println("Delete_DeviceSensor_ById", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("Read_DeviceSensor_ByT_sn", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return r, false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -282,10 +301,10 @@ func Delete_DeviceSensor_ById(T_sn string, T_id int) (err error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		fmt.Println("Delete_DeviceSensor_ById", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// ascertain id exists in the database 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	var num int64 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if num, err = o.Delete(&DeviceSensor{Id: r.Id}); err == nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		fmt.Println("Number of records deleted in database:", num) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	_, err = o.Delete(&DeviceSensor{Id: r.Id}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("Delete_DeviceSensor_ById", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	Redis_DeviceSensor_DelK(r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -294,13 +313,15 @@ func Delete_DeviceSensor_ById(T_sn string, T_id int) (err error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 修改 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 func Update_DeviceSensor(r DeviceSensor, cols ...string) bool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	o := orm.NewOrm() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if num, err := o.Update(&r, cols...); err == nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		fmt.Println("Number of records updated in database:", num) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Redis_DeviceSensor_Set(r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	num, err := o.Update(&r, cols...) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("Update_DeviceSensor", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	fmt.Println("Number of records updated in database:", num) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	Redis_DeviceSensor_Set(r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	return false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 修改T_Class,替换为"" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -308,68 +329,52 @@ func DeviceSensor_Bind_T_Class_Del(T_sn string, T_id int, T_Class_id int) (err e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	o := orm.NewOrm() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	v := DeviceSensor{T_sn: T_sn, T_id: T_id} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	T_Class := "C" + strconv.Itoa(T_Class_id) + "|" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if err = o.Read(&v, "T_sn", "T_id"); err == nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		v.T_Class = strings.Replace(v.T_Class, T_Class, "", -1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if _, err := o.Update(&v, "T_Class"); err == nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			Redis_DeviceSensor_Set(v) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	err = o.Read(&v, "T_sn", "T_id") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("DeviceSensor_Bind_T_Class_Del", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	v.T_Class = strings.Replace(v.T_Class, T_Class, "", -1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	_, err = o.Update(&v, "T_Class") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("DeviceSensor_Bind_T_Class_Del", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	return err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	Redis_DeviceSensor_Set(v) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 修改T_Class,追加 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-func DeviceSensor_T_Class_Add(T_sn string, T_id int, T_Class_id int) (err error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func DeviceSensor_Bind_T_Class_Add(T_sn string, T_id int, T_Class_id int) (err error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	o := orm.NewOrm() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	v := DeviceSensor{T_sn: T_sn, T_id: T_id} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	T_Class := "C" + strconv.Itoa(T_Class_id) + "|" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if err = o.Read(&v, "T_sn", "T_id"); err == nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		v.T_Class = strings.Replace(v.T_Class, T_Class, "", -1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		v.T_Class = v.T_Class + T_Class 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if _, err := o.Update(&v, "T_Class"); err == nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			Redis_DeviceSensor_Set(v) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	err = o.Read(&v, "T_sn", "T_id") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("DeviceSensor_Bind_T_Class_Add", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	return err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	v.T_Class = strings.Replace(v.T_Class, T_Class, "", -1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	v.T_Class = v.T_Class + T_Class 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	_, err = o.Update(&v, "T_Class") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("DeviceSensor_Bind_T_Class_Add", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	Redis_DeviceSensor_Set(v) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 修改 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-func DeviceSensor_T_Class_ALL_Del(T_Class_id int) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	o := orm.NewOrm() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	qs := o.QueryTable(new(DeviceSensor)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	var r []DeviceSensor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	T_Class := "C" + strconv.Itoa(T_Class_id) + "|" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	qs.Filter("T_Class__icontains", T_Class).All(&r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	for _, v := range r { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		v.T_Class = strings.Replace(v.T_Class, T_Class, "", -1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		o.Update(&v, "T_Class") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//// 修改 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//func Update_DeviceSensor_ByTsn_All_T_Bind(T_sn string, T_Bind string) (err error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//	o := orm.NewOrm() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//	var r_l []DeviceSensor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//	qs := o.QueryTable(new(DeviceSensor)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//	qs.Filter("T_sn", T_sn).OrderBy("T_id").All(&r_l) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//	for _, v := range r_l { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//		v.T_Bind = T_Bind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//		o.Update(&v, "T_Bind") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//	return err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 获取 ById 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 func Read_DeviceSensor_ByTsn_Tid(T_sn string, T_id int) (r DeviceSensor, err error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	o := orm.NewOrm() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	r = DeviceSensor{T_sn: T_sn, T_id: T_id} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	err = o.Read(&r, "T_sn", "T_id") // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("Read_DeviceSensor_ByTsn_Tid", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return r, err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -382,38 +387,18 @@ func Read_DeviceSensor_ByTsn(T_sn string) ([]DeviceSensor, int) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	qs := o.QueryTable(new(DeviceSensor)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	var r []DeviceSensor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	qs.Filter("T_sn", T_sn).OrderBy("T_id").All(&r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	cnt, _ := qs.Filter("T_sn", T_sn).Count() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	//var DeviceSensor_r []DeviceSensor_R 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	//for _, v := range r { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	//	DeviceSensor_r = append(DeviceSensor_r, DeviceSensorToDeviceSensor_R(v)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	//} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	//return DeviceSensor_r, int(cnt) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	return r, int(cnt) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 获取列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-func Read_DeviceSensor_ALL_T_sn(T_sn string, page int, page_z int) (DeviceSensor_r []DeviceSensor_R, cnt int64) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	o := orm.NewOrm() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// 也可以直接使用 Model 结构体作为表名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	qs := o.QueryTable(new(DeviceSensor)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	var offset int64 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if page <= 1 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		offset = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		offset = int64((page - 1) * page_z) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	_, err := qs.Filter("T_sn", T_sn).OrderBy("T_id").All(&r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("Read_DeviceSensor_ByTsn", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return r, 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	var r []DeviceSensor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	qs.Limit(page_z, offset).Filter("T_sn", T_sn).OrderBy("T_id").All(&r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	cnt, _ = qs.Filter("T_sn", T_sn).Count() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	for _, v := range r { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		DeviceSensor_r = append(DeviceSensor_r, DeviceSensorToDeviceSensor_R(v)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	cnt, err := qs.Filter("T_sn", T_sn).Count() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("Read_DeviceSensor_ByTsn Count", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return r, 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	return DeviceSensor_r, cnt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return r, int(cnt) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 获取列表 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -444,37 +429,22 @@ func Read_DeviceSensor_List_T_Class(T_pid int, T_Class_id int, T_sn string, T_na 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		cond1 = cond1.AndCond(cond.And("T_type", T_type)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("T_sort", "T_id").All(&r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	_, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("T_sort", "T_id").All(&r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("Read_DeviceSensor_List_T_Class", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	cnt, err = qs.SetCond((*orm2.Condition)(cond1)).Count() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("Read_DeviceSensor_List_T_Class Count", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	for _, v := range r { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		DeviceSensor_r = append(DeviceSensor_r, DeviceSensorToDeviceSensor_R(v)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return DeviceSensor_r, cnt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	//return r, cnt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 获取列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-func Read_DeviceSensor_Map_ALL_1(T_pid int, T_Class_id int, T_sn string, T_name string, SN_type string) (r []DeviceSensor) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	o := orm.NewOrm() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// 也可以直接使用 Model 结构体作为表名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	qs := o.QueryTable(new(DeviceSensor)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	//now := time.Now() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	//// 一天前 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	//d, _ := time.ParseDuration("-1h") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	//now = now.Add(d) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	T_Class := "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if T_Class_id != 0 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		T_Class = "C" + strconv.Itoa(T_Class_id) + "|" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	fmt.Println("T_Class:", T_Class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	qs.Filter("T_pid", T_pid).Filter("T_Class__icontains", T_Class).Filter("T_sn__icontains", SN_type).Filter("T_sn__icontains", T_sn).Filter("T_name__icontains", T_name).OrderBy("-UpdateTime").All(&r) //.Filter("UpdateTime__gte", now) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	return r 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 获取列表 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -485,7 +455,12 @@ func Read_DeviceSensor_ALL_T_sn_T_id_T_Class(T_sn string, T_id int, T_Class_id i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	qs := o.QueryTable(new(DeviceSensor)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	T_Class := "C" + strconv.Itoa(T_Class_id) + "|" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	qs.Filter("T_Class__icontains", T_Class).Filter("T_id", T_id).Filter("T_sn", T_sn).All(&r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	_, err := qs.Filter("T_Class__icontains", T_Class).Filter("T_id", T_id).Filter("T_sn", T_sn).All(&r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("Read_DeviceSensor_ALL_T_sn_T_id_T_Class Count", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return r 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -498,7 +473,11 @@ func Read_DeviceSensor_ALL_List_T_sn(T_sn string) (r []DeviceSensor) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	qs := o.QueryTable(new(DeviceSensor)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	qs.Filter("T_sn", T_sn).All(&r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	_, err := qs.Filter("T_sn", T_sn).All(&r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("Read_DeviceSensor_ALL_List_T_sn", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return r 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -511,7 +490,11 @@ func Read_DeviceSensor_ALL_Class_Id(T_Class_id int) (r []DeviceSensor) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	qs := o.QueryTable(new(DeviceSensor)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	T_Class := "C" + strconv.Itoa(T_Class_id) + "|" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	qs.Filter("T_Class__icontains", T_Class).All(&r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	_, err := qs.Filter("T_Class__icontains", T_Class).All(&r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("Read_DeviceSensor_ALL_Class_Id", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return r 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -522,6 +505,7 @@ func DELETE_DeviceSensor(SN string) bool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	o := orm.NewOrm() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	_, err := o.Raw(sql).Exec() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("DELETE_DeviceSensor", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return true 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -537,7 +521,11 @@ func Read_DeviceSensor_ALL_T_sn_T_id_T_Notice(T_sn string, T_id int, T_Notice_id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	qs := o.QueryTable(new(DeviceSensor)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	T_Notice := "N" + strconv.Itoa(T_Notice_id) + "|" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	qs.Filter("T_Notice__icontains", T_Notice).Filter("T_id", T_id).Filter("T_sn", T_sn).All(&r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	_, err := qs.Filter("T_Notice__icontains", T_Notice).Filter("T_id", T_id).Filter("T_sn", T_sn).All(&r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("Read_DeviceSensor_ALL_T_sn_T_id_T_Notice", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return r 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -547,13 +535,19 @@ func DeviceSensor_Bind_T_Notice_Del(T_sn string, T_id int, T_Notice_id int) (err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	o := orm.NewOrm() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	v := DeviceSensor{T_sn: T_sn, T_id: T_id} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	T_Notice := "N" + strconv.Itoa(T_Notice_id) + "|" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if err = o.Read(&v, "T_sn", "T_id"); err == nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		v.T_Notice = strings.Replace(v.T_Notice, T_Notice, "", -1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if _, err = o.Update(&v, "T_Notice"); err == nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			Redis_DeviceSensor_Set(v) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	err = o.Read(&v, "T_sn", "T_id") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("DeviceSensor_Bind_T_Notice_Del", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	return err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	v.T_Notice = strings.Replace(v.T_Notice, T_Notice, "", -1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	_, err = o.Update(&v, "T_Notice") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("DeviceSensor_Bind_T_Notice_Del", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	Redis_DeviceSensor_Set(v) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -562,14 +556,20 @@ func DeviceSensor_Bind_T_Notice_Add(T_sn string, T_id int, T_Notice_id int) (err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	o := orm.NewOrm() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	v := DeviceSensor{T_sn: T_sn, T_id: T_id} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	T_Notice := "N" + strconv.Itoa(T_Notice_id) + "|" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if err = o.Read(&v, "T_sn", "T_id"); err == nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		v.T_Notice = strings.Replace(v.T_Notice, T_Notice, "", -1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		v.T_Notice = v.T_Notice + T_Notice 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if _, err = o.Update(&v, "T_Notice"); err == nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			Redis_DeviceSensor_Set(v) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	err = o.Read(&v, "T_sn", "T_id") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("DeviceSensor_Bind_T_Notice_Add", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	v.T_Notice = strings.Replace(v.T_Notice, T_Notice, "", -1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	v.T_Notice = v.T_Notice + T_Notice 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	_, err = o.Update(&v, "T_Notice") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("DeviceSensor_Bind_T_Notice_Add", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	return err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	Redis_DeviceSensor_Set(v) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 获取列表 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -580,7 +580,11 @@ func Read_DeviceSensor_ALL_Notice_Id(T_Notice_id int) (r []DeviceSensor) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	qs := o.QueryTable(new(DeviceSensor)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	T_Notice := "N" + strconv.Itoa(T_Notice_id) + "|" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	qs.Filter("T_Notice__icontains", T_Notice).All(&r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	_, err := qs.Filter("T_Notice__icontains", T_Notice).All(&r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("Read_DeviceSensor_ALL_Notice_Id", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return r 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -613,8 +617,17 @@ func Read_DeviceSensor_List_T_Notice(T_pid int, T_Notice_id int, page int, page_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		cond1 = cond1.AndCond(cond.And("T_type", T_type)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("T_sort", "T_id").All(&r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	_, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("T_sort", "T_id").All(&r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("Read_DeviceSensor_List_T_Notice", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	cnt, err = qs.SetCond((*orm2.Condition)(cond1)).Count() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("Read_DeviceSensor_List_T_Notice Count", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	for _, v := range r { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		DeviceSensor_r = append(DeviceSensor_r, DeviceSensorToDeviceSensor_R(v)) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -691,6 +704,7 @@ func Read_DeviceSensorManageList(admin_r *Account.Admin, T_pid int, T_name strin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	fmt.Println(sql) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	_, err := o.Raw(sql).ValuesList(&maps_z) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("Read_DeviceSensorManageList", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return DeviceSensor_p, 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if len(maps_z) == 0 { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -709,6 +723,10 @@ func Read_DeviceSensorManageList(admin_r *Account.Admin, T_pid int, T_name strin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	fmt.Println(sql) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	_, err = o.Raw(sql).QueryRows(&maps) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("Read_DeviceSensorManageList", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	key, _ := strconv.ParseInt(maps_z[0][0].(string), 10, 64) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -753,8 +771,16 @@ func Read_DeviceSensor_List_For_Data(T_pid int, T_sn string, T_name string, T_Cl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		cond1 = cond1.AndCond(cond.Or("T_name__icontains", T_name).Or("T_sn__icontains", T_name)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("T_sort", "T_id").All(&r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	_, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("T_sort", "T_id").All(&r) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("Read_DeviceSensor_List_For_Data", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	cnt, err = qs.SetCond((*orm2.Condition)(cond1)).Count() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("Read_DeviceSensor_List_For_Data Count", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	// 实时数据页面,温度或者湿度不在正常区间,排在最前面 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if T_RealTime == 1 { 
			 |