From 15939892ddd6130bb1f1723501e650b863ab8e52 Mon Sep 17 00:00:00 2001 From: yinhuaiwei Date: Thu, 23 Oct 2025 16:45:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=9641=E6=8C=87=E4=BB=A4=E4=B8=8A?= =?UTF-8?q?=E6=8A=A5=E6=97=B6=E4=BB=BB=E5=8A=A1=E7=8A=B6=E6=80=81=E7=9A=84?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PatrolResultController.java | 39 +++++++------------ 1 file changed, 13 insertions(+), 26 deletions(-) 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 5f62ee2..530370c 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 @@ -1155,28 +1155,23 @@ public class PatrolResultController extends BaseController { patrolTaskStatusItem.setCode(channelCode); } } - // 设备上报暂停、终止或超期限制状态时,更新任务状态和结束时间 - if (patrolTaskStatusItem.getTaskState() != null && - (/*patrolTaskStatusItem.getTaskState().equals(TaskStatus.DONE.getCode()) || */ - patrolTaskStatusItem.getTaskState().equals(TaskStatus.HALTED.getCode()) - || patrolTaskStatusItem.getTaskState().equals(TaskStatus.EXPIRED.getCode()) - || patrolTaskStatusItem.getTaskState().equals(TaskStatus.PAUSED.getCode()))) { - patrolTaskStatusItem.setTaskState(patrolTaskStatusItem.getTaskState()); - patrolTaskStatusItem.setEndTime(DateUtils.parseDateToStr(DateUtils.yyyyMMddHHmmss2, new Date())); - - List statusList = patrolTaskStatusService.selectPatrolTaskStatusList(PatrolTaskStatus.builder().taskPatrolledId(patrolTaskStatusItem.getTaskPatrolledId()).build()); - if (!statusList.isEmpty()) { - PatrolTaskStatus taskStatus = statusList.get(0); - taskStatus.setTaskState(patrolTaskStatusItem.getTaskState()); - taskStatus.setEndTime(DateUtils.parseDateToStr(DateUtils.yyyyMMddHHmmss2, new Date())); - logger.info("GET_INFO_41 UPDATE TASK_STATE TO HALTED taskStatus: {}", taskStatus); - iPatrolTaskStatusService.updatePatrolTaskStatusOfTaskStateAndEndTime(taskStatus); - } - } + List patrolTaskStatusList = iPatrolTaskStatusService.selectPatrolTaskStatusList(patrolTaskStatus); logger.info("GET_INFO_41 ROBOT_TASK_STATUS patrolTaskStatusList: {}", patrolTaskStatusList); if (!patrolTaskStatusList.isEmpty()) { PatrolTaskStatus patrolTaskStatusOfDb = patrolTaskStatusList.get(0); + // 除了上报完成状态,当db状态与上报状态不一致时,更新db状态 + if(!patrolTaskStatusItem.getTaskState().equals(TaskStatus.DONE.getCode()) && !patrolTaskStatusOfDb.getTaskState().equals(patrolTaskStatusItem.getTaskState())) { + logger.info("GET_INFO_41 UPDATE TASK_STATE old: {} TO new: {}", patrolTaskStatusOfDb.getTaskState(), patrolTaskStatusItem.getTaskState()); + patrolTaskStatusOfDb.setTaskState(patrolTaskStatusItem.getTaskState()); + // 如果上报状态为终止或超期限制状态时,需更新终止时间 + if(patrolTaskStatusItem.getTaskState().equals(TaskStatus.HALTED.getCode())|| patrolTaskStatusItem.getTaskState().equals(TaskStatus.EXPIRED.getCode())) { + String endTime = DateUtils.parseDateToStr(DateUtils.yyyyMMddHHmmss2, new Date()); + patrolTaskStatusItem.setEndTime(endTime); + patrolTaskStatusOfDb.setEndTime(endTime); + } + iPatrolTaskStatusService.updatePatrolTaskStatusOfTaskState(patrolTaskStatusOfDb); + } double runProgress = 0.0; double dbProgress = 0.0; try { @@ -1278,14 +1273,6 @@ public class PatrolResultController extends BaseController { patrolTaskStatusItem.setCreateTime(new Date()); patrolTaskStatusItem.setStartTime(new Date()); patrolTaskStatusItem.setTaskEstimatedTime(""); - if (!"2".equals(patrolTaskStatusItem.getTaskState())) { - logger.info("任务一开始就给了错误的任务的状态: messageBody: {}", messageBody); - patrolTaskStatusItem.setTaskState("2"); - } - // 上面判断未知规避原因,此处patch是针对继保机器狗如遇下雨天,第一次会上报5未执行状态 - if (TaskStatus.PENDING.getCode().equals(patrolTaskStatusItem.getTaskState())) { - patrolTaskStatusItem.setTaskState(TaskStatus.RUNNING.getCode()); - } if (patrolTaskStatusItem.getTaskName().contains("联合") && !patrolTaskStatusItem.getTaskName().startsWith(sendCode)) { patrolTaskStatusItem.setTaskName(sendCode + "-" + patrolTaskStatusItem.getTaskName());