|
|
@@ -1527,3 +1527,84 @@ func Cron_WarningRateMonth_Add() {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+func (c *DeviceController) Docking_Company_Warning() {
|
|
|
+
|
|
|
+ var r_jsons lib.R_JSONS
|
|
|
+
|
|
|
+ key := c.GetString("T_key")
|
|
|
+ // 查询公司,验证T_key
|
|
|
+ Company_r, err := Account.Read_Company_ByKey(key)
|
|
|
+ if err != nil {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_key Err!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ page, _ := c.GetInt("page")
|
|
|
+ if page < 1 {
|
|
|
+ page = 1
|
|
|
+ }
|
|
|
+ page_z, _ := c.GetInt("page_z")
|
|
|
+ if page_z < 1 {
|
|
|
+ page_z = conf.Page_size
|
|
|
+ }
|
|
|
+ if page_z > 100 {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "page_z 超出限制"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ T_name := c.GetString("T_name")
|
|
|
+ Time_start := c.GetString("Time_start")
|
|
|
+ Time_end := c.GetString("Time_end")
|
|
|
+ T_handle, _ := c.GetInt("T_handle")
|
|
|
+ if len(Time_start) == 0 {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "开始时间不能为空!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(Time_end) == 0 {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "结束时间不能为空!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ st, is := lib.TimeStrToTime(Time_start)
|
|
|
+ if !is {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "Time_start 格式不正确"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ et, is := lib.TimeStrToTime(Time_end)
|
|
|
+ if !is {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "Time_startCompany_Device_Sensor_List 格式不正确"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if st.Add(10 * 24 * time.Hour).Before(et) {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "查询时间范围超出限制(10天)"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 只要质量负责人排除电池电量低报警,电池电量恢复,用户余额通知的报警
|
|
|
+ T_tp := "W1|W2|W3|W4|W5|W6|W7|W8|W9|W10|W11|W12|W109|W110|"
|
|
|
+ var tpList []string
|
|
|
+ tpList = lib.SplitStringIds(T_tp, "W")
|
|
|
+
|
|
|
+ countRedisKey := fmt.Sprintf("Company_Warning_Count_%d_%s_%s_%s_%s_%d_%d", c.T_pid, T_name, T_tp, Time_start, Time_end, T_handle, 0)
|
|
|
+
|
|
|
+ T_pids := Account.ReadCompanyIds_T_path(Company_r.T_path)
|
|
|
+
|
|
|
+ Account.Read_Company_All_Maps()
|
|
|
+
|
|
|
+ // 获取最新
|
|
|
+ r_jsons.Data, r_jsons.Num = Warning.Gorm_Read_Company_Warning_List(T_pids, tpList, T_name, T_handle, Time_start, Time_end, page, page_z, c.T_pid, countRedisKey)
|
|
|
+
|
|
|
+ r_jsons.Page = page
|
|
|
+ r_jsons.Page_size = int(math.Ceil(float64(r_jsons.Num) / float64(page_z)))
|
|
|
+
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+}
|