|
@@ -2867,6 +2867,9 @@ func (c *TaskDataController) ListJson() {
|
|
|
"动态第一次开箱注释",
|
|
|
"动态第二次开箱注释",
|
|
|
"动态第三次开箱注释",
|
|
|
+ "第一次开箱注释",
|
|
|
+ "第二次开箱注释",
|
|
|
+ "第三次开箱注释",
|
|
|
"保温箱温度设定值",
|
|
|
"风机温度设定值",
|
|
|
"保温箱准备开始时间",
|
|
@@ -2889,6 +2892,8 @@ func (c *TaskDataController) ListJson() {
|
|
|
"(空载)温度偏差均匀度波动度分析时间区间",
|
|
|
"运行确认及偏差处理(满载)开始时间",
|
|
|
"运行确认及偏差处理(空载)开始时间",
|
|
|
+ "运行确认及偏差处理(满载)结束时间",
|
|
|
+ "运行确认及偏差处理(空载)结束时间",
|
|
|
"满载风机启动时间点注释",
|
|
|
"满载风机停止时间点注释",
|
|
|
"满载测试结束风机停止时间注释",
|
|
@@ -2917,6 +2922,20 @@ func (c *TaskDataController) ListJson() {
|
|
|
"冷藏车外部环境测点最低温",
|
|
|
"冷藏车内部最高温",
|
|
|
"冷藏车内部最低温",
|
|
|
+ "验证测试期间当地天气情况曲线图",
|
|
|
+ "当地历史气温数据查询曲线图",
|
|
|
+ "报告编号",
|
|
|
+ "数据分析时间",
|
|
|
+ "实施计划月份",
|
|
|
+ "计划验证实施时间",
|
|
|
+ "监测终端01",
|
|
|
+ "监测终端安装编号01",
|
|
|
+ "监测终端02",
|
|
|
+ "监测终端安装编号02",
|
|
|
+ "监测系统配置的测点终端参数及安装位置确认(满载)开始时间",
|
|
|
+ "监测系统配置的测点终端参数及安装位置确认(满载)结束时间",
|
|
|
+ "监测系统配置的测点终端参数及安装位置确认(空载)开始时间",
|
|
|
+ "监测系统配置的测点终端参数及安装位置确认(空载)结束时间",
|
|
|
}
|
|
|
|
|
|
c.Data["json"] = mySlice
|
|
@@ -2966,15 +2985,19 @@ func (c *TaskDataController) A满载测试结束风机停止时间() {
|
|
|
fmt.Println("list:", list)
|
|
|
CalculateHumps_list := Task.CalculateHumps(list)
|
|
|
|
|
|
- if len(CalculateHumps_list) < 7 {
|
|
|
+ if len(CalculateHumps_list) < 5 {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "没找到连续5个循环 !"})
|
|
|
return
|
|
|
}
|
|
|
fmt.Println("CalculateHumps_list:", CalculateHumps_list)
|
|
|
//start := CalculateHumps_list[6].Start // 驼峰开始
|
|
|
//peak := CalculateHumps_list[0]["peak"].(Task.TaskData) // 驼峰最高
|
|
|
- end := CalculateHumps_list[4].End // 驼峰结束
|
|
|
- // .Format("2006-01-02 15:04:05")
|
|
|
+ var end Task.TaskData_AVG
|
|
|
+ if len(CalculateHumps_list) == 5 {
|
|
|
+ end = CalculateHumps_list[4].End
|
|
|
+ } else {
|
|
|
+ end = CalculateHumps_list[5].End // 驼峰结束
|
|
|
+ }
|
|
|
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: end.T_time})
|
|
|
|
|
@@ -3511,13 +3534,79 @@ func (c *TaskDataController) A运行确认及偏差处理空载开始时间() {
|
|
|
c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
|
|
|
- 时间 := c.GetString("现场测试开始时间") // v26nplogbwt1
|
|
|
- if len(时间) == 0 || 时间 == "null" {
|
|
|
+ Task_r, err := Task.Read_Task(T_task_id)
|
|
|
+ if err != nil {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取任务信息失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ 柜内所有测点 := c.GetString("柜内所有测点") // v26nplogbwt1
|
|
|
+ if len(柜内所有测点) == 0 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 柜内所有测点 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ 温度控制范围最高值_ := c.GetString("温度控制范围最高值") // v26nplogbwt1
|
|
|
+ if len(温度控制范围最高值_) == 0 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 温度控制范围最高值 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ 温度控制范围最高值 := lib.To_float32(温度控制范围最高值_)
|
|
|
+
|
|
|
+ 现场测试开始时间 := c.GetString("现场测试开始时间") // v26nplogbwt1
|
|
|
+ if len(现场测试开始时间) == 0 || 现场测试开始时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试开始时间 失败!"})
|
|
|
return
|
|
|
}
|
|
|
+ 现场测试结束时间 := c.GetString("现场测试结束时间") // v26nplogbwt1
|
|
|
+ if len(现场测试结束时间) == 0 || 现场测试结束时间 == "null" {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试结束时间 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
|
|
|
- lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 时间})
|
|
|
+ list, _ := Task.Read_TaskData_ById_List_AES(Task_r.T_task_id, 柜内所有测点, "", 现场测试开始时间, 现场测试结束时间, 0, 9999)
|
|
|
+ if len(list) == 0 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 柜内所有测点|现场测试开始时间-现场测试结束时间 当前 温度数据 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ //情况1 现场测试开始时间的温度低于温度控制范围最高值,直接取现场测试开始时间
|
|
|
+ firstTimeData := Task.GetFirstTimeData(list)
|
|
|
+ 超过温度控制范围最高值 := false
|
|
|
+ for _, v := range firstTimeData {
|
|
|
+ if v.T_t > 温度控制范围最高值 {
|
|
|
+ 超过温度控制范围最高值 = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if !超过温度控制范围最高值 {
|
|
|
+ // 当发现数字开始上升时,结束递减状态
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: firstTimeData[0].T_time})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 情况2 现场测试开开始时间温度高于温度控制范围最高值,取温度下降至“温度控制范围最高值”以下的第一个终端,该终端下降至最低点,并出现上升0.2℃的时间点
|
|
|
+
|
|
|
+ groupMap := make(map[string][]Task.TaskData_)
|
|
|
+ for _, r := range list {
|
|
|
+ groupMap[r.T_id] = append(groupMap[r.T_id], r)
|
|
|
+ }
|
|
|
+
|
|
|
+ var earliest *Task.TaskData_
|
|
|
+
|
|
|
+ // Step 2: 对每个组调用 FindFirstDecreasingToNumber
|
|
|
+ for _, group := range groupMap {
|
|
|
+ candidate := Task.FindFirstDecreasingToNumber(group, 温度控制范围最高值)
|
|
|
+ if candidate != nil {
|
|
|
+ if earliest == nil || lib.ParseTime(candidate.T_time).Before(lib.ParseTime(earliest.T_time)) {
|
|
|
+ earliest = candidate
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if earliest == nil {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "没有找到 温度下降至“温度控制范围最高值”以下 数据!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: earliest.T_time})
|
|
|
// Close the connection
|
|
|
c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
}
|
|
@@ -3529,16 +3618,293 @@ func (c *TaskDataController) A运行确认及偏差处理满载开始时间() {
|
|
|
c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
|
|
|
- 时间 := c.GetString("现场测试开始时间") // v26nplogbwt1
|
|
|
- if len(时间) == 0 || 时间 == "null" {
|
|
|
+ Task_r, err := Task.Read_Task(T_task_id)
|
|
|
+ if err != nil {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取任务信息失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ 柜内所有测点 := c.GetString("柜内所有测点") // v26nplogbwt1
|
|
|
+ if len(柜内所有测点) == 0 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 柜内所有测点 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ 温度控制范围最高值_ := c.GetString("温度控制范围最高值") // v26nplogbwt1
|
|
|
+ if len(温度控制范围最高值_) == 0 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 温度控制范围最高值 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ 温度控制范围最高值 := lib.To_float32(温度控制范围最高值_)
|
|
|
+
|
|
|
+ 现场测试开始时间 := c.GetString("现场测试开始时间") // v26nplogbwt1
|
|
|
+ if len(现场测试开始时间) == 0 || 现场测试开始时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试开始时间 失败!"})
|
|
|
return
|
|
|
}
|
|
|
+ 现场测试结束时间 := c.GetString("现场测试结束时间") // v26nplogbwt1
|
|
|
+ if len(现场测试结束时间) == 0 || 现场测试结束时间 == "null" {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试结束时间 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
|
|
|
- lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 时间})
|
|
|
+ list, _ := Task.Read_TaskData_ById_List_AES(Task_r.T_task_id, 柜内所有测点, "", 现场测试开始时间, 现场测试结束时间, 0, 9999)
|
|
|
+ if len(list) == 0 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 柜内所有测点|现场测试开始时间-现场测试结束时间 温度数据列表 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ //情况1 现场测试开始时间的温度低于温度控制范围最高值,直接取现场测试开始时间
|
|
|
+ firstTimeData := Task.GetFirstTimeData(list)
|
|
|
+ 超过温度控制范围最高值 := false
|
|
|
+ for _, v := range firstTimeData {
|
|
|
+ if v.T_t > 温度控制范围最高值 {
|
|
|
+ 超过温度控制范围最高值 = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if !超过温度控制范围最高值 {
|
|
|
+ // 当发现数字开始上升时,结束递减状态
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: firstTimeData[0].T_time})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 情况2 现场测试开开始时间温度高于温度控制范围最高值,取温度下降至“温度控制范围最高值”以下的第一个终端,该终端下降至最低点,并出现上升0.2℃的时间点
|
|
|
+ groupMap := make(map[string][]Task.TaskData_)
|
|
|
+ for _, r := range list {
|
|
|
+ groupMap[r.T_id] = append(groupMap[r.T_id], r)
|
|
|
+ }
|
|
|
+
|
|
|
+ var earliest *Task.TaskData_
|
|
|
+
|
|
|
+ // Step 2: 对每个组调用 FindFirstDecreasingToNumber
|
|
|
+ for _, group := range groupMap {
|
|
|
+ candidate := Task.FindFirstDecreasingToNumber(group, 温度控制范围最高值)
|
|
|
+ if candidate != nil {
|
|
|
+ if earliest == nil || lib.ParseTime(candidate.T_time).Before(lib.ParseTime(earliest.T_time)) {
|
|
|
+ earliest = candidate
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if earliest == nil {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "没有找到 温度下降至“温度控制范围最高值”以下的第一个终端,该终端下降至最低点,并出现上升0.2℃的时间点 数据!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: earliest.T_time})
|
|
|
// Close the connection
|
|
|
c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
}
|
|
|
+func (c *TaskDataController) A运行确认及偏差处理空载结束时间() {
|
|
|
+
|
|
|
+ T_task_id := c.GetString("T_task_id") // v26nplogbwt1
|
|
|
+ println("T_task_id:", T_task_id)
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Content-Type", "text/event-stream")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
+
|
|
|
+ Task_r, err := Task.Read_Task(T_task_id)
|
|
|
+ if err != nil {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取任务信息失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ 柜内所有测点 := c.GetString("柜内所有测点") // v26nplogbwt1
|
|
|
+ if len(柜内所有测点) == 0 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 柜内所有测点 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ 温度控制范围最高值_ := c.GetString("温度控制范围最高值") // v26nplogbwt1
|
|
|
+ if len(温度控制范围最高值_) == 0 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 温度控制范围最高值 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ 温度控制范围最高值 := lib.To_float32(温度控制范围最高值_)
|
|
|
+
|
|
|
+ 现场测试开始时间 := c.GetString("现场测试开始时间") // v26nplogbwt1
|
|
|
+ if len(现场测试开始时间) == 0 || 现场测试开始时间 == "null" {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试开始时间 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ 现场测试结束时间 := c.GetString("现场测试结束时间") // v26nplogbwt1
|
|
|
+ if len(现场测试结束时间) == 0 || 现场测试结束时间 == "null" {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试结束时间 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ list, _ := Task.Read_TaskData_ById_List_AES(Task_r.T_task_id, 柜内所有测点, "", 现场测试开始时间, 现场测试结束时间, 0, 9999)
|
|
|
+ if len(list) == 0 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 柜内所有测点|现场测试开始时间-现场测试结束时间 当前 温度数据 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var startTimeData *Task.TaskData_
|
|
|
+ //情况1 现场测试开始时间的温度低于温度控制范围最高值,直接取现场测试开始时间
|
|
|
+ firstTimeData := Task.GetFirstTimeData(list)
|
|
|
+ 超过温度控制范围最高值 := false
|
|
|
+ for _, v := range firstTimeData {
|
|
|
+ if v.T_t > 温度控制范围最高值 {
|
|
|
+ 超过温度控制范围最高值 = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if !超过温度控制范围最高值 {
|
|
|
+ startTimeData = &firstTimeData[0]
|
|
|
+ } else {
|
|
|
+ // 情况2 现场测试开开始时间温度高于温度控制范围最高值,取温度下降至“温度控制范围最高值”以下的第一个终端,该终端下降至最低点,并出现上升0.2℃的时间点
|
|
|
+
|
|
|
+ groupMap := make(map[string][]Task.TaskData_)
|
|
|
+ for _, r := range list {
|
|
|
+ groupMap[r.T_id] = append(groupMap[r.T_id], r)
|
|
|
+ }
|
|
|
+
|
|
|
+ var earliest *Task.TaskData_
|
|
|
+
|
|
|
+ // Step 2: 对每个组调用 FindFirstDecreasingToNumber
|
|
|
+ for _, group := range groupMap {
|
|
|
+ candidate := Task.FindFirstDecreasingToNumber(group, 温度控制范围最高值)
|
|
|
+ if candidate != nil {
|
|
|
+ if earliest == nil || lib.ParseTime(candidate.T_time).Before(lib.ParseTime(earliest.T_time)) {
|
|
|
+ earliest = candidate
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ startTimeData = earliest
|
|
|
+ }
|
|
|
+
|
|
|
+ if startTimeData == nil {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "没有找到 运行确认及偏差处理空载开始时间 数据!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ list2 := Task.Read_TaskData_ById_AVG(Task_r.T_task_id, startTimeData.T_id, startTimeData.T_time, 现场测试结束时间)
|
|
|
+ CalculateHumps_list := Task.CalculateHumps(list2)
|
|
|
+
|
|
|
+ if len(CalculateHumps_list) < 4 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "没找到连续2个循环 !"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ end := CalculateHumps_list[1].End // 驼峰结束
|
|
|
+ endIndex := 0
|
|
|
+ for i := 0; i < len(list2); i++ {
|
|
|
+ if list2[i].T_time == end.T_time {
|
|
|
+ endIndex = i
|
|
|
+ }
|
|
|
+ }
|
|
|
+ list3 := list2[endIndex:]
|
|
|
+ for i := 0; i < len(list3); i++ {
|
|
|
+ if list3[i].T_t >= end.T_t+0.2 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: list3[i].T_time})
|
|
|
+ return
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "没找到 开始时间过后出现第二个循环温度再次上升0.2℃的拐点时间点 数据!"})
|
|
|
+ c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
+}
|
|
|
+func (c *TaskDataController) A运行确认及偏差处理满载结束时间() {
|
|
|
+
|
|
|
+ T_task_id := c.GetString("T_task_id") // v26nplogbwt1
|
|
|
+ println("T_task_id:", T_task_id)
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Content-Type", "text/event-stream")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
+
|
|
|
+ Task_r, err := Task.Read_Task(T_task_id)
|
|
|
+ if err != nil {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取任务信息失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ 柜内所有测点 := c.GetString("柜内所有测点") // v26nplogbwt1
|
|
|
+ if len(柜内所有测点) == 0 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 柜内所有测点 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ 温度控制范围最高值_ := c.GetString("温度控制范围最高值") // v26nplogbwt1
|
|
|
+ if len(温度控制范围最高值_) == 0 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 温度控制范围最高值 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ 温度控制范围最高值 := lib.To_float32(温度控制范围最高值_)
|
|
|
+
|
|
|
+ 现场测试开始时间 := c.GetString("现场测试开始时间") // v26nplogbwt1
|
|
|
+ if len(现场测试开始时间) == 0 || 现场测试开始时间 == "null" {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试开始时间 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ 现场测试结束时间 := c.GetString("现场测试结束时间") // v26nplogbwt1
|
|
|
+ if len(现场测试结束时间) == 0 || 现场测试结束时间 == "null" {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试结束时间 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ list, _ := Task.Read_TaskData_ById_List_AES(Task_r.T_task_id, 柜内所有测点, "", 现场测试开始时间, 现场测试结束时间, 0, 9999)
|
|
|
+ if len(list) == 0 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 柜内所有测点|现场测试开始时间-现场测试结束时间 温度数据列表 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var startTimeData *Task.TaskData_
|
|
|
+ //情况1 现场测试开始时间的温度低于温度控制范围最高值,直接取现场测试开始时间
|
|
|
+ firstTimeData := Task.GetFirstTimeData(list)
|
|
|
+ 超过温度控制范围最高值 := false
|
|
|
+ for _, v := range firstTimeData {
|
|
|
+ if v.T_t > 温度控制范围最高值 {
|
|
|
+ 超过温度控制范围最高值 = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if !超过温度控制范围最高值 {
|
|
|
+ startTimeData = &firstTimeData[0]
|
|
|
+ } else {
|
|
|
+ // 情况2 现场测试开开始时间温度高于温度控制范围最高值,取温度下降至“温度控制范围最高值”以下的第一个终端,该终端下降至最低点,并出现上升0.2℃的时间点
|
|
|
+
|
|
|
+ groupMap := make(map[string][]Task.TaskData_)
|
|
|
+ for _, r := range list {
|
|
|
+ groupMap[r.T_id] = append(groupMap[r.T_id], r)
|
|
|
+ }
|
|
|
+
|
|
|
+ var earliest *Task.TaskData_
|
|
|
+
|
|
|
+ // Step 2: 对每个组调用 FindFirstDecreasingToNumber
|
|
|
+ for _, group := range groupMap {
|
|
|
+ candidate := Task.FindFirstDecreasingToNumber(group, 温度控制范围最高值)
|
|
|
+ if candidate != nil {
|
|
|
+ if earliest == nil || lib.ParseTime(candidate.T_time).Before(lib.ParseTime(earliest.T_time)) {
|
|
|
+ earliest = candidate
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ startTimeData = earliest
|
|
|
+ }
|
|
|
+
|
|
|
+ if startTimeData == nil {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "没有找到 运行确认及偏差处理空载开始时间 数据!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ list2 := Task.Read_TaskData_ById_AVG(Task_r.T_task_id, startTimeData.T_sn, startTimeData.T_time, 现场测试结束时间)
|
|
|
+ CalculateHumps_list := Task.CalculateHumps(list2)
|
|
|
+
|
|
|
+ if len(CalculateHumps_list) < 4 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "没找到连续2个循环 !"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ end := CalculateHumps_list[1].End // 驼峰结束
|
|
|
+ endIndex := 0
|
|
|
+ for i := 0; i < len(list2); i++ {
|
|
|
+ if list2[i].T_time == end.T_time {
|
|
|
+ endIndex = i
|
|
|
+ }
|
|
|
+ }
|
|
|
+ list3 := list2[endIndex:]
|
|
|
+ for i := 0; i < len(list3); i++ {
|
|
|
+ if list3[i].T_t >= end.T_t+0.2 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: list3[i].T_time})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "没找到 开始时间过后出现第二个循环温度再次上升0.2℃的拐点时间点 数据!"})
|
|
|
+ c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
+
|
|
|
+}
|
|
|
func (c *TaskDataController) A空载温度偏差均匀度波动度分析时间区间() {
|
|
|
|
|
|
T_task_id := c.GetString("T_task_id") // v26nplogbwt1
|
|
@@ -3548,12 +3914,12 @@ func (c *TaskDataController) A空载温度偏差均匀度波动度分析时间
|
|
|
c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
|
|
|
时间1 := c.GetString("监测系统配置的测点终端参数及安装位置确认(空载)开始时间") // v26nplogbwt1
|
|
|
- if len(时间1) == 0 {
|
|
|
+ if len(时间1) == 0 || 时间1 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 监测系统配置的测点终端参数及安装位置确认(空载)开始时间 失败!"})
|
|
|
return
|
|
|
}
|
|
|
时间2 := c.GetString("监测系统配置的测点终端参数及安装位置确认(空载)结束时间") // v26nplogbwt1
|
|
|
- if len(时间2) == 0 {
|
|
|
+ if len(时间2) == 0 || 时间2 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 监测系统配置的测点终端参数及安装位置确认(空载)结束时间 失败!"})
|
|
|
return
|
|
|
}
|
|
@@ -3571,12 +3937,12 @@ func (c *TaskDataController) A满载温度偏差均匀度波动度分析时间
|
|
|
c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
|
|
|
时间1 := c.GetString("监测系统配置的测点终端参数及安装位置确认(满载)开始时间") // v26nplogbwt1
|
|
|
- if len(时间1) == 0 {
|
|
|
+ if len(时间1) == 0 || 时间1 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 监测系统配置的测点终端参数及安装位置确认(满载)开始时间 失败!"})
|
|
|
return
|
|
|
}
|
|
|
时间2 := c.GetString("监测系统配置的测点终端参数及安装位置确认(满载)结束时间") // v26nplogbwt1
|
|
|
- if len(时间2) == 0 {
|
|
|
+ if len(时间2) == 0 || 时间2 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 监测系统配置的测点终端参数及安装位置确认(满载)结束时间 失败!"})
|
|
|
return
|
|
|
}
|
|
@@ -3665,13 +4031,20 @@ func (c *TaskDataController) A温度分布特性的测试与分析空载结束
|
|
|
c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
|
|
|
- 时间 := c.GetString("监测系统配置的测点终端参数及安装位置确认(空载)结束时间") // v26nplogbwt1
|
|
|
- if len(时间) == 0 || 时间 == "null" {
|
|
|
- lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 监测系统配置的测点终端参数及安装位置确认(空载)结束时间 失败!"})
|
|
|
- return
|
|
|
+ 时间1 := c.GetString("监测系统配置的测点终端参数及安装位置确认(空载)结束时间") // v26nplogbwt1
|
|
|
+ 时间2 := c.GetString("温度自动监测设备放置位置结束时间")
|
|
|
+
|
|
|
+ if len(时间1) == 0 || 时间1 == "null" {
|
|
|
+ if len(时间2) == 0 || 时间2 == "null" {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 监测系统配置的测点终端参数及安装位置确认(空载)结束时间 或 温度自动监测设备放置位置结束时间 失败!"})
|
|
|
+ return
|
|
|
+ } else {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 时间2})
|
|
|
+ return
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 时间})
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 时间1})
|
|
|
// Close the connection
|
|
|
c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
}
|
|
@@ -3683,13 +4056,20 @@ func (c *TaskDataController) A温度分布特性的测试与分析满载结束
|
|
|
c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
|
|
|
- 时间 := c.GetString("监测系统配置的测点终端参数及安装位置确认(满载)结束时间") // v26nplogbwt1
|
|
|
- if len(时间) == 0 || 时间 == "null" {
|
|
|
- lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 监测系统配置的测点终端参数及安装位置确认(满载)结束时间 失败!"})
|
|
|
- return
|
|
|
+ 时间1 := c.GetString("监测系统配置的测点终端参数及安装位置确认(满载)结束时间") // v26nplogbwt1
|
|
|
+ 时间2 := c.GetString("温度自动监测设备放置位置结束时间")
|
|
|
+
|
|
|
+ if len(时间1) == 0 || 时间1 == "null" {
|
|
|
+ if len(时间2) == 0 || 时间2 == "null" {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 监测系统配置的测点终端参数及安装位置确认(满载)结束时间 或 温度自动监测设备放置位置结束时间 失败!"})
|
|
|
+ return
|
|
|
+ } else {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 时间2})
|
|
|
+ return
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 时间})
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 时间1})
|
|
|
// Close the connection
|
|
|
c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
}
|
|
@@ -3701,13 +4081,20 @@ func (c *TaskDataController) A温度分布特性的测试与分析空载开始
|
|
|
c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
|
|
|
- 时间 := c.GetString("监测系统配置的测点终端参数及安装位置确认(空载)开始时间") // v26nplogbwt1
|
|
|
- if len(时间) == 0 || 时间 == "null" {
|
|
|
- lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 监测系统配置的测点终端参数及安装位置确认(空载)开始时间 失败!"})
|
|
|
- return
|
|
|
+ 时间1 := c.GetString("监测系统配置的测点终端参数及安装位置确认(空载)开始时间") // v26nplogbwt1
|
|
|
+ 时间2 := c.GetString("温度自动监测设备放置位置开始时间")
|
|
|
+
|
|
|
+ if len(时间1) == 0 || 时间1 == "null" {
|
|
|
+ if len(时间2) == 0 || 时间2 == "null" {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 监测系统配置的测点终端参数及安装位置确认(空载)开始时间 或 温度自动监测设备放置位置开始时间 失败!"})
|
|
|
+ return
|
|
|
+ } else {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 时间2})
|
|
|
+ return
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 时间})
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 时间1})
|
|
|
// Close the connection
|
|
|
c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
}
|
|
@@ -3720,13 +4107,20 @@ func (c *TaskDataController) A温度分布特性的测试与分析满载开始
|
|
|
c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
|
|
|
- 时间 := c.GetString("监测系统配置的测点终端参数及安装位置确认(满载)开始时间") // v26nplogbwt1
|
|
|
- if len(时间) == 0 || 时间 == "null" {
|
|
|
- lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 监测系统配置的测点终端参数及安装位置确认(满载)开始时间 失败!"})
|
|
|
- return
|
|
|
- }
|
|
|
+ 时间1 := c.GetString("监测系统配置的测点终端参数及安装位置确认(满载)开始时间") // v26nplogbwt1
|
|
|
+ 时间2 := c.GetString("温度自动监测设备放置位置开始时间")
|
|
|
|
|
|
- lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 时间})
|
|
|
+ if len(时间1) == 0 || 时间1 == "null" {
|
|
|
+ if len(时间2) == 0 || 时间2 == "null" {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 监测系统配置的测点终端参数及安装位置确认(满载)开始时间 或 温度自动监测设备放置位置开始时间 失败!"})
|
|
|
+ return
|
|
|
+ } else {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 时间2})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 时间1})
|
|
|
// Close the connection
|
|
|
c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
}
|
|
@@ -3828,7 +4222,7 @@ func (c *TaskDataController) A温度自动监测设备放置位置结束时间()
|
|
|
return
|
|
|
}
|
|
|
温度自动监测设备放置位置开始时间 := c.GetString("温度自动监测设备放置位置开始时间") // v26nplogbwt1
|
|
|
- if len(温度自动监测设备放置位置开始时间) == 0 {
|
|
|
+ if len(温度自动监测设备放置位置开始时间) == 0 || 温度自动监测设备放置位置开始时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 温度自动监测设备放置位置开始时间 失败!"})
|
|
|
return
|
|
|
}
|
|
@@ -3879,13 +4273,13 @@ func (c *TaskDataController) A温度自动监测设备放置位置开始时间()
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- 温湿度系统测点 := c.GetString("温湿度系统测点") // v26nplogbwt1
|
|
|
- if len(温湿度系统测点) == 0 {
|
|
|
- lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 温湿度系统测点 失败!"})
|
|
|
+ 监测终端01 := c.GetString("监测终端01") // v26nplogbwt1
|
|
|
+ if len(监测终端01) == 0 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 监测终端01 失败!"})
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- list, _ := Task.Read_TaskData_ById_List_AES(Task_r.T_task_id, 温湿度系统测点, "", "", "", 0, 1)
|
|
|
+ list, _ := Task.Read_TaskData_ById_List_AES(Task_r.T_task_id, 监测终端01, "", "", "", 0, 1)
|
|
|
if len(list) == 0 {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "没找到 温湿度系统测点 数据!"})
|
|
|
return
|
|
@@ -3937,15 +4331,15 @@ func (c *TaskDataController) A冰排预冷保温箱准备结束时间() {
|
|
|
return
|
|
|
}
|
|
|
现场测试开始时间 := c.GetString("现场测试开始时间") // v26nplogbwt1
|
|
|
- if len(现场测试开始时间) == 0 {
|
|
|
+ if len(现场测试开始时间) == 0 || 现场测试开始时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试开始时间 失败!"})
|
|
|
return
|
|
|
}
|
|
|
- 温度自动监测设备放置位置开始时间 := c.GetString("温度自动监测设备放置位置开始时间") // v26nplogbwt1
|
|
|
- if len(温度自动监测设备放置位置开始时间) == 0 {
|
|
|
- lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 温度自动监测设备放置位置开始时间 失败!"})
|
|
|
- return
|
|
|
- }
|
|
|
+ //温度自动监测设备放置位置开始时间 := c.GetString("温度自动监测设备放置位置开始时间") // v26nplogbwt1
|
|
|
+ //if len(温度自动监测设备放置位置开始时间) == 0 {
|
|
|
+ // lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 温度自动监测设备放置位置开始时间 失败!"})
|
|
|
+ // return
|
|
|
+ //}
|
|
|
温度范围最高值_ := c.GetString("温度范围最高值") // v26nplogbwt1
|
|
|
if len(温度范围最高值_) == 0 {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 温度范围最高值 失败!"})
|
|
@@ -4144,6 +4538,81 @@ func (c *TaskDataController) A静态第一次开箱注释() {
|
|
|
c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
}
|
|
|
|
|
|
+func (c *TaskDataController) A第三次开箱注释() {
|
|
|
+
|
|
|
+ T_task_id := c.GetString("T_task_id") // v26nplogbwt1
|
|
|
+ println("T_task_id:", T_task_id)
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Content-Type", "text/event-stream")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
+
|
|
|
+ 时间1 := c.GetString("静态第三次开箱开始时间")
|
|
|
+ 时间2 := c.GetString("动态第三次开箱开始时间")
|
|
|
+ if len(时间1) == 0 || 时间1 == "null" {
|
|
|
+ if len(时间2) == 0 || 时间2 == "null" {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 静/动态第三次开箱开始时间 失败!"})
|
|
|
+ return
|
|
|
+ } else {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 时间2 + "/" + 时间2})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 时间1 + "/" + 时间1})
|
|
|
+ // Close the connection
|
|
|
+ c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
+}
|
|
|
+
|
|
|
+func (c *TaskDataController) A第二次开箱注释() {
|
|
|
+
|
|
|
+ T_task_id := c.GetString("T_task_id") // v26nplogbwt1
|
|
|
+ println("T_task_id:", T_task_id)
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Content-Type", "text/event-stream")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
+
|
|
|
+ 时间1 := c.GetString("静态第二次开箱开始时间")
|
|
|
+ 时间2 := c.GetString("动态第二次开箱开始时间")
|
|
|
+ if len(时间1) == 0 || 时间1 == "null" {
|
|
|
+ if len(时间2) == 0 || 时间2 == "null" {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 静/动态第二次开箱开始时间 失败!"})
|
|
|
+ return
|
|
|
+ } else {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 时间2 + "/" + 时间2})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 时间1 + "/" + 时间1})
|
|
|
+ // Close the connection
|
|
|
+ c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
+}
|
|
|
+
|
|
|
+func (c *TaskDataController) A第一次开箱注释() {
|
|
|
+
|
|
|
+ T_task_id := c.GetString("T_task_id") // v26nplogbwt1
|
|
|
+ println("T_task_id:", T_task_id)
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Content-Type", "text/event-stream")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
+
|
|
|
+ 时间1 := c.GetString("静态第一次开箱开始时间") // v26nplogbwt1
|
|
|
+ 时间2 := c.GetString("动态第一次开箱开始时间") // v26nplogbwt1
|
|
|
+ if len(时间1) == 0 || 时间1 == "null" {
|
|
|
+ if len(时间2) == 0 || 时间2 == "null" {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 静/动态第一次开箱开始时间 失败!"})
|
|
|
+ return
|
|
|
+ } else {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 时间2 + "/" + 时间2})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 时间1 + "/" + 时间1})
|
|
|
+ // Close the connection
|
|
|
+ c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
+}
|
|
|
+
|
|
|
// 冰排释冷监测设备|冰排释冷开始时间 当前 温度数据
|
|
|
func (c *TaskDataController) A冰排释冷分割线最低温() {
|
|
|
|
|
@@ -4166,7 +4635,7 @@ func (c *TaskDataController) A冰排释冷分割线最低温() {
|
|
|
}
|
|
|
|
|
|
冰排释冷开始时间 := c.GetString("冰排释冷开始时间") // v26nplogbwt1
|
|
|
- if len(冰排释冷开始时间) == 0 {
|
|
|
+ if len(冰排释冷开始时间) == 0 || 冰排释冷开始时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 冰排释冷开始时间 失败!"})
|
|
|
return
|
|
|
}
|
|
@@ -4204,7 +4673,7 @@ func (c *TaskDataController) A冰排释冷分割线最高温() {
|
|
|
}
|
|
|
|
|
|
冰排释冷结束时间 := c.GetString("冰排释冷结束时间") // v26nplogbwt1
|
|
|
- if len(冰排释冷结束时间) == 0 {
|
|
|
+ if len(冰排释冷结束时间) == 0 || 冰排释冷结束时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 冰排释冷结束时间 失败!"})
|
|
|
return
|
|
|
}
|
|
@@ -4247,12 +4716,12 @@ func (c *TaskDataController) A冰排释冷结束时间() {
|
|
|
return
|
|
|
}
|
|
|
冰排释冷开始时间 := c.GetString("冰排释冷开始时间") // v26nplogbwt1
|
|
|
- if len(冰排释冷开始时间) == 0 {
|
|
|
+ if len(冰排释冷开始时间) == 0 || 冰排释冷开始时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 冰排释冷开始时间 失败!"})
|
|
|
return
|
|
|
}
|
|
|
温度自动监测设备放置位置开始时间 := c.GetString("温度自动监测设备放置位置开始时间") // v26nplogbwt1
|
|
|
- if len(温度自动监测设备放置位置开始时间) == 0 {
|
|
|
+ if len(温度自动监测设备放置位置开始时间) == 0 || 温度自动监测设备放置位置开始时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 温度自动监测设备放置位置开始时间 失败!"})
|
|
|
return
|
|
|
}
|
|
@@ -4293,12 +4762,12 @@ func (c *TaskDataController) A冰排释冷开始时间() {
|
|
|
return
|
|
|
}
|
|
|
现场测试开始时间 := c.GetString("现场测试开始时间") // v26nplogbwt1
|
|
|
- if len(现场测试开始时间) == 0 {
|
|
|
+ if len(现场测试开始时间) == 0 || 现场测试开始时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试开始时间 失败!"})
|
|
|
return
|
|
|
}
|
|
|
温度自动监测设备放置位置开始时间 := c.GetString("温度自动监测设备放置位置开始时间") // v26nplogbwt1
|
|
|
- if len(温度自动监测设备放置位置开始时间) == 0 {
|
|
|
+ if len(温度自动监测设备放置位置开始时间) == 0 || 温度自动监测设备放置位置开始时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 温度自动监测设备放置位置开始时间 失败!"})
|
|
|
return
|
|
|
}
|
|
@@ -4338,12 +4807,12 @@ func (c *TaskDataController) A外部环境分割线最高温() {
|
|
|
return
|
|
|
}
|
|
|
温度自动监测设备放置位置开始时间 := c.GetString("温度自动监测设备放置位置开始时间") // v26nplogbwt1
|
|
|
- if len(温度自动监测设备放置位置开始时间) == 0 {
|
|
|
+ if len(温度自动监测设备放置位置开始时间) == 0 || 温度自动监测设备放置位置开始时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 温度自动监测设备放置位置开始时间 失败!"})
|
|
|
return
|
|
|
}
|
|
|
温度自动监测设备放置位置结束时间 := c.GetString("温度自动监测设备放置位置结束时间") // v26nplogbwt1
|
|
|
- if len(温度自动监测设备放置位置结束时间) == 0 {
|
|
|
+ if len(温度自动监测设备放置位置结束时间) == 0 || 温度自动监测设备放置位置结束时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 温度自动监测设备放置位置结束时间 失败!"})
|
|
|
return
|
|
|
}
|
|
@@ -4377,12 +4846,12 @@ func (c *TaskDataController) A外部环境分割线最低温() {
|
|
|
return
|
|
|
}
|
|
|
温度自动监测设备放置位置开始时间 := c.GetString("温度自动监测设备放置位置开始时间") // v26nplogbwt1
|
|
|
- if len(温度自动监测设备放置位置开始时间) == 0 {
|
|
|
+ if len(温度自动监测设备放置位置开始时间) == 0 || 温度自动监测设备放置位置开始时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 温度自动监测设备放置位置开始时间 失败!"})
|
|
|
return
|
|
|
}
|
|
|
温度自动监测设备放置位置结束时间 := c.GetString("温度自动监测设备放置位置结束时间") // v26nplogbwt1
|
|
|
- if len(温度自动监测设备放置位置结束时间) == 0 {
|
|
|
+ if len(温度自动监测设备放置位置结束时间) == 0 || 温度自动监测设备放置位置结束时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 温度自动监测设备放置位置结束时间 失败!"})
|
|
|
return
|
|
|
}
|
|
@@ -4416,20 +4885,20 @@ func (c *TaskDataController) A冷藏柜外部环境测点最高温() {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 冷藏柜外部环境测点 失败!"})
|
|
|
return
|
|
|
}
|
|
|
- 温度自动监测设备放置位置开始时间 := c.GetString("现场测试开始时间") // v26nplogbwt1
|
|
|
- if len(温度自动监测设备放置位置开始时间) == 0 {
|
|
|
+ 现场测试开始时间 := c.GetString("现场测试开始时间") // v26nplogbwt1
|
|
|
+ if len(现场测试开始时间) == 0 || 现场测试开始时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试开始时间 失败!"})
|
|
|
return
|
|
|
}
|
|
|
- 温度自动监测设备放置位置结束时间 := c.GetString("现场测试结束时间") // v26nplogbwt1
|
|
|
- if len(温度自动监测设备放置位置结束时间) == 0 {
|
|
|
+ 现场测试结束时间 := c.GetString("现场测试结束时间") // v26nplogbwt1
|
|
|
+ if len(现场测试结束时间) == 0 || 现场测试结束时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试结束时间 失败!"})
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- _, maxT := Task.Read_TaskData_T_Min_Max(Task_r.T_task_id, 保温箱外环境测点, "", 温度自动监测设备放置位置开始时间, 温度自动监测设备放置位置结束时间)
|
|
|
+ _, maxT := Task.Read_TaskData_T_Min_Max(Task_r.T_task_id, 保温箱外环境测点, "", 现场测试开始时间, 现场测试结束时间)
|
|
|
|
|
|
- lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: fmt.Sprintf("%.1f", math.Ceil(float64(maxT*10))/10)})
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: fmt.Sprintf("%.1f", math.Ceil(float64(maxT*10))/10+0.5)})
|
|
|
|
|
|
// Close the connection
|
|
|
c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
@@ -4455,20 +4924,20 @@ func (c *TaskDataController) A冷藏柜外部环境测点最低温() {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 冷藏柜外部环境测点 失败!"})
|
|
|
return
|
|
|
}
|
|
|
- 温度自动监测设备放置位置开始时间 := c.GetString("现场测试开始时间") // v26nplogbwt1
|
|
|
- if len(温度自动监测设备放置位置开始时间) == 0 {
|
|
|
+ 现场测试开始时间 := c.GetString("现场测试开始时间") // v26nplogbwt1
|
|
|
+ if len(现场测试开始时间) == 0 || 现场测试开始时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试开始时间 失败!"})
|
|
|
return
|
|
|
}
|
|
|
- 温度自动监测设备放置位置结束时间 := c.GetString("现场测试结束时间") // v26nplogbwt1
|
|
|
- if len(温度自动监测设备放置位置结束时间) == 0 {
|
|
|
+ 现场测试结束时间 := c.GetString("现场测试结束时间") // v26nplogbwt1
|
|
|
+ if len(现场测试结束时间) == 0 || 现场测试结束时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试结束时间 失败!"})
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- minT, _ := Task.Read_TaskData_T_Min_Max(Task_r.T_task_id, 保温箱外环境测点, "", 温度自动监测设备放置位置开始时间, 温度自动监测设备放置位置结束时间)
|
|
|
+ minT, _ := Task.Read_TaskData_T_Min_Max(Task_r.T_task_id, 保温箱外环境测点, "", 现场测试开始时间, 现场测试结束时间)
|
|
|
|
|
|
- lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: fmt.Sprintf("%.1f", math.Ceil(float64(minT*10))/10)})
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: fmt.Sprintf("%.1f", math.Ceil(float64(minT*10))/10-0.5)})
|
|
|
|
|
|
// Close the connection
|
|
|
c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
@@ -4545,7 +5014,7 @@ func (c *TaskDataController) A满载第一次关门温度恢复时间() {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 第一次开门结束时间 失败!"})
|
|
|
return
|
|
|
}
|
|
|
- 第一次开门结束时间_a, err := time.Parse("2006-01-02 15:04:05", 第一次开门结束时间)
|
|
|
+ 第一次开门结束时间_a, err := time.Parse("2006-01-02 15:04", 第一次开门结束时间)
|
|
|
第一次开门结束时间_b := 第一次开门结束时间_a
|
|
|
|
|
|
for x := 0; x < 60; x++ {
|
|
@@ -4631,7 +5100,7 @@ func (c *TaskDataController) A空载第一次关门温度恢复时间() {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 第一次开门结束时间 失败!"})
|
|
|
return
|
|
|
}
|
|
|
- 第一次开门结束时间_a, err := time.Parse("2006-01-02 15:04:05", 第一次开门结束时间)
|
|
|
+ 第一次开门结束时间_a, err := time.Parse("2006-01-02 15:04", 第一次开门结束时间)
|
|
|
第一次开门结束时间_b := 第一次开门结束时间_a
|
|
|
|
|
|
for x := 0; x < 60; x++ {
|
|
@@ -4695,14 +5164,14 @@ func (c *TaskDataController) A满载开门最长需要多少分钟恢复() {
|
|
|
c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
|
|
|
恢复时间_ := c.GetString("满载第一次关门温度恢复时间") // v26nplogbwt1
|
|
|
- 恢复时间, err := time.Parse("2006-01-02 15:04:05", 恢复时间_)
|
|
|
+ 恢复时间, err := time.Parse("2006-01-02 15:04", 恢复时间_)
|
|
|
if err != nil {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 满载第一次关门温度恢复时间 失败!"})
|
|
|
return
|
|
|
}
|
|
|
|
|
|
结束时间_ := c.GetString("第一次开门结束时间") // v26nplogbwt1
|
|
|
- 结束时间, err := time.Parse("2006-01-02 15:04:05", 结束时间_)
|
|
|
+ 结束时间, err := time.Parse("2006-01-02 15:04", 结束时间_)
|
|
|
if err != nil {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 第一次开门结束时间 失败!"})
|
|
|
return
|
|
@@ -4723,14 +5192,14 @@ func (c *TaskDataController) A空载开门最长需要多少分钟恢复() {
|
|
|
c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
|
|
|
恢复时间_ := c.GetString("空载第一次关门温度恢复时间") // v26nplogbwt1
|
|
|
- 恢复时间, err := time.Parse("2006-01-02 15:04:05", 恢复时间_)
|
|
|
+ 恢复时间, err := time.Parse("2006-01-02 15:04", 恢复时间_)
|
|
|
if err != nil {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 空载第一次关门温度恢复时间 失败!"})
|
|
|
return
|
|
|
}
|
|
|
|
|
|
结束时间_ := c.GetString("第一次开门结束时间") // v26nplogbwt1
|
|
|
- 结束时间, err := time.Parse("2006-01-02 15:04:05", 结束时间_)
|
|
|
+ 结束时间, err := time.Parse("2006-01-02 15:04", 结束时间_)
|
|
|
if err != nil {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 第一次开门结束时间 失败!"})
|
|
|
return
|
|
@@ -4762,12 +5231,12 @@ func (c *TaskDataController) A冷藏库作业口外部环境分割线最低温()
|
|
|
}
|
|
|
|
|
|
现场测试开始时间 := c.GetString("现场测试开始时间") // v26nplogbwt1
|
|
|
- if len(现场测试开始时间) == 0 {
|
|
|
+ if len(现场测试开始时间) == 0 || 现场测试开始时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试开始时间 失败!"})
|
|
|
return
|
|
|
}
|
|
|
现场测试结束时间 := c.GetString("现场测试结束时间") // v26nplogbwt1
|
|
|
- if len(现场测试开始时间) == 0 {
|
|
|
+ if len(现场测试结束时间) == 0 || 现场测试结束时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试结束时间 失败!"})
|
|
|
return
|
|
|
}
|
|
@@ -4800,12 +5269,12 @@ func (c *TaskDataController) A冷藏库作业口外部环境分割线最高温()
|
|
|
}
|
|
|
|
|
|
现场测试开始时间 := c.GetString("现场测试开始时间") // v26nplogbwt1
|
|
|
- if len(现场测试开始时间) == 0 {
|
|
|
+ if len(现场测试开始时间) == 0 || 现场测试开始时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试开始时间 失败!"})
|
|
|
return
|
|
|
}
|
|
|
现场测试结束时间 := c.GetString("现场测试结束时间") // v26nplogbwt1
|
|
|
- if len(现场测试开始时间) == 0 {
|
|
|
+ if len(现场测试结束时间) == 0 || 现场测试结束时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试结束时间 失败!"})
|
|
|
return
|
|
|
}
|
|
@@ -4838,12 +5307,12 @@ func (c *TaskDataController) A冷藏库外部环境测点最高温() {
|
|
|
}
|
|
|
|
|
|
现场测试开始时间 := c.GetString("现场测试开始时间") // v26nplogbwt1
|
|
|
- if len(现场测试开始时间) == 0 {
|
|
|
+ if len(现场测试开始时间) == 0 || 现场测试开始时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试开始时间 失败!"})
|
|
|
return
|
|
|
}
|
|
|
现场测试结束时间 := c.GetString("现场测试结束时间") // v26nplogbwt1
|
|
|
- if len(现场测试开始时间) == 0 {
|
|
|
+ if len(现场测试结束时间) == 0 || 现场测试结束时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试结束时间 失败!"})
|
|
|
return
|
|
|
}
|
|
@@ -4876,12 +5345,12 @@ func (c *TaskDataController) A冷藏库外部环境测点最低温() {
|
|
|
}
|
|
|
|
|
|
现场测试开始时间 := c.GetString("现场测试开始时间") // v26nplogbwt1
|
|
|
- if len(现场测试开始时间) == 0 {
|
|
|
+ if len(现场测试开始时间) == 0 || 现场测试开始时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试开始时间 失败!"})
|
|
|
return
|
|
|
}
|
|
|
现场测试结束时间 := c.GetString("现场测试结束时间") // v26nplogbwt1
|
|
|
- if len(现场测试开始时间) == 0 {
|
|
|
+ if len(现场测试结束时间) == 0 || 现场测试结束时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试结束时间 失败!"})
|
|
|
return
|
|
|
}
|
|
@@ -4955,12 +5424,12 @@ func (c *TaskDataController) A冷藏车外部环境测点最高温() {
|
|
|
}
|
|
|
|
|
|
现场测试开始时间 := c.GetString("现场测试开始时间") // v26nplogbwt1
|
|
|
- if len(现场测试开始时间) == 0 {
|
|
|
+ if len(现场测试开始时间) == 0 || 现场测试开始时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试开始时间 失败!"})
|
|
|
return
|
|
|
}
|
|
|
现场测试结束时间 := c.GetString("现场测试结束时间") // v26nplogbwt1
|
|
|
- if len(现场测试开始时间) == 0 {
|
|
|
+ if len(现场测试结束时间) == 0 || 现场测试结束时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试结束时间 失败!"})
|
|
|
return
|
|
|
}
|
|
@@ -4993,12 +5462,12 @@ func (c *TaskDataController) A冷藏车外部环境测点最低温() {
|
|
|
}
|
|
|
|
|
|
现场测试开始时间 := c.GetString("现场测试开始时间") // v26nplogbwt1
|
|
|
- if len(现场测试开始时间) == 0 {
|
|
|
+ if len(现场测试开始时间) == 0 || 现场测试开始时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试开始时间 失败!"})
|
|
|
return
|
|
|
}
|
|
|
现场测试结束时间 := c.GetString("现场测试结束时间") // v26nplogbwt1
|
|
|
- if len(现场测试开始时间) == 0 {
|
|
|
+ if len(现场测试结束时间) == 0 || 现场测试结束时间 == "null" {
|
|
|
lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试结束时间 失败!"})
|
|
|
return
|
|
|
}
|
|
@@ -5050,3 +5519,360 @@ func (c *TaskDataController) A冷藏车内部最高温() {
|
|
|
// Close the connection
|
|
|
c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
}
|
|
|
+
|
|
|
+func (c *TaskDataController) A验证测试期间当地天气情况曲线图() {
|
|
|
+
|
|
|
+ T_task_id := c.GetString("T_task_id") // v26nplogbwt1
|
|
|
+ println("T_task_id:", T_task_id)
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Content-Type", "text/event-stream")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
+
|
|
|
+ 验证测试期间当地天气情况图 := c.GetString("验证测试期间当地天气情况图") // v26nplogbwt1
|
|
|
+ if len(验证测试期间当地天气情况图) == 0 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 验证测试期间当地天气情况图 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: strings.Replace(验证测试期间当地天气情况图, "1.png", "2.png", 1)})
|
|
|
+
|
|
|
+ // Close the connection
|
|
|
+ c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
+}
|
|
|
+func (c *TaskDataController) A当地历史气温数据查询曲线图() {
|
|
|
+
|
|
|
+ T_task_id := c.GetString("T_task_id") // v26nplogbwt1
|
|
|
+ println("T_task_id:", T_task_id)
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Content-Type", "text/event-stream")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
+
|
|
|
+ 验证测试期间当地天气情况图 := c.GetString("验证测试期间当地天气情况图") // v26nplogbwt1
|
|
|
+ if len(验证测试期间当地天气情况图) == 0 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 验证测试期间当地天气情况图 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: strings.Replace(验证测试期间当地天气情况图, "1.png", "3.png", 1)})
|
|
|
+
|
|
|
+ // Close the connection
|
|
|
+ c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
+}
|
|
|
+
|
|
|
+func (c *TaskDataController) A报告编号() {
|
|
|
+
|
|
|
+ T_task_id := c.GetString("T_task_id") // v26nplogbwt1
|
|
|
+ println("T_task_id:", T_task_id)
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Content-Type", "text/event-stream")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
+
|
|
|
+ Task_r, err := Task.Read_Task(T_task_id)
|
|
|
+ if err != nil {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取任务信息失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: Task_r.T_report_number})
|
|
|
+
|
|
|
+ // Close the connection
|
|
|
+ c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
+}
|
|
|
+
|
|
|
+func (c *TaskDataController) A数据分析时间() {
|
|
|
+
|
|
|
+ T_task_id := c.GetString("T_task_id") // v26nplogbwt1
|
|
|
+ println("T_task_id:", T_task_id)
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Content-Type", "text/event-stream")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
+
|
|
|
+ 报告日期 := c.GetString("报告日期") // v26nplogbwt1
|
|
|
+ if len(报告日期) == 0 || 报告日期 == "null" {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 报告日期 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 报告日期})
|
|
|
+
|
|
|
+ // Close the connection
|
|
|
+ c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
+}
|
|
|
+func (c *TaskDataController) A实施计划月份() {
|
|
|
+
|
|
|
+ T_task_id := c.GetString("T_task_id") // v26nplogbwt1
|
|
|
+ println("T_task_id:", T_task_id)
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Content-Type", "text/event-stream")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
+
|
|
|
+ 现场测试开始时间_ := c.GetString("现场测试开始时间") // v26nplogbwt1
|
|
|
+ 现场测试开始时间, err := time.Parse("2006-01-02 15:04", 现场测试开始时间_)
|
|
|
+ if err != nil {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试开始时间 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 现场测试开始时间.Format("2006年01月")})
|
|
|
+
|
|
|
+ // Close the connection
|
|
|
+ c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
+}
|
|
|
+func (c *TaskDataController) A计划验证实施时间() {
|
|
|
+
|
|
|
+ T_task_id := c.GetString("T_task_id") // v26nplogbwt1
|
|
|
+ println("T_task_id:", T_task_id)
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Content-Type", "text/event-stream")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
+
|
|
|
+ 现场测试开始时间_ := c.GetString("现场测试开始时间") // v26nplogbwt1
|
|
|
+ 现场测试开始时间, err := time.Parse("2006-01-02 15:04", 现场测试开始时间_)
|
|
|
+ if err != nil {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 现场测试开始时间 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 现场测试开始时间.Format("2006年01月")})
|
|
|
+
|
|
|
+ // Close the connection
|
|
|
+ c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
+}
|
|
|
+func (c *TaskDataController) A监测终端01() {
|
|
|
+
|
|
|
+ T_task_id := c.GetString("T_task_id") // v26nplogbwt1
|
|
|
+ println("T_task_id:", T_task_id)
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Content-Type", "text/event-stream")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
+
|
|
|
+ Task_r, err := Task.Read_Task(T_task_id)
|
|
|
+ if err != nil {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取任务信息失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ DeviceClassList_r := Device.Read_DeviceClassList_List_id(Task_r.T_class)
|
|
|
+ for _, v := range DeviceClassList_r {
|
|
|
+ if strings.Contains(v.T_sn, "-1") {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: v.T_sn})
|
|
|
+
|
|
|
+ // Close the connection
|
|
|
+ c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "没有找到 SN-1 终端!"})
|
|
|
+ return
|
|
|
+
|
|
|
+}
|
|
|
+func (c *TaskDataController) A监测终端安装编号01() {
|
|
|
+
|
|
|
+ T_task_id := c.GetString("T_task_id") // v26nplogbwt1
|
|
|
+ println("T_task_id:", T_task_id)
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Content-Type", "text/event-stream")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
+
|
|
|
+ Task_r, err := Task.Read_Task(T_task_id)
|
|
|
+ if err != nil {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取任务信息失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ DeviceClassList_r := Device.Read_DeviceClassList_List_id(Task_r.T_class)
|
|
|
+ for _, v := range DeviceClassList_r {
|
|
|
+ if strings.Contains(v.T_sn, "-1") {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: v.T_sn})
|
|
|
+
|
|
|
+ // Close the connection
|
|
|
+ c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "没有找到 SN-1 终端!"})
|
|
|
+ return
|
|
|
+}
|
|
|
+func (c *TaskDataController) A监测终端02() {
|
|
|
+
|
|
|
+ T_task_id := c.GetString("T_task_id") // v26nplogbwt1
|
|
|
+ println("T_task_id:", T_task_id)
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Content-Type", "text/event-stream")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
+
|
|
|
+ Task_r, err := Task.Read_Task(T_task_id)
|
|
|
+ if err != nil {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取任务信息失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ DeviceClassList_r := Device.Read_DeviceClassList_List_id(Task_r.T_class)
|
|
|
+ for _, v := range DeviceClassList_r {
|
|
|
+ if strings.Contains(v.T_sn, "-2") {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: v.T_sn})
|
|
|
+
|
|
|
+ // Close the connection
|
|
|
+ c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "没有找到 SN-2 终端!"})
|
|
|
+ return
|
|
|
+
|
|
|
+}
|
|
|
+func (c *TaskDataController) A监测终端安装编号02() {
|
|
|
+
|
|
|
+ T_task_id := c.GetString("T_task_id") // v26nplogbwt1
|
|
|
+ println("T_task_id:", T_task_id)
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Content-Type", "text/event-stream")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
+
|
|
|
+ Task_r, err := Task.Read_Task(T_task_id)
|
|
|
+ if err != nil {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取任务信息失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ DeviceClassList_r := Device.Read_DeviceClassList_List_id(Task_r.T_class)
|
|
|
+ for _, v := range DeviceClassList_r {
|
|
|
+ if strings.Contains(v.T_sn, "-2") {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: v.T_sn})
|
|
|
+
|
|
|
+ // Close the connection
|
|
|
+ c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "没有找到 SN-2 终端!"})
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+func (c *TaskDataController) A监测系统配置的测点终端参数及安装位置确认满载开始时间() {
|
|
|
+
|
|
|
+ T_task_id := c.GetString("T_task_id") // v26nplogbwt1
|
|
|
+ println("T_task_id:", T_task_id)
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Content-Type", "text/event-stream")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
+
|
|
|
+ 运行确认及偏差处理满载结束时间 := c.GetString("运行确认及偏差处理满载结束时间") // v26nplogbwt1
|
|
|
+ if len(运行确认及偏差处理满载结束时间) == 0 || 运行确认及偏差处理满载结束时间 == "null" {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 运行确认及偏差处理满载结束时间 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 运行确认及偏差处理满载结束时间})
|
|
|
+
|
|
|
+ // Close the connection
|
|
|
+ c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
+}
|
|
|
+func (c *TaskDataController) A监测系统配置的测点终端参数及安装位置确认满载结束时间() {
|
|
|
+
|
|
|
+ T_task_id := c.GetString("T_task_id") // v26nplogbwt1
|
|
|
+ println("T_task_id:", T_task_id)
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Content-Type", "text/event-stream")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
+
|
|
|
+ 开满开 := c.GetString("开满开")
|
|
|
+ if len(开满开) == 0 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 开满开 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ Task_r, err := Task.Read_Task(T_task_id)
|
|
|
+ if err != nil {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取任务信息失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ DeviceClassList_r := Device.Read_DeviceClassList_List_id(Task_r.T_class)
|
|
|
+ var T_sn string
|
|
|
+ for _, v := range DeviceClassList_r {
|
|
|
+ if strings.Contains(v.T_id, "-") {
|
|
|
+ T_sn = v.T_sn
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(T_sn) == 0 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 终端 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ list, _ := Task.Read_TaskData_ById_List_AES(Task_r.T_task_id, T_sn, "", "", 开满开, 0, 9999)
|
|
|
+
|
|
|
+ if len(list) == 0 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 终端数据 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: list[len(list)-1].T_time})
|
|
|
+
|
|
|
+ c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
+}
|
|
|
+func (c *TaskDataController) A监测系统配置的测点终端参数及安装位置确认空载开始时间() {
|
|
|
+
|
|
|
+ T_task_id := c.GetString("T_task_id") // v26nplogbwt1
|
|
|
+ println("T_task_id:", T_task_id)
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Content-Type", "text/event-stream")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
+
|
|
|
+ 运行确认及偏差处理空载结束时间 := c.GetString("运行确认及偏差处理空载结束时间") // v26nplogbwt1
|
|
|
+ if len(运行确认及偏差处理空载结束时间) == 0 || 运行确认及偏差处理空载结束时间 == "null" {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 运行确认及偏差处理空载结束时间 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: 运行确认及偏差处理空载结束时间})
|
|
|
+
|
|
|
+ // Close the connection
|
|
|
+ c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
+}
|
|
|
+func (c *TaskDataController) A监测系统配置的测点终端参数及安装位置确认空载结束时间() {
|
|
|
+
|
|
|
+ T_task_id := c.GetString("T_task_id") // v26nplogbwt1
|
|
|
+ println("T_task_id:", T_task_id)
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Content-Type", "text/event-stream")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache")
|
|
|
+ c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive")
|
|
|
+
|
|
|
+ 开满开 := c.GetString("开满开")
|
|
|
+ if len(开满开) == 0 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 开满开 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ Task_r, err := Task.Read_Task(T_task_id)
|
|
|
+ if err != nil {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取任务信息失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ DeviceClassList_r := Device.Read_DeviceClassList_List_id(Task_r.T_class)
|
|
|
+ var T_sn string
|
|
|
+ for _, v := range DeviceClassList_r {
|
|
|
+ if strings.Contains(v.T_id, "-") {
|
|
|
+ T_sn = v.T_sn
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(T_sn) == 0 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 终端 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ list, _ := Task.Read_TaskData_ById_List_AES(Task_r.T_task_id, T_sn, "", "", 开满开, 0, 9999)
|
|
|
+
|
|
|
+ if len(list) == 0 {
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 2, Msg: "获取 终端数据 失败!"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ lib.SseWriteJSON(c.Ctx.ResponseWriter, lib.JSONSSE{State: 1, Msg: list[len(list)-1].T_time})
|
|
|
+
|
|
|
+ c.Ctx.ResponseWriter.WriteHeader(http.StatusOK)
|
|
|
+}
|