Explorar el Código

add:传感器数据,增加备注

zoie hace 1 año
padre
commit
ff7f015b06

+ 19 - 18
controllers/Data.go

@@ -217,12 +217,14 @@ func (c *DataController) Device_Sensor_Data_Excel() {
 	f.SetCellValue("Sheet1", "E1", "温度范围 ℃")
 	f.SetCellValue("Sheet1", "F1", "湿度范围 %")
 	f.SetCellValue("Sheet1", "G1", "记录时间")
+	f.SetCellValue("Sheet1", "H1", "备注")
 	// 设置列宽
 	f.SetColWidth("Sheet1", "A", "A", 10)
 	f.SetColWidth("Sheet1", "B", "B", 15)
 	f.SetColWidth("Sheet1", "C", "D", 10)
 	f.SetColWidth("Sheet1", "E", "F", 15)
 	f.SetColWidth("Sheet1", "G", "G", 22)
+	f.SetColWidth("Sheet1", "H", "H", 22)
 
 	line := 1
 
@@ -258,6 +260,7 @@ func (c *DataController) Device_Sensor_Data_Excel() {
 		}
 
 		f.SetCellValue("Sheet1", fmt.Sprintf("G%d", line), v.T_time)
+		f.SetCellValue("Sheet1", fmt.Sprintf("H%d", line), v.T_remark)
 		//if v.T_ist == 1 && (v.T_t < v.T_tl || v.T_t > v.T_tu) {
 		//	f.SetCellStyle("Sheet1", fmt.Sprintf("A%d", line), fmt.Sprintf("G%d", line), headStyleLower)
 		//}
@@ -566,13 +569,14 @@ func (c *DataController) Device_Sensor_Data_PDF() {
 
 	lib.RectFillColor(pdf, "序号", 12, 22, 120, 30, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
 	lib.RectFillColor(pdf, "传感器名称", 12, 52, 120, 100, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
-	lib.RectFillColor(pdf, "温度℃", 12, 152, 120, 60, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
+	lib.RectFillColor(pdf, "温度℃", 12, 152, 120, 50, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
 
-	lib.RectFillColor(pdf, "湿度%", 12, 212, 120, 60, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
+	lib.RectFillColor(pdf, "湿度%", 12, 202, 120, 50, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
 
-	lib.RectFillColor(pdf, "温度范围", 12, 272, 120, 100, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
-	lib.RectFillColor(pdf, "湿度范围", 12, 362, 120, 100, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
-	lib.RectFillColor(pdf, "记录时间", 12, 452, 120, 120, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
+	lib.RectFillColor(pdf, "温度范围", 12, 252, 120, 80, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
+	lib.RectFillColor(pdf, "湿度范围", 12, 332, 120, 80, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
+	lib.RectFillColor(pdf, "记录时间", 12, 412, 120, 120, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
+	lib.RectFillColor(pdf, "备注", 12, 532, 120, 40, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
 
 	var y float64 = 140
 
@@ -598,30 +602,27 @@ func (c *DataController) Device_Sensor_Data_PDF() {
 		T_Tlu := fmt.Sprintf(" %.1f ~ %.1f ", v.T_tl, v.T_tu)
 		T_Rlu := fmt.Sprintf(" %.1f ~ %.1f ", v.T_rhl, v.T_rhu)
 		T_time := fmt.Sprintf("%s", v.T_time)
-		//if user_r.Admin_rh == 0 && strings.Contains(v.T_sn, "YD") {
-		//	T_rh = "-"
-		//	T_Rlu = "-"
-		//}
 
 		if v.T_ist == 1 {
-			lib.RectFillColor(pdf, T_t, 10, 152, y, 60, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
-			lib.RectFillColor(pdf, T_Tlu, 10, 272, y, 90, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
+			lib.RectFillColor(pdf, T_t, 10, 152, y, 50, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
+			lib.RectFillColor(pdf, T_Tlu, 10, 252, y, 80, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
 		} else {
-			lib.RectFillColor(pdf, "", 10, 152, y, 60, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
-			lib.RectFillColor(pdf, "", 10, 272, y, 90, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
+			lib.RectFillColor(pdf, "", 10, 152, y, 50, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
+			lib.RectFillColor(pdf, "", 10, 252, y, 80, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
 		}
 		if v.T_ish == 1 {
-			lib.RectFillColor(pdf, T_rh, 10, 212, y, 60, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
-			lib.RectFillColor(pdf, T_Rlu, 10, 362, y, 90, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
+			lib.RectFillColor(pdf, T_rh, 10, 202, y, 50, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
+			lib.RectFillColor(pdf, T_Rlu, 10, 332, y, 80, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
 		} else {
-			lib.RectFillColor(pdf, "", 10, 212, y, 60, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
-			lib.RectFillColor(pdf, "", 10, 362, y, 90, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
+			lib.RectFillColor(pdf, "", 10, 202, y, 50, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
+			lib.RectFillColor(pdf, "", 10, 332, y, 80, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
 		}
 
 		lib.RectFillColor(pdf, text, 10, 22, y, 30, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
 		lib.RectFillColor(pdf, v.T_name, 10, 52, y, 100, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
 
-		lib.RectFillColor(pdf, T_time, 10, 452, y, 120, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
+		lib.RectFillColor(pdf, T_time, 10, 412, y, 120, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
+		lib.RectFillColor(pdf, v.T_remark, 10, 532, y, 40, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
 		y += 20
 	}
 	timeStr := "ofile/" + time.Now().Format("20060102150405") + ".pdf"

+ 1 - 1
controllers/User.go

@@ -59,7 +59,7 @@ func (c *UserController) User_WxQRCode() {
 	return
 }
 
-// 公司管理
+// 用户绑定的公司列表
 func (c *UserController) Company_Tree() {
 	var r_jsons lib.R_JSONS
 

+ 8 - 4
controllers/Warning.go

@@ -399,7 +399,6 @@ func (c *DeviceController) Read_WarningRate_List() {
 		page_z = conf.Page_size
 	}
 
-	T_type := c.GetString("T_type")
 	T_uuid := c.GetString("T_uuid")
 	T_year, _ := c.GetInt("T_year")
 	T_month, _ := c.GetInt("T_month")
@@ -416,15 +415,20 @@ func (c *DeviceController) Read_WarningRate_List() {
 		month = time.Month(T_month)
 	}
 
+	T_type := Warning.WarningRateDay
+	if T_month == 0 {
+		T_type = Warning.WarningRateMonth
+	}
+
 	if T_type == Warning.WarningRateDay {
 		startTime = time.Date(T_year, month, 1, 0, 0, 0, 0, time.Local).Format("2006-01-02")
-		endTime = time.Date(T_year, month+1, -1, 0, 0, 0, 0, time.Local).Format("2006-01-02")
+		endTime = time.Date(T_year, month+1, 0, 0, 0, 0, 0, time.Local).Format("2006-01-02")
 	}
 
 	// 默认本年
 	if T_type == Warning.WarningRateMonth {
-		startTime = time.Date(T_year, 1, 0, 0, 0, 0, 0, time.Local).Format("2006-01")
-		endTime = time.Date(T_year, 12, 0, 0, 0, 0, 0, time.Local).Format("2006-01")
+		startTime = time.Date(T_year, 1, 1, 0, 0, 0, 0, time.Local).Format("2006-01")
+		endTime = time.Date(T_year, 12, 31, 0, 0, 0, 0, time.Local).Format("2006-01")
 	}
 
 	if len(T_uuid) == 0 {

+ 6 - 2
models/Account/Admin.go

@@ -278,8 +278,12 @@ func Read_Admin_List(T_pid int, T_name string, page int, page_z int) (AdminList
 	if len(T_name) > 0 {
 		cond1 = cond1.AndCond(cond.Or("T_name__icontains", T_name).Or("T_user__icontains", T_name))
 	}
-
-	_, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("Id").All(&maps)
+	var err error
+	if page_z == 9999 {
+		_, err = qs.SetCond((*orm2.Condition)(cond1)).OrderBy("Id").All(&maps)
+	} else {
+		_, err = qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("Id").All(&maps)
+	}
 	if err != nil {
 		logs.Error(lib.FuncName(), err)
 	}

+ 36 - 16
models/Account/Company.go

@@ -265,10 +265,15 @@ func Read_Company_Tree(admin_r Admin, T_name string) (CompanyList []Company_R) {
 				continue
 			}
 			r := Company_R{
-				Id:       maps[i].Id,
-				T_mid:    maps[i].T_mid,
-				T_name:   maps[i].T_name,
-				Children: nil,
+				Id:        maps[i].Id,
+				T_mid:     maps[i].T_mid,
+				T_name:    maps[i].T_name,
+				T_plan:    maps[i].T_plan,
+				T_data:    maps[i].T_data,
+				T_v3d:     maps[i].T_v3d,
+				T_money:   maps[i].T_money,
+				T_warning: maps[i].T_warning,
+				Children:  nil,
 			}
 			info := CompanyCall(maps, r)
 			CompanyList = append(CompanyList, info)
@@ -276,10 +281,15 @@ func Read_Company_Tree(admin_r Admin, T_name string) (CompanyList []Company_R) {
 	} else {
 		for i := 0; i < len(maps); i++ {
 			r := Company_R{
-				Id:       maps[i].Id,
-				T_mid:    maps[i].T_mid,
-				T_name:   maps[i].T_name,
-				Children: nil,
+				Id:        maps[i].Id,
+				T_mid:     maps[i].T_mid,
+				T_name:    maps[i].T_name,
+				T_plan:    maps[i].T_plan,
+				T_data:    maps[i].T_data,
+				T_v3d:     maps[i].T_v3d,
+				T_money:   maps[i].T_money,
+				T_warning: maps[i].T_warning,
+				Children:  nil,
 			}
 			info := CompanyCall(maps, r)
 			CompanyList = append(CompanyList, info)
@@ -398,10 +408,15 @@ func Read_Company_List(T_name string) (CompanyList []Company_R) {
 				continue
 			}
 			r := Company_R{
-				Id:       maps[i].Id,
-				T_mid:    maps[i].T_mid,
-				T_name:   maps[i].T_name,
-				Children: nil,
+				Id:        maps[i].Id,
+				T_mid:     maps[i].T_mid,
+				T_name:    maps[i].T_name,
+				T_plan:    maps[i].T_plan,
+				T_data:    maps[i].T_data,
+				T_v3d:     maps[i].T_v3d,
+				T_money:   maps[i].T_money,
+				T_warning: maps[i].T_warning,
+				Children:  nil,
 			}
 			info := CompanyCall(maps, r)
 			CompanyList = append(CompanyList, info)
@@ -409,10 +424,15 @@ func Read_Company_List(T_name string) (CompanyList []Company_R) {
 	} else {
 		for i := 0; i < len(maps); i++ {
 			r := Company_R{
-				Id:       maps[i].Id,
-				T_mid:    maps[i].T_mid,
-				T_name:   maps[i].T_name,
-				Children: nil,
+				Id:        maps[i].Id,
+				T_mid:     maps[i].T_mid,
+				T_name:    maps[i].T_name,
+				T_plan:    maps[i].T_plan,
+				T_data:    maps[i].T_data,
+				T_v3d:     maps[i].T_v3d,
+				T_money:   maps[i].T_money,
+				T_warning: maps[i].T_warning,
+				Children:  nil,
 			}
 			info := CompanyCall(maps, r)
 			CompanyList = append(CompanyList, info)

+ 20 - 14
models/Device/DeviceData.go

@@ -41,20 +41,21 @@ type DeviceData_ struct {
 
 // 模板
 type DeviceData_R struct {
-	T_sn   string  // sn
-	T_id   int     // 传感器id
-	T_name string  // 传感器名称
-	T_t    float32 // 温度
-	T_rh   float32 // 湿度
-	T_site string  // GPS
-	T_tl   float32 // 温度下限
-	T_tu   float32 // 温度上限
-	T_rhl  float32 // 湿度下限
-	T_rhu  float32 // 湿度上限
-	T_time string  // 采集时间
-	T_sp   int     // 传感器参数id
-	T_ist  int     // 温度   1开启   2关闭
-	T_ish  int     // 湿度   1开启   2关闭
+	T_sn     string  // sn
+	T_id     int     // 传感器id
+	T_name   string  // 传感器名称
+	T_t      float32 // 温度
+	T_rh     float32 // 湿度
+	T_site   string  // GPS
+	T_tl     float32 // 温度下限
+	T_tu     float32 // 温度上限
+	T_rhl    float32 // 湿度下限
+	T_rhu    float32 // 湿度上限
+	T_time   string  // 采集时间
+	T_sp     int     // 传感器参数id
+	T_ist    int     // 温度   1开启   2关闭
+	T_ish    int     // 湿度   1开启   2关闭
+	T_remark string  // 备注
 }
 
 type DeviceData_BackUp struct {
@@ -98,6 +99,11 @@ func DeviceData_ToDeviceData_R(d Device, r DeviceData_) (t DeviceData_R) {
 	t.T_tu = sp.T_Tupper
 	t.T_rhl = sp.T_RHlower
 	t.T_rhu = sp.T_RHupper
+	if sp.T_free == 1 {
+		t.T_remark = "空库"
+	} else {
+		t.T_remark = "-"
+	}
 
 	t.T_sn = d.T_sn
 	t.T_ist = d.T_ist

+ 3 - 1
models/Device/DeviceSensorParameter.go

@@ -66,7 +66,7 @@ type DeviceSensorParameter_R struct {
 	T_hpreu  float32 //  温度预警上限
 
 	T_speed int // 传感器采样率   s(1~240) 默认:15 *
-	T_sense int  // 传感器灵敏度   s(0~10) 默认:5
+	T_sense int // 传感器灵敏度   s(0~10) 默认:5
 	T_en    int // en:是否启用传感器,
 	T_free  int // free:监测点是否为闲置状态(空库,只监测不报警)
 
@@ -80,6 +80,7 @@ type DeviceSensorParameter_M struct {
 	T_Tupper  float32 //  温度上限
 	T_RHlower float32 //  湿度下限
 	T_RHupper float32 //  湿度上限
+	T_free    int
 }
 
 type DeviceSensorParameter_T struct {
@@ -113,6 +114,7 @@ func DeviceSensorParameterToDeviceSensorParameter_M(r DeviceSensorParameter) (t
 	t.T_Tupper = r.T_Tupper
 	t.T_RHlower = r.T_RHlower
 	t.T_RHupper = r.T_RHupper
+	t.T_free = r.T_free
 	return t
 }
 

+ 11 - 4
models/Warning/WarningRate.go

@@ -33,7 +33,7 @@ type WarningRate_R struct {
 	T_date        string  // 记薪日期,2023-03-01
 	T_device_num  int64   // 探头数量
 	T_warning_num int64   // 报警数量
-	T_rate        float32 // 报警率
+	Value         float32 // 报警率
 }
 type WarningRate_User struct {
 	T_uuid string // 用户uuid
@@ -46,7 +46,7 @@ func WarningRateToWarningRate_R(t WarningRate) (r WarningRate_R) {
 	r.T_date = t.T_date
 	r.T_device_num = t.T_device_num
 	r.T_warning_num = t.T_warning_num
-	r.T_rate = t.T_rate
+	r.Value = t.T_rate
 	return r
 }
 
@@ -68,7 +68,7 @@ func Add_WarningRate(m WarningRate) (id int64, err error) {
 	return id, err
 }
 
-func Read_WarningRate_List(T_uuid, T_type string, startTime, endTime string) (r []WarningRate_R) {
+func Read_WarningRate_List(T_uuid, T_type string, startTime, endTime string) (r []map[string]interface{}) {
 	o := orm.NewOrm()
 	qs := o.QueryTable(new(WarningRate))
 	cond := orm.NewCondition()
@@ -88,7 +88,14 @@ func Read_WarningRate_List(T_uuid, T_type string, startTime, endTime string) (r
 	}
 
 	for _, v := range maps {
-		r = append(r, WarningRateToWarningRate_R(v))
+		rate := map[string]interface{}{
+			"T_uuid":        v.T_uuid,
+			"T_date":        v.T_date,
+			"T_device_num":  v.T_device_num,
+			"T_warning_num": v.T_warning_num,
+			"value":         v.T_rate,
+		}
+		r = append(r, rate)
 	}
 
 	return r

+ 2 - 1
routers/Warning.go

@@ -30,7 +30,8 @@ func init() {
 		),
 		// 内部用户设备报警率
 		beego.NSNamespace("/WarningRate",
-			beego.NSRouter("/List", &controllers.DeviceController{}, "*:Read_WarningRate_List"), // 内部用户设备报警率列表
+			beego.NSRouter("/List", &controllers.DeviceController{}, "*:Read_WarningRate_List"),      // 内部用户设备报警率列表
+			beego.NSRouter("/User_List", &controllers.DeviceController{}, "*:Read_WarningRate_List"), // 内部用户设备报警率列表
 		),
 	)