Browse Source

/*

* 智能巡视任务下发完成100%, 在这个节点不能更新task_state字段, 原因如下:
  * 1. 不能更新task_state为已经完成状态, 因为整个任务的完成状态应该由算法任务是否完成来决定;
  * 2. 不能更新task_state为正在执行状态, 因为在测试环境下发现智巡任务比算法任务达到100进度还要晚,
  *    因此原本算法任务已经将状态置为已经完成的情况下为了防止智巡任务再把它改为执行中,所以此时只需要
  *    更新智巡的进度值为100即可
 */
master
htjcAdmin 5 months ago
parent
commit
396376c09d
3 changed files with 36 additions and 6 deletions
  1. +2
    -2
      inspect-job/src/main/java/com/inspect/job/task/JobMainTask.java
  2. +13
    -3
      inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalysisServiceImpl.java
  3. +21
    -1
      inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/controller/PatrolResultController.java

+ 2
- 2
inspect-job/src/main/java/com/inspect/job/task/JobMainTask.java View File

@ -744,7 +744,7 @@ public class JobMainTask {
// List<PatrolTaskInfo> totalInfos = getInfosByRecord(taskExecRecord);
List<PatrolTaskPointExecRecord> finishedInfos = taskExecClient.selectPatrolTaskPointExecRecordList(PatrolTaskPointExecRecord.builder().oldTaskPatrolledId(taskExecRecord.getOldTaskPatrolId()).build());
String totalProgress = decimalFormatNum(finishedInfos.size(), total);// task_progress=finish/total -> patrol_task_status
log.info("totalProgress: {}, finish: {}, batchSize: {}, total: {}", totalProgress, finishedInfos.size(), infoListSize, total);
log.info("addCursorNumber totalProgress: {}, finish: {}, batchSize: {}, total: {}", totalProgress, finishedInfos.size(), infoListSize, total);
callRemoteSendMsgRunMode(
taskExecRecord.getTaskCode(),
taskExecRecord.getTaskName(),
@ -794,7 +794,7 @@ public class JobMainTask {
// List<PatrolTaskInfo> totalInfos = getInfosByRecord(execRecord);
List<PatrolTaskPointExecRecord> finishedInfos = taskExecClient.selectPatrolTaskPointExecRecordList(PatrolTaskPointExecRecord.builder().oldTaskPatrolledId(execRecord.getOldTaskPatrolId()).build());
String totalProgress = decimalFormatNum(finishedInfos.size(), infoListSize);
log.info("totalProgress: {}, finish: {}, total: {}", totalProgress, finishedInfos.size(), infoListSize);
log.info("windUpRecord totalProgress: {}, finish: {}, total: {}", totalProgress, finishedInfos.size(), infoListSize);
// callRemoteSendMsgRunMode(
// execRecord.getTaskCode(),
// execRecord.getTaskName(),


+ 13
- 3
inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalysisServiceImpl.java View File

@ -894,8 +894,8 @@ public class AnalysisServiceImpl implements IAnalysisService {
resultAnalysis.setFilter("1");
List<ResultAnalysis> resultAnalysisList = resultAnalysisService.selectResultAnalysisList(resultAnalysis);
String algorithmProgress = decimalFormatNum(resultAnalysisList.size(), totalNumber);
log.info(Color.GREEN + "calcRemoteAlgorithmProgress: curNumber: {}, totalNumer: {}, algorithmProgress: {}" + Color.END,
resultAnalysisList.size(), totalNumber, algorithmProgress);
// log.info(Color.GREEN + "calcRemoteAlgorithmProgress: curNumber: {}, totalNumer: {}, algorithmProgress: {}, taskPatrolledId: {}" + Color.END,
// resultAnalysisList.size(), totalNumber, algorithmProgress, taskPatrolledId);
PatrolTaskStatus patrolTaskStatus = new PatrolTaskStatus();
patrolTaskStatus.setTaskPatrolledId(taskPatrolledId);
@ -903,7 +903,17 @@ public class AnalysisServiceImpl implements IAnalysisService {
if(!patrolTaskStatusList.isEmpty()) {
patrolTaskStatus = patrolTaskStatusList.get(0);
patrolTaskStatus.setTaskEstimatedTime(algorithmProgress);
patrolTaskStatus.setTaskState("100.0".equals(algorithmProgress) ? TaskStatus.DONE.getCode() : TaskStatus.RUNNING.getCode());
if("100.0".equals(algorithmProgress)) {
patrolTaskStatus.setEndTime(DateUtil.formatDateTime(new Date()));
log.info(Color.GREEN + "DONE calcRemoteAlgorithmProgress: curNumber: {}, totalNumer: {}, algorithmProgress: {}, taskPatrolledId: {}, db-taskProgress: {}" + Color.END,
resultAnalysisList.size(), totalNumber, algorithmProgress, taskPatrolledId, patrolTaskStatus.getTaskProgress());
patrolTaskStatus.setTaskProgress("100.0");
patrolTaskStatus.setTaskState(TaskStatus.DONE.getCode());
} else {
log.info(Color.GREEN + "RUNNING calcRemoteAlgorithmProgress: curNumber: {}, totalNumer: {}, algorithmProgress: {}, taskPatrolledId: {}" + Color.END,
resultAnalysisList.size(), totalNumber, algorithmProgress, taskPatrolledId);
patrolTaskStatus.setTaskState(TaskStatus.RUNNING.getCode());
}
patrolTaskStatusService.updatePatrolTaskStatus(patrolTaskStatus);
}
}


+ 21
- 1
inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/controller/PatrolResultController.java View File

@ -1149,7 +1149,27 @@ public class PatrolResultController extends BaseController {
}
logger.info(Color.CYAN + "updating patrol_task_status taskPatrolledId: {}, progress: {}, taskState: {}" + Color.END,
patrolTaskStatusItem.getTaskPatrolledId(), patrolTaskStatusItem.getTaskProgress(), patrolTaskStatusItem.getTaskState());
i = iPatrolTaskStatusService.updatePatrolTaskStatus(patrolTaskStatusItem);
/*
* 智能巡视任务下发完成100%, 在这个节点不能更新task_state字段, 原因如下:
* 1. 不能更新task_state为已经完成状态, 因为整个任务的完成状态应该由算法任务是否完成来决定;
* 2. 不能更新task_state为正在执行状态, 因为在测试环境下发现智巡任务比算法任务达到100进度还要晚,
* 因此原本算法任务已经将状态置为已经完成的情况下为了防止智巡任务再把它改为执行中所以此时只需要
* 更新智巡的进度值为100即可
*/
if("100.0".equals(patrolTaskStatusItem.getTaskProgress())
&& TaskStatus.RUNNING.getCode().equals(patrolTaskStatusItem.getTaskState())) {
List<PatrolTaskStatus> statusList = patrolTaskStatusService.selectPatrolTaskStatusList(PatrolTaskStatus.builder().taskPatrolledId(patrolTaskStatusItem.getTaskPatrolledId()).build());
if(!statusList.isEmpty()) {
logger.info(Color.CYAN + "updating patrol_task_status 100%, taskPatrolledId: {}, progress: {}, taskState: {}" + Color.END,
patrolTaskStatusItem.getTaskPatrolledId(), patrolTaskStatusItem.getTaskProgress(), patrolTaskStatusItem.getTaskState());
PatrolTaskStatus taskStatus = statusList.get(0);
taskStatus.setTaskProgress(patrolTaskStatusItem.getTaskProgress());
iPatrolTaskStatusService.updatePatrolTaskStatus(taskStatus);
}
} else {
i = iPatrolTaskStatusService.updatePatrolTaskStatus(patrolTaskStatusItem);
}
if ("E100-001".equals(sendCode)) {
if ("100".equals(patrolTaskStatusItem.getTaskProgress())) {
saveDataToResultAnalysis(patrolTaskStatusItem.getTaskPatrolledId());


Loading…
Cancel
Save