diff --git a/inspect-job/src/main/java/com/inspect/job/task/JobMainTask.java b/inspect-job/src/main/java/com/inspect/job/task/JobMainTask.java index 6146bfb..10314e9 100644 --- a/inspect-job/src/main/java/com/inspect/job/task/JobMainTask.java +++ b/inspect-job/src/main/java/com/inspect/job/task/JobMainTask.java @@ -744,7 +744,7 @@ public class JobMainTask { // List totalInfos = getInfosByRecord(taskExecRecord); List 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 totalInfos = getInfosByRecord(execRecord); List 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(), diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalysisServiceImpl.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalysisServiceImpl.java index 1e26102..57ebd84 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalysisServiceImpl.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalysisServiceImpl.java @@ -894,8 +894,8 @@ public class AnalysisServiceImpl implements IAnalysisService { resultAnalysis.setFilter("1"); List 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); } } diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/controller/PatrolResultController.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/controller/PatrolResultController.java index b0d4585..1d700b7 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/controller/PatrolResultController.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/controller/PatrolResultController.java @@ -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 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());