Browse Source

新增兼容设备首次上报5未执行状态和主动上报的3暂停状态

master
yinhuaiwei 2 months ago
parent
commit
33262cf6d0
1 changed files with 10 additions and 4 deletions
  1. +10
    -4
      inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/controller/PatrolResultController.java

+ 10
- 4
inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/controller/PatrolResultController.java View File

@ -1155,11 +1155,12 @@ public class PatrolResultController extends BaseController {
patrolTaskStatusItem.setCode(channelCode); patrolTaskStatusItem.setCode(channelCode);
} }
} }
// 设备上报暂停终止或超期限制状态时更新任务状态和结束时间
if (patrolTaskStatusItem.getTaskState() != null && if (patrolTaskStatusItem.getTaskState() != null &&
(/*patrolTaskStatusItem.getTaskState().equals(TaskStatus.DONE.getCode()) || */ (/*patrolTaskStatusItem.getTaskState().equals(TaskStatus.DONE.getCode()) || */
patrolTaskStatusItem.getTaskState().equals(TaskStatus.HALTED.getCode()) patrolTaskStatusItem.getTaskState().equals(TaskStatus.HALTED.getCode())
|| patrolTaskStatusItem.getTaskState().equals(TaskStatus.EXPIRED.getCode()))) {
|| patrolTaskStatusItem.getTaskState().equals(TaskStatus.EXPIRED.getCode())
|| patrolTaskStatusItem.getTaskState().equals(TaskStatus.PAUSED.getCode()))) {
patrolTaskStatusItem.setTaskState(patrolTaskStatusItem.getTaskState()); patrolTaskStatusItem.setTaskState(patrolTaskStatusItem.getTaskState());
patrolTaskStatusItem.setEndTime(DateUtils.parseDateToStr(DateUtils.yyyyMMddHHmmss2, new Date())); patrolTaskStatusItem.setEndTime(DateUtils.parseDateToStr(DateUtils.yyyyMMddHHmmss2, new Date()));
@ -1199,7 +1200,7 @@ public class PatrolResultController extends BaseController {
patrolTaskStatusOfDb.getTaskProgress(), patrolTaskStatusOfDb.getTaskProgress(),
patrolTaskStatusOfDb.getTaskEstimatedTime()); patrolTaskStatusOfDb.getTaskEstimatedTime());
} }
// 算法进度
String calProgressInDb = patrolTaskStatusOfDb.getTaskEstimatedTime(); String calProgressInDb = patrolTaskStatusOfDb.getTaskEstimatedTime();
logger.info("patrol_task_status taskPatrolledId: {}, run_progress: {}, db_progress: {}, cal_progress: {}", logger.info("patrol_task_status taskPatrolledId: {}, run_progress: {}, db_progress: {}, cal_progress: {}",
patrolTaskStatusItem.getTaskPatrolledId(), patrolTaskStatusItem.getTaskPatrolledId(),
@ -1235,6 +1236,7 @@ public class PatrolResultController extends BaseController {
PatrolTaskStatus taskStatus = statusList.get(0); PatrolTaskStatus taskStatus = statusList.get(0);
taskStatus.setTaskProgress(String.valueOf(runProgress)); taskStatus.setTaskProgress(String.valueOf(runProgress));
iPatrolTaskStatusService.updatePatrolTaskStatusOfTaskProgress(taskStatus); iPatrolTaskStatusService.updatePatrolTaskStatusOfTaskProgress(taskStatus);
// 仅当智巡进度100%+算法进度100%才更新任务状态为完成
if ("100.0".equals(calProgressInDb)) { if ("100.0".equals(calProgressInDb)) {
logger.info("!!!!!!!!!!!!!!!!!! set task_status done!!!"); logger.info("!!!!!!!!!!!!!!!!!! set task_status done!!!");
taskStatus.setTaskState(TaskStatus.DONE.getCode()); taskStatus.setTaskState(TaskStatus.DONE.getCode());
@ -1246,6 +1248,7 @@ public class PatrolResultController extends BaseController {
List<PatrolTaskStatus> statusList = patrolTaskStatusService.selectPatrolTaskStatusList(PatrolTaskStatus.builder().taskPatrolledId(patrolTaskStatusItem.getTaskPatrolledId()).build()); List<PatrolTaskStatus> statusList = patrolTaskStatusService.selectPatrolTaskStatusList(PatrolTaskStatus.builder().taskPatrolledId(patrolTaskStatusItem.getTaskPatrolledId()).build());
if (!statusList.isEmpty()) { if (!statusList.isEmpty()) {
PatrolTaskStatus taskStatus = statusList.get(0); PatrolTaskStatus taskStatus = statusList.get(0);
// 仅当任务状态为正在执行状态时才更新进度
if (TaskStatus.RUNNING.getCode().equals(taskStatus.getTaskState())) { if (TaskStatus.RUNNING.getCode().equals(taskStatus.getTaskState())) {
logger.info(Color.CYAN + "updating patrol_task_status state taskPatrolledId: {}, runProgress: {}, taskState: {}, taskCurCodeInRedis: {}, cal_progress_db: {}" + Color.END, logger.info(Color.CYAN + "updating patrol_task_status state taskPatrolledId: {}, runProgress: {}, taskState: {}, taskCurCodeInRedis: {}, cal_progress_db: {}" + Color.END,
patrolTaskStatusItem.getTaskPatrolledId(), patrolTaskStatusItem.getTaskPatrolledId(),
@ -1279,6 +1282,10 @@ public class PatrolResultController extends BaseController {
logger.info("任务一开始就给了错误的任务的状态: messageBody: {}", messageBody); logger.info("任务一开始就给了错误的任务的状态: messageBody: {}", messageBody);
patrolTaskStatusItem.setTaskState("2"); 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)) { if (patrolTaskStatusItem.getTaskName().contains("联合") && !patrolTaskStatusItem.getTaskName().startsWith(sendCode)) {
patrolTaskStatusItem.setTaskName(sendCode + "-" + patrolTaskStatusItem.getTaskName()); patrolTaskStatusItem.setTaskName(sendCode + "-" + patrolTaskStatusItem.getTaskName());
@ -1742,7 +1749,6 @@ public class PatrolResultController extends BaseController {
resultAnalysis.setResultContent("{\"resultList\": [{\"results\": [{\"type\": [\"infrared\"],\"resImageUrl\": \"" + strings[0] + "\"}]}]}"); resultAnalysis.setResultContent("{\"resultList\": [{\"results\": [{\"type\": [\"infrared\"],\"resImageUrl\": \"" + strings[0] + "\"}]}]}");
} }
} }
} }
@GetMapping({"/taskAndstatus"}) @GetMapping({"/taskAndstatus"})


Loading…
Cancel
Save