Browse Source

fix: 任务状态(除了已完成的任务)支持由设备主动上报变更

master
yinhuaiwei 1 month ago
parent
commit
86f3bf9e52
1 changed files with 12 additions and 18 deletions
  1. +12
    -18
      inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/controller/PatrolResultController.java

+ 12
- 18
inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/controller/PatrolResultController.java View File

@ -1155,28 +1155,22 @@ 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 {


Loading…
Cancel
Save