Browse Source

优化41指令上报时任务状态的更新

master
yinhuaiwei 2 months ago
parent
commit
15939892dd
1 changed files with 13 additions and 26 deletions
  1. +13
    -26
      inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/controller/PatrolResultController.java

+ 13
- 26
inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/controller/PatrolResultController.java View File

@ -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<PatrolTaskStatus> 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<PatrolTaskStatus> 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());


Loading…
Cancel
Save