|
@@ -53,6 +53,11 @@ func (c *TaskDataController) TaskData_List() {
|
|
|
c.ServeJSON()
|
|
|
return
|
|
|
}
|
|
|
+ if Task_r.T_collection_state == 2 {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "数据采集中,请稍后!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
|
|
|
var cnt int64
|
|
|
List, cnt := Task.Read_TaskData_ById_List(Task_r.T_task_id, T_sn, T_id, Time_start, Time_end, page, page_z)
|
|
@@ -86,6 +91,12 @@ func (c *TaskDataController) TaskDataClass_List() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ if Task_r.T_collection_state == 2 {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "数据采集中,请稍后!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
List := Task.Read_TaskData_ById_ClassList(Task_r.T_task_id)
|
|
|
|
|
|
c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: List}
|
|
@@ -356,6 +367,12 @@ func (c *TaskDataController) Export_Data_Excel() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ if Task_r.T_collection_state == 2 {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "数据采集中,请稍后!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
T_sn_list := strings.Split(T_sn_str, ",")
|
|
|
DeviceSensor_data_list := []Task.TaskData_{}
|
|
|
for _, v := range T_sn_list {
|
|
@@ -418,6 +435,11 @@ func (c *TaskDataController) Export_Data_Excel() {
|
|
|
func (c *TaskDataController) Check() {
|
|
|
T_task_id := c.GetString("T_task_id")
|
|
|
Task_r, err := NatsServer.Read_Task(T_task_id)
|
|
|
+ if Task_r.T_collection_state == 2 {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "数据采集中,请稍后!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
if err != nil {
|
|
|
c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_task_id 错误!"}
|
|
|
c.ServeJSON()
|
|
@@ -441,7 +463,7 @@ func (c *TaskDataController) Check() {
|
|
|
for _, v := range List {
|
|
|
var r_json R_JSONS
|
|
|
r_json.T_sn = v.T_sn
|
|
|
-
|
|
|
+ r_json.T_id = v.T_id
|
|
|
r_json.Result = 200
|
|
|
|
|
|
DeviceSensor_data := Task.Read_TaskData_ById_List_(Task_r.T_task_id, v.T_sn)
|
|
@@ -504,6 +526,11 @@ func (c *TaskDataController) Check() {
|
|
|
func (c *TaskDataController) Check_Asyn() {
|
|
|
T_task_id := c.GetString("T_task_id")
|
|
|
Task_r, err := NatsServer.Read_Task(T_task_id)
|
|
|
+ if Task_r.T_collection_state == 2 {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "数据采集中,请稍后!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
if err != nil {
|
|
|
c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_task_id 错误!"}
|
|
|
c.ServeJSON()
|
|
@@ -521,23 +548,23 @@ func (c *TaskDataController) Check_Asyn() {
|
|
|
Result_Time_start string // 2022-8-05 21:01
|
|
|
Result_Time_defect int64 // 缺失时间间隔
|
|
|
}
|
|
|
- var r_jsons []R_JSONS
|
|
|
|
|
|
List := Task.Read_TaskData_ById_ClassList(Task_r.T_task_id)
|
|
|
|
|
|
+ r_jsons := make([]R_JSONS, 0)
|
|
|
var limitMaxNum = 10
|
|
|
var chData = make(chan int, limitMaxNum)
|
|
|
var jobGroup sync.WaitGroup
|
|
|
var tasknum = len(List)
|
|
|
|
|
|
- //处理任务,最多同时有10个协程
|
|
|
for i := 0; i < tasknum; i++ {
|
|
|
chData <- 1
|
|
|
- go func(index int, r_jsons *[]R_JSONS) {
|
|
|
- defer jobGroup.Done()
|
|
|
- jobGroup.Add(1)
|
|
|
+ jobGroup.Add(1)
|
|
|
+ go func(index int, wg *sync.WaitGroup, res *[]R_JSONS) {
|
|
|
+ defer wg.Done()
|
|
|
var r_json R_JSONS
|
|
|
r_json.T_sn = List[index].T_sn
|
|
|
+ r_json.T_id = List[index].T_id
|
|
|
|
|
|
r_json.Result = 200
|
|
|
|
|
@@ -545,10 +572,6 @@ func (c *TaskDataController) Check_Asyn() {
|
|
|
r_json.T_unm = len(DeviceSensor_data)
|
|
|
|
|
|
if r_json.T_unm > 2 {
|
|
|
- if List[index].T_sn == "000000000000004" {
|
|
|
- fmt.Println("-------------", List[index].T_sn)
|
|
|
-
|
|
|
- }
|
|
|
r_json.T_id = DeviceSensor_data[0].T_id
|
|
|
r_json.Time_end = DeviceSensor_data[len(DeviceSensor_data)-1].T_time
|
|
|
r_json.Time_start = DeviceSensor_data[0].T_time
|
|
@@ -561,10 +584,11 @@ func (c *TaskDataController) Check_Asyn() {
|
|
|
if formatTime_x > 60*30 || formatTime_x < 60 {
|
|
|
r_json.Result = 202
|
|
|
r_json.Result_str = "数据异常(数据的第一个时间与第二个时间相差 " + strconv.FormatInt(formatTime_x, 10) + "秒),必须大于60秒,小于30分钟"
|
|
|
- *r_jsons = append(*r_jsons, r_json)
|
|
|
+ *res = append(*res, r_json)
|
|
|
<-chData
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
for data_i := 2; data_i < len(DeviceSensor_data); data_i++ {
|
|
|
formatTime_a = formatTime_b
|
|
|
formatTime_b, _ = time.Parse("2006-1-2 15:04", DeviceSensor_data[data_i].T_time)
|
|
@@ -582,7 +606,7 @@ func (c *TaskDataController) Check_Asyn() {
|
|
|
r_json.Result_str = "开始时间:" + DeviceSensor_data[data_i-1].T_time + " 离下一条时间间隔:" + strconv.FormatInt(formatTime_, 10) + "秒,相差时间大于30分钟,不能自动补充"
|
|
|
break
|
|
|
}
|
|
|
- r_json.Result = 201
|
|
|
+ r_json.Result = 202
|
|
|
r_json.Result_str = "开始时间:" + DeviceSensor_data[data_i-1].T_time + " 离下一条时间间隔:" + strconv.FormatInt(formatTime_, 10) + "秒"
|
|
|
r_json.Result_Time_start = DeviceSensor_data[data_i-1].T_time
|
|
|
r_json.Result_Time_defect = formatTime_
|
|
@@ -590,14 +614,14 @@ func (c *TaskDataController) Check_Asyn() {
|
|
|
break
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
} else {
|
|
|
r_json.Result = 202
|
|
|
r_json.Result_str = "数据量太少 必须大于 2条以上!"
|
|
|
}
|
|
|
-
|
|
|
- *r_jsons = append(*r_jsons, r_json)
|
|
|
+ *res = append(*res, r_json)
|
|
|
<-chData
|
|
|
- }(i, &r_jsons)
|
|
|
+ }(i, &jobGroup, &r_jsons)
|
|
|
}
|
|
|
//使用Wait等待所有任务执行完毕
|
|
|
jobGroup.Wait()
|