Bladeren bron

fixbug:主页及报警条件筛选不生效

zoie 2 jaren geleden
bovenliggende
commit
22732a2b03

+ 1 - 1
conf/app.conf

@@ -41,4 +41,4 @@ Oss_file = "C:\\Users\\Administrator\\Pictures\\oss"
 Panel_url = "http://127.0.0.1:6204/Cold_Panel"
 Panel_url = "http://127.0.0.1:6204/Cold_Panel"
 
 
 FilterExcludeURL = /Login_verification
 FilterExcludeURL = /Login_verification
-FilterOnlyLoginCheckURL = /Menu/List,/User/Info,/User/Home
+FilterOnlyLoginCheckURL = /Menu/List,/User/Info,/User/Home,/UpFileToken

+ 3 - 3
controllers/Device.go

@@ -562,7 +562,7 @@ func (c *DeviceController) DeviceSensor_List() {
 		T_datashow = -1
 		T_datashow = -1
 	}
 	}
 	if T_calss_id > 0 {
 	if T_calss_id > 0 {
-		R_DeviceClass, err := Company.Read_CompanyNotice_ById(T_calss_id)
+		R_DeviceClass, err := Company.Read_CompanyClass_ById(T_calss_id)
 		if err != nil {
 		if err != nil {
 			c.Data["json"] = lib.JSONS{Code: 205, Msg: "T_class_id Err!"}
 			c.Data["json"] = lib.JSONS{Code: 205, Msg: "T_class_id Err!"}
 			c.ServeJSON()
 			c.ServeJSON()
@@ -574,7 +574,7 @@ func (c *DeviceController) DeviceSensor_List() {
 			return
 			return
 		}
 		}
 	}
 	}
-
+	Device.Read_DeviceSensorParameter_Map_All(T_sn, 0)
 	r_jsons.Data, r_jsons.Num = Device.Read_DeviceSensorList(admin_r, T_pid, T_sn, Name, T_calss_id, T_notice_id, T_give, T_datashow, page, page_z)
 	r_jsons.Data, r_jsons.Num = Device.Read_DeviceSensorList(admin_r, T_pid, T_sn, Name, T_calss_id, T_notice_id, T_give, T_datashow, page, page_z)
 	r_jsons.Page = page
 	r_jsons.Page = page
 	r_jsons.Page_size = int(math.Ceil(float64(r_jsons.Num) / float64(page_z)))
 	r_jsons.Page_size = int(math.Ceil(float64(r_jsons.Num) / float64(page_z)))
@@ -1546,7 +1546,7 @@ func (c *DeviceController) ClassBind_Add() {
 	}
 	}
 
 
 	if err = Device.DeviceSensor_T_Class_Add(T_sn, T_id, T_class_id); err != nil {
 	if err = Device.DeviceSensor_T_Class_Add(T_sn, T_id, T_class_id); err != nil {
-		c.Data["json"] = lib.JSONS{Code: 200, Msg: "添加失败"}
+		c.Data["json"] = lib.JSONS{Code: 200, Msg: "绑定失败"}
 		c.ServeJSON()
 		c.ServeJSON()
 		return
 		return
 	}
 	}

+ 4 - 3
controllers/User.go

@@ -513,11 +513,12 @@ func (c *UserController) User_Home() {
 	info.T_name = admin_r.T_name
 	info.T_name = admin_r.T_name
 	info.T_pid = admin_r.T_pid
 	info.T_pid = admin_r.T_pid
 	if admin_r.T_pid > 0 {
 	if admin_r.T_pid > 0 {
+		power, _ := Account.Read_Power_ById(admin_r.T_power)
 		company, _ := Account.Read_Company_ById(admin_r.T_pid)
 		company, _ := Account.Read_Company_ById(admin_r.T_pid)
 		info.T_Days = int(time.Now().Sub(company.CreateTime).Hours() / 24)
 		info.T_Days = int(time.Now().Sub(company.CreateTime).Hours() / 24)
-		info.Admin = Account.Read_Admin_List_T_pids(admin_r.T_pids)
-		info.WarningNum = Warning.Read_Warning_ALL_T_State_Count(admin_r.T_pid, 0)
-		info.UntreatedWarningNum = Warning.Read_Warning_ALL_T_State_Count(admin_r.T_pid, 2)
+		info.Admin = Account.Read_Admin_List_T_pids(admin_r.T_pid)
+		info.WarningNum = Warning.Read_Warning_ALL_T_State_Count(admin_r.T_pid, 1, power.T_warning)
+		info.UntreatedWarningNum = Warning.Read_Warning_ALL_T_State_Count(admin_r.T_pid, 3, power.T_warning)
 	}
 	}
 	if admin_r.T_pid == 0 {
 	if admin_r.T_pid == 0 {
 		info.WorkOrderNum, info.UntreatedWorkOrderNum = NatsServer.Read_WorkOrderT_State_Count(admin_r.T_pids)
 		info.WorkOrderNum, info.UntreatedWorkOrderNum = NatsServer.Read_WorkOrderT_State_Count(admin_r.T_pids)

+ 3 - 7
models/Account/Admin.go

@@ -2,7 +2,6 @@ package Account
 
 
 import (
 import (
 	"Cold_Api/conf"
 	"Cold_Api/conf"
-	"Cold_Api/models"
 	"encoding/json"
 	"encoding/json"
 	"fmt"
 	"fmt"
 	"github.com/astaxie/beego/cache"
 	"github.com/astaxie/beego/cache"
@@ -10,6 +9,7 @@ import (
 	"github.com/beego/beego/v2/adapter/orm"
 	"github.com/beego/beego/v2/adapter/orm"
 	orm2 "github.com/beego/beego/v2/client/orm"
 	orm2 "github.com/beego/beego/v2/client/orm"
 	_ "github.com/go-sql-driver/mysql"
 	_ "github.com/go-sql-driver/mysql"
+	"strconv"
 	"time"
 	"time"
 )
 )
 
 
@@ -272,7 +272,7 @@ func Read_Admin_List(T_pid int, T_name string, page int, page_z int) (AdminList
 	return AdminList, cnt
 	return AdminList, cnt
 }
 }
 
 
-func Read_Admin_List_T_pids(T_pids string) (AdminList []Admin_) {
+func Read_Admin_List_T_pids(T_pid int) (AdminList []Admin_) {
 
 
 	o := orm.NewOrm()
 	o := orm.NewOrm()
 	// 也可以直接使用 Model 结构体作为表名
 	// 也可以直接使用 Model 结构体作为表名
@@ -280,12 +280,8 @@ func Read_Admin_List_T_pids(T_pids string) (AdminList []Admin_) {
 	qs := o.QueryTable(new(Admin))
 	qs := o.QueryTable(new(Admin))
 	var maps []Admin
 	var maps []Admin
 	cond := orm.NewCondition()
 	cond := orm.NewCondition()
-	cond1 := cond.And("T_State", 1)
 
 
-	if len(T_pids) > 0 {
-		list := models.SplitStringIds(T_pids, "P")
-		cond1 = cond1.And("T_pid__in", list)
-	}
+	cond1 := cond.And("T_State", 1).And("T_pid", 0).And("T_pids__icontains", "P"+strconv.Itoa(T_pid)+"|")
 
 
 	qs.SetCond((*orm2.Condition)(cond1)).OrderBy("-Id").All(&maps)
 	qs.SetCond((*orm2.Condition)(cond1)).OrderBy("-Id").All(&maps)
 
 

+ 1 - 0
models/Device/DeviceData.go

@@ -50,6 +50,7 @@ type DeviceData_R struct {
 	T_rhl  float32 // 湿度下限
 	T_rhl  float32 // 湿度下限
 	T_rhu  float32 // 湿度上限
 	T_rhu  float32 // 湿度上限
 	T_time string  // 采集时间
 	T_time string  // 采集时间
+	T_sp   int     // 传感器参数id
 }
 }
 
 
 //func (t *DeviceData) TableName() string {
 //func (t *DeviceData) TableName() string {

+ 6 - 0
models/Device/DeviceSensor.go

@@ -144,7 +144,13 @@ func DeviceSensorToDeviceSensor_R(DeviceSensor_ DeviceSensor) (DeviceSensor_r De
 
 
 	// 最新数据
 	// 最新数据
 	key_data := DeviceSensor_.T_sn + "|" + strconv.Itoa(DeviceSensor_.T_id)
 	key_data := DeviceSensor_.T_sn + "|" + strconv.Itoa(DeviceSensor_.T_id)
+
 	DeviceSensor_r.T_DeviceSensorData, _ = RedisDeviceData_Get(key_data)
 	DeviceSensor_r.T_DeviceSensorData, _ = RedisDeviceData_Get(key_data)
+	dsp := Read_DeviceSensorParameter_Map_Get(DeviceSensor_r.T_DeviceSensorData.T_sp)
+	DeviceSensor_r.T_DeviceSensorData.T_tl = dsp.T_Tlower
+	DeviceSensor_r.T_DeviceSensorData.T_tu = dsp.T_Tupper
+	DeviceSensor_r.T_DeviceSensorData.T_rhl = dsp.T_RHlower
+	DeviceSensor_r.T_DeviceSensorData.T_rhu = dsp.T_RHupper
 	return
 	return
 }
 }
 
 

+ 7 - 1
models/Device/DeviceSensorParameter.go

@@ -239,7 +239,13 @@ func Read_DeviceSensorParameter_Map_All(T_sn string, T_id int) {
 	cond := orm.NewCondition()
 	cond := orm.NewCondition()
 
 
 	//cond = cond.And("T_sn", T_sn).And("T_id", T_id).AndCond(cond.And("T_State", 1).OrCond(cond.And("T_State", 2).And("T_SendState", 1)))
 	//cond = cond.And("T_sn", T_sn).And("T_id", T_id).AndCond(cond.And("T_State", 1).OrCond(cond.And("T_State", 2).And("T_SendState", 1)))
-	cond = cond.And("T_sn", T_sn).And("T_id", T_id).And("T_State", 1)
+	cond1 := cond.And("T_State", 1)
+	if len(T_sn) > 0 {
+		cond1 = cond1.And("T_sn", T_sn)
+	}
+	if T_id > 0 {
+		cond1 = cond1.And("T_id", T_id)
+	}
 
 
 	qs.SetCond((*orm2.Condition)(cond)).OrderBy("-Id").All(&list)
 	qs.SetCond((*orm2.Condition)(cond)).OrderBy("-Id").All(&list)
 
 

+ 12 - 10
models/Warning/Warning.go

@@ -261,7 +261,7 @@ func Read_Warning(T_pid int, T_tp, T_name string, T_handle int, Time_start_ stri
 		cond1 = cond1.And("T_Ut__lte", Time_end_)
 		cond1 = cond1.And("T_Ut__lte", Time_end_)
 	}
 	}
 	// T_State 0 删除   1 不处理   2 已处理   3 未处理
 	// T_State 0 删除   1 不处理   2 已处理   3 未处理
-	//不填或0:所有  1:默认 2:全部记录 3 未处理
+	// T_handle  1:默认 2:全部记录 3 未处理
 	if T_handle == 1 {
 	if T_handle == 1 {
 		cond1 = cond1.And("T_State__gt", 1)
 		cond1 = cond1.And("T_State__gt", 1)
 	}
 	}
@@ -558,25 +558,27 @@ func Read_Warning_ALL_T_Bind_TIME_1d_Count(T_pid int, T_sn string) int {
 	return len(maps_z)
 	return len(maps_z)
 }
 }
 
 
-func Read_Warning_ALL_T_State_Count(T_pid, T_handle int) (cnt int64) {
+func Read_Warning_ALL_T_State_Count(T_pid, T_handle int, T_Warning string) (cnt int64) {
 	o := orm.NewOrm()
 	o := orm.NewOrm()
 	qs := o.QueryTable(new(Warning))
 	qs := o.QueryTable(new(Warning))
 	cond := orm.NewCondition()
 	cond := orm.NewCondition()
 
 
-	cond1 := cond.And("T_State__gt", 0)
+	today := time.Now().Format("2006-01-02") + " 00:00:00"
+	cond1 := cond.And("T_State__gt", 0).And("CreateTime__gte", today).And("T_pid", T_pid)
 
 
-	if T_pid > 0 {
-		cond1 = cond.AndCond(cond1).And("T_pid", T_pid)
+	if T_Warning != "*" {
+		list := models.SplitStringIds(T_Warning, "W")
+		cond1 = cond1.And("T_tp__in", list)
 	}
 	}
 
 
-	//不填或0:所有      1:已处理     2:未处理
+	// T_State 0 删除   1 不处理   2 已处理   3 未处理
+	// T_handle  1:默认 2:全部记录 3 未处理
 	if T_handle == 1 {
 	if T_handle == 1 {
-		cond1 = cond1.And("T_State", 1)
+		cond1 = cond1.And("T_State__gt", 1)
 	}
 	}
-	if T_handle == 2 {
-		cond1 = cond1.And("T_State", 2)
+	if T_handle == 3 {
+		cond1 = cond1.And("T_State", 3)
 	}
 	}
-
 	cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count()
 	cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count()
 	return cnt
 	return cnt
 }
 }

+ 3 - 3
routers/v3.go

@@ -62,7 +62,7 @@ func init() {
 	beego.Router(version+"/Class/Edit", &controllers.DeviceController{}, "*:CompanyClass_Edit") // 修改分类
 	beego.Router(version+"/Class/Edit", &controllers.DeviceController{}, "*:CompanyClass_Edit") // 修改分类
 	beego.Router(version+"/Class/Del", &controllers.DeviceController{}, "*:CompanyClass_Del")   // 删除分类
 	beego.Router(version+"/Class/Del", &controllers.DeviceController{}, "*:CompanyClass_Del")   // 删除分类
 	// 分类绑定
 	// 分类绑定
-	beego.Router(version+"/Device/DeviceClassBind_List", &controllers.DeviceController{}, "*:DeviceClassBind_List") // 设备分类绑定列表
+	beego.Router(version+"/Device/DeviceClassBind_List", &controllers.DeviceController{}, "*:DeviceClassBind_List") // 已绑定传感器列表
 	beego.Router(version+"/Class/Bind_Add", &controllers.DeviceController{}, "*:ClassBind_Add")                     // 添加分类设备绑定
 	beego.Router(version+"/Class/Bind_Add", &controllers.DeviceController{}, "*:ClassBind_Add")                     // 添加分类设备绑定
 	beego.Router(version+"/Class/Bind_Del", &controllers.DeviceController{}, "*:ClassBind_Del")                     // 删除分类设备绑定
 	beego.Router(version+"/Class/Bind_Del", &controllers.DeviceController{}, "*:ClassBind_Del")                     // 删除分类设备绑定
 
 
@@ -88,8 +88,8 @@ func init() {
 	beego.Router(version+"/Data/Device_Sensor_Data_Excel_m", &controllers.DataController{}, "*:Device_Sensor_Data_Excel_m") // 导出传感器数据
 	beego.Router(version+"/Data/Device_Sensor_Data_Excel_m", &controllers.DataController{}, "*:Device_Sensor_Data_Excel_m") // 导出传感器数据
 
 
 	beego.Router(version+"/Data/List", &controllers.DataController{}, "*:Device_Sensor_Data_More")   // 传感器设备列表
 	beego.Router(version+"/Data/List", &controllers.DataController{}, "*:Device_Sensor_Data_More")   // 传感器设备列表
-	beego.Router(version+"/Data/Excel", &controllers.DataController{}, "*:Device_Sensor_Data_Excel") // 传感器设备列表
-	beego.Router(version+"/Data/PDF", &controllers.DataController{}, "*:Device_Sensor_Data_PDF")     // 传感器设备列表
+	beego.Router(version+"/Data/Excel", &controllers.DataController{}, "*:Device_Sensor_Data_Excel") // 导出传感器设备数据excel
+	beego.Router(version+"/Data/PDF", &controllers.DataController{}, "*:Device_Sensor_Data_PDF")     // 传感器设备数据pdf
 	// 执行 SQL
 	// 执行 SQL
 	beego.Router(version+"/Data/Raw", &controllers.RawSqlController{}, "*:Raw") // 执行 SQL
 	beego.Router(version+"/Data/Raw", &controllers.RawSqlController{}, "*:Raw") // 执行 SQL