|
@@ -857,9 +857,8 @@ func (c *TaskDataController) CopyFromPosition() {
|
|
|
continue
|
|
|
}
|
|
|
sn, id_str := sn_id[0], sn_id[1]
|
|
|
- id, _ := strconv.Atoi(id_str)
|
|
|
- Task.DeleteTaskDataByTimeRange(Task_r.T_task_id, sn, id, CopyTime, CopyEndTime)
|
|
|
- List, _ := Task.Read_TaskData_ById_List_AES(Task_r.T_task_id, sn, id, StartTime, EndTime, 0, 9999)
|
|
|
+ Task.DeleteTaskDataByTimeRange(Task_r.T_task_id, sn, id_str, CopyTime, CopyEndTime)
|
|
|
+ List, _ := Task.Read_TaskData_ById_List_AES(Task_r.T_task_id, sn, id_str, StartTime, EndTime, 0, 9999)
|
|
|
ct := copyTime
|
|
|
go func(TaskDataList []Task.TaskData_, task_id string, T_saveT int) {
|
|
|
for _, taskData := range TaskDataList {
|
|
@@ -923,8 +922,7 @@ func (c *TaskDataController) RepairSensorData() {
|
|
|
continue
|
|
|
}
|
|
|
sn, id_str := sn_id[0], sn_id[1]
|
|
|
- id, _ := strconv.Atoi(id_str)
|
|
|
- list, _ := Task.Read_TaskData_ById_List_AES(Task_r.T_task_id, sn, id, StartTime, EndTime, 0, 9999)
|
|
|
+ list, _ := Task.Read_TaskData_ById_List_AES(Task_r.T_task_id, sn, id_str, StartTime, EndTime, 0, 9999)
|
|
|
for i := 0; i < len(list)-1; i++ {
|
|
|
current := list[i].T_time
|
|
|
next := list[i+1].T_time
|
|
@@ -1013,13 +1011,12 @@ func (c *TaskDataController) DataSensorDataTrend() {
|
|
|
continue
|
|
|
}
|
|
|
sn, id_str := sn_id[0], sn_id[1]
|
|
|
- id, _ := strconv.Atoi(id_str)
|
|
|
- list, _ := Task.Read_TaskData_ById_List_AES(Task_r.T_task_id, sn, id, StartTime, EndTime, 0, 9999)
|
|
|
+ list, _ := Task.Read_TaskData_ById_List_AES(Task_r.T_task_id, sn, id_str, StartTime, EndTime, 0, 9999)
|
|
|
if len(list) == 0 {
|
|
|
continue
|
|
|
}
|
|
|
|
|
|
- Task.DeleteTaskDataByTimeRange(Task_r.T_task_id, sn, id, StartTime, EndTime)
|
|
|
+ Task.DeleteTaskDataByTimeRange(Task_r.T_task_id, sn, id_str, StartTime, EndTime)
|
|
|
first := list[0]
|
|
|
last := list[len(list)-1]
|
|
|
|
|
@@ -1039,7 +1036,7 @@ func (c *TaskDataController) DataSensorDataTrend() {
|
|
|
Task.InsertTaskData(Task_r.T_task_id, Task.TaskData_{
|
|
|
//加保存时间
|
|
|
T_sn: first.T_sn,
|
|
|
- T_id: strconv.Itoa(id),
|
|
|
+ T_id: id_str,
|
|
|
T_t: tt,
|
|
|
T_rh: ttrh,
|
|
|
T_time: ttime,
|
|
@@ -1220,8 +1217,7 @@ func (c *TaskDataController) DataSensorDataSmooth() {
|
|
|
}
|
|
|
sn := sn_id[0]
|
|
|
id_str := sn_id[1]
|
|
|
- id, _ := strconv.Atoi(id_str)
|
|
|
- list, _ := Task.Read_TaskData_ById_List_AES(Task_r.T_task_id, sn, id, StartTime, EndTime, 0, 9999)
|
|
|
+ list, _ := Task.Read_TaskData_ById_List_AES(Task_r.T_task_id, sn, id_str, StartTime, EndTime, 0, 9999)
|
|
|
for i := 1; i < len(list); i++ {
|
|
|
n := list[i-1]
|
|
|
old := list[i]
|
|
@@ -1257,3 +1253,186 @@ func (c *TaskDataController) DataSensorDataSmooth() {
|
|
|
c.Data["json"] = lib.JSONS{200, "操作成功处理" + fmt.Sprint(count) + "条数据", nil}
|
|
|
c.ServeJSON()
|
|
|
}
|
|
|
+
|
|
|
+// CopyFromPosition 数据拷贝平均值
|
|
|
+func (c *TaskDataController) CopyFromPositionAverageSN() {
|
|
|
+ T_uuid, _ := lib.GetAdminT_Uuid(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
|
|
|
+ //if !b_ {
|
|
|
+ // c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
|
|
|
+ // c.ServeJSON()
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ StartTime := c.GetString("StartTime")
|
|
|
+ startTime, ok := lib.TimeStrToTime(StartTime)
|
|
|
+ if !ok {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "时间格式错误!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ EndTime := c.GetString("EndTime")
|
|
|
+ endTime, ok := lib.TimeStrToTime(EndTime)
|
|
|
+ if !ok {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "时间格式错误!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ CopyTime := c.GetString("CopyTime")
|
|
|
+ CopySN := c.GetString("CopySN")
|
|
|
+ CopyID := c.GetString("CopyID")
|
|
|
+ copyTime, ok := lib.TimeStrToTime(CopyTime)
|
|
|
+ // 时间间隔 s
|
|
|
+ T_saveT, _ := c.GetInt("T_saveT")
|
|
|
+ if !ok {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "时间格式错误!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ CopyEndTime := copyTime.Add(endTime.Sub(startTime)).Format("2006-01-02 15:04:05")
|
|
|
+
|
|
|
+ SN_List := strings.Split(strings.Trim(c.GetString("SN_List"), "|"), "|")
|
|
|
+ if len(SN_List) != 2 {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "SN_List Err!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ T_task_id := c.GetString("T_task_id")
|
|
|
+ Task_r, err := NatsServer.Read_Task(T_task_id)
|
|
|
+ if err != nil {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_task_id 错误!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if Task_r.T_collection_state == 2 {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "数据采集中,请稍后!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ sn_id1 := strings.Split(SN_List[0], ",")
|
|
|
+ if len(sn_id1) != 2 {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "SN_List Err!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ sn1, id_str1 := sn_id1[0], sn_id1[1]
|
|
|
+ sn_id2 := strings.Split(SN_List[1], ",")
|
|
|
+ if len(sn_id2) != 2 {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "SN_List Err!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ sn2, id_str2 := sn_id2[0], sn_id2[1]
|
|
|
+ List1, _ := Task.Read_TaskData_ById_List_AES(Task_r.T_task_id, sn1, id_str1, StartTime, EndTime, 0, 9999)
|
|
|
+ List2, _ := Task.Read_TaskData_ById_List_AES(Task_r.T_task_id, sn2, id_str2, StartTime, EndTime, 0, 9999)
|
|
|
+ var list []Task.TaskData_
|
|
|
+ ct := copyTime
|
|
|
+ for i := 0; i < len(List1); i++ {
|
|
|
+ if List1[i].T_time != List2[i].T_time {
|
|
|
+ ct = ct.Add(time.Second * time.Duration(T_saveT))
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ T_t := (List1[i].T_t + List2[i].T_t) / 2
|
|
|
+ T_rh := (List1[i].T_rh + List2[i].T_rh) / 2
|
|
|
+ list = append(list, Task.TaskData_{
|
|
|
+ T_sn: CopySN,
|
|
|
+ T_id: CopyID,
|
|
|
+ T_t: T_t,
|
|
|
+ T_rh: T_rh,
|
|
|
+ T_time: ct.Format("2006-01-02 15:04:05"),
|
|
|
+ })
|
|
|
+ ct = ct.Add(time.Second * time.Duration(T_saveT))
|
|
|
+ }
|
|
|
+ Task.DeleteTaskDataByTimeRange(Task_r.T_task_id, CopySN, CopyID, CopyTime, CopyEndTime)
|
|
|
+
|
|
|
+ go func(TaskDataList []Task.TaskData_, task_id string) {
|
|
|
+ for _, taskData := range TaskDataList {
|
|
|
+ Task.InsertTaskData(task_id, taskData)
|
|
|
+ }
|
|
|
+ }(list, Task_r.T_task_id)
|
|
|
+
|
|
|
+ System.Add_UserLogs_T(T_uuid, "数据复制平均值", fmt.Sprintf("数据复制(%s)[%s|%s],复制时间:%s,,时间间隔:%d", T_task_id, StartTime, EndTime, CopyTime, T_saveT), SN_List)
|
|
|
+
|
|
|
+ c.Data["json"] = lib.JSONS{200, "数据复制已提交后台处理!", nil}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// CopyFromPosition 数据拷贝
|
|
|
+func (c *TaskDataController) CopyFromPositionSN() {
|
|
|
+ T_uuid, _ := lib.GetAdminT_Uuid(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
|
|
|
+ //if !b_ {
|
|
|
+ // c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
|
|
|
+ // c.ServeJSON()
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ StartTime := c.GetString("StartTime")
|
|
|
+ startTime, ok := lib.TimeStrToTime(StartTime)
|
|
|
+ if !ok {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "时间格式错误!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ EndTime := c.GetString("EndTime")
|
|
|
+ endTime, ok := lib.TimeStrToTime(EndTime)
|
|
|
+ if !ok {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "时间格式错误!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ CopyTime := c.GetString("CopyTime")
|
|
|
+ copyTime, ok := lib.TimeStrToTime(CopyTime)
|
|
|
+ CopySN := c.GetString("CopySN")
|
|
|
+ CopyID := c.GetString("CopyID")
|
|
|
+ if !ok {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "时间格式错误!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ CopyEndTime := copyTime.Add(endTime.Sub(startTime)).Format("2006-01-02 15:04:05")
|
|
|
+ // 时间间隔 分钟
|
|
|
+ T_saveT, _ := c.GetInt("T_saveT")
|
|
|
+
|
|
|
+ SN_List := strings.Split(strings.Trim(c.GetString("SN_List"), "|"), "|")
|
|
|
+ if len(SN_List) != 1 {
|
|
|
+ c.Data["json"] = lib.JSONS{202, "SN_List Err!", nil}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ T_task_id := c.GetString("T_task_id")
|
|
|
+ Task_r, err := NatsServer.Read_Task(T_task_id)
|
|
|
+ if err != nil {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_task_id 错误!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if Task_r.T_collection_state == 2 {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "数据采集中,请稍后!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ sn_id := strings.Split(SN_List[0], ",")
|
|
|
+ if len(sn_id) != 2 {
|
|
|
+ c.Data["json"] = lib.JSONS{202, "SN_List Err!", nil}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ sn, id_str := sn_id[0], sn_id[1]
|
|
|
+ Task.DeleteTaskDataByTimeRange(Task_r.T_task_id, CopySN, CopyID, CopyTime, CopyEndTime)
|
|
|
+ List, _ := Task.Read_TaskData_ById_List_AES(Task_r.T_task_id, sn, id_str, StartTime, EndTime, 0, 9999)
|
|
|
+ ct := copyTime
|
|
|
+ go func(TaskDataList []Task.TaskData_, task_id string, T_saveT int) {
|
|
|
+ for _, taskData := range TaskDataList {
|
|
|
+ taskData.T_time = ct.Format("2006-01-02 15:04:05")
|
|
|
+ taskData.T_sn = CopySN
|
|
|
+ taskData.T_id = CopyID
|
|
|
+ Task.InsertTaskData(task_id, taskData)
|
|
|
+ ct = ct.Add(time.Second * time.Duration(T_saveT))
|
|
|
+ }
|
|
|
+ }(List, Task_r.T_task_id, T_saveT)
|
|
|
+
|
|
|
+ System.Add_UserLogs_T(T_uuid, "数据复制", fmt.Sprintf("数据复制(%s)[%s|%s],复制时间:%s,,时间间隔:%d", T_task_id, StartTime, EndTime, CopyTime, T_saveT), SN_List)
|
|
|
+
|
|
|
+ c.Data["json"] = lib.JSONS{200, "数据复制已提交后台处理!", nil}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+}
|