From d089a7484e7a121e5de0fa0d16607e248529cebd Mon Sep 17 00:00:00 2001 From: htjcAdmin Date: Wed, 2 Jul 2025 15:11:23 +0800 Subject: [PATCH] =?UTF-8?q?/*=E4=BF=AE=E6=94=B9=E4=BB=BB=E5=8A=A1=E7=AB=8B?= =?UTF-8?q?=E5=8D=B3=E6=89=A7=E8=A1=8C=EF=BC=8C=E5=A4=9A=E4=B8=AA=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E7=AB=8B=E5=8D=B3=E6=89=A7=E8=A1=8C=E9=83=BD=E6=98=AF?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E5=90=8C=E4=B8=80=E4=B8=AA=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E9=97=AE=E9=A2=98*/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inspect/job/client/TaskExecClient.java | 2 +- .../com/inspect/job/task/JobMainTask.java | 15 +++-- .../controller/PatrolTaskExecController.java | 14 ++--- .../controller/PatrolResultController.java | 8 ++- .../PatrolTaskStatusController.java | 57 +++++++++---------- 5 files changed, 49 insertions(+), 47 deletions(-) diff --git a/inspect-job/src/main/java/com/inspect/job/client/TaskExecClient.java b/inspect-job/src/main/java/com/inspect/job/client/TaskExecClient.java index 707f7b3..098e901 100644 --- a/inspect-job/src/main/java/com/inspect/job/client/TaskExecClient.java +++ b/inspect-job/src/main/java/com/inspect/job/client/TaskExecClient.java @@ -99,7 +99,7 @@ public interface TaskExecClient { boolean taskResultExited(@RequestParam("patrolDeviceCode") String deviceCode, @RequestParam("taskPatrolledId") String patrolId); @GetMapping({"/exec/getFilterPatrolTaskList"}) - List getFilterPatrolTaskList(final PatrolTask patrolTask); + List getFilterPatrolTaskList(@RequestParam("taskCode") String taskCode); @PostMapping({"/exec/makeCurrentDayTask"}) Map> makeCurrentDayTask(); 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 10314e9..413e252 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 @@ -938,8 +938,9 @@ public class JobMainTask { @PostMapping({"/immediatelyExecTask"}) public void immediatelyExecTask(@RequestBody PatrolTask patrolTaskParam) { - List patrolTasks = taskExecClient.getFilterPatrolTaskList(patrolTaskParam); + List patrolTasks = taskExecClient.getFilterPatrolTaskList(patrolTaskParam.getTaskCode()); PatrolTask patrolTask = patrolTasks.get(0); + log.info("Filter_task: param: {}, size: {}, result:{}", patrolTaskParam.getTaskCode(), patrolTasks.size(), patrolTask); String taskCode = redisService.getCacheObjectOfTask(RedisConst.TASK_CURRENT_CODE, patrolTaskParam.getTaskCode()); // if (StringUtils.isNotEmpty(taskCode)) { // log.info(Color.CYAN + "TASK SLOT IS TAKEN BY: {}" + Color.END, taskCode); @@ -965,7 +966,8 @@ public class JobMainTask { // String immediatelyExecTaskTime = DateUtils.parseDateToStr(DateUtils.yyyyMMddHHmmss, new Date()); String immediatelyExecTaskTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS")); redisService.setCacheObjectOfTask(RedisConst.IMMEDIATELY_EXEC_TASK_TIME, patrolTask.getTaskCode(), immediatelyExecTaskTime); - redisService.setCacheObjectOfTask(RedisConst.TASK_CURRENT_CODE, patrolTask.getTaskCode(), RedisConst.TASK_CODE + patrolTask.getTaskCode() + StringUtils.AT + immediatelyExecTaskTime, 5L, TimeUnit.MINUTES); + log.info("SET TASK_CURRENT_CODE: key: {}, value: {}", RedisConst.TASK_CURRENT_CODE + patrolTask.getTaskCode(), RedisConst.TASK_CODE + patrolTask.getTaskCode() + StringUtils.AT + immediatelyExecTaskTime); + redisService.setCacheObjectOfTask(RedisConst.TASK_CURRENT_CODE, patrolTask.getTaskCode(), RedisConst.TASK_CODE + patrolTask.getTaskCode() + StringUtils.AT + immediatelyExecTaskTime, 4L, TimeUnit.HOURS); resetRecordCounter(patrolTask.getTaskCode()); log.info("TASK REC CNT: {}", cameraPatrolTasks.size());//devType是2的设备数 setRedisRecordCount(patrolTask.getTaskCode(), cameraPatrolTasks.size()); @@ -974,7 +976,7 @@ public class JobMainTask { List infosByRecord = getInfosByRecord(PatrolTaskExecRecord.builder().devNo(task.getDevNo()).taskId(task.getTaskId()).build()); taskInfos.addAll(infosByRecord); } - log.info("当前任务: {}, taskInfos.size: {}", patrolTask.getTaskName(), taskInfos.size()); + log.info("当前任务: {}, taskCode: {}, taskInfos.size: {}", patrolTask.getTaskName(), patrolTask.getTaskCode(), taskInfos.size()); String[] devNos = patrolTask.getDevNo().split(StringUtils.COMMA); PatrolTaskExecRecord patrolTaskExecRecord = new PatrolTaskExecRecord(); Date time = patrolTask.getFixedStartTime(); @@ -1006,7 +1008,8 @@ public class JobMainTask { // patrolTaskInfo.setDevNo(task.getDevNo()); // taskExecClient.selectTaskInfoList(patrolTaskInfo); taskExecClient.updatePatrolTaskStatus(patrolTask); - threadPool.submit(() -> prePointExecImmediate(patrolTaskExecRecord, taskInfos)); + //threadPool.submit(() -> prePointExecImmediate(patrolTaskExecRecord, taskInfos)); + prePointExecImmediate(patrolTaskExecRecord, taskInfos); } private List getInfosByRecord(final PatrolTaskExecRecord record) { @@ -1058,7 +1061,7 @@ public class JobMainTask { log.info("jobAreas: {}", jobAreas); List jobAreaList = new ArrayList<>(); if (StringUtils.isNotBlank(jobAreas)) { - String[] jobAreaArr = jobAreas.split(","); + String[] jobAreaArr = jobAreas.split(StringUtils.COMMA); for (int i = 0; i < jobAreaArr.length; i++) { jobAreaList.add(jobAreaArr[i]); } @@ -1071,7 +1074,7 @@ public class JobMainTask { String[] devNos = task.getDevNo().split(StringUtils.COMMA); for (int i = 0; i < devTypes.length; ++i) { if ("2".equals(devTypes[i])) { - if (jobAreaList.size() == 0 || jobAreaList.contains(devNos[i])) { + if (jobAreaList.isEmpty() || jobAreaList.contains(devNos[i])) { PatrolTask cameraPatrolTask = new PatrolTask(); cameraPatrolTask.setTaskId(task.getTaskId()); cameraPatrolTask.setStationName(task.getStationName()); diff --git a/inspect-main/inspect-main-task-exec/src/main/java/com/inspect/exec/controller/PatrolTaskExecController.java b/inspect-main/inspect-main-task-exec/src/main/java/com/inspect/exec/controller/PatrolTaskExecController.java index 3e24c96..ff5d72d 100644 --- a/inspect-main/inspect-main-task-exec/src/main/java/com/inspect/exec/controller/PatrolTaskExecController.java +++ b/inspect-main/inspect-main-task-exec/src/main/java/com/inspect/exec/controller/PatrolTaskExecController.java @@ -56,12 +56,7 @@ import javax.servlet.http.HttpServletRequest; import org.apache.commons.collections4.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; @RestController @RequestMapping({"/exec"}) @@ -470,9 +465,10 @@ public class PatrolTaskExecController extends BaseController { return IntervalType.BY_DATE.getCode().equals(patrolTask.getIntervalType()); } - @PostMapping({"/getFilterPatrolTaskList"}) - List getFilterPatrolTaskList(PatrolTask task) { - return filterPatrolTaskList(task); + @GetMapping({"/getFilterPatrolTaskList"}) + List getFilterPatrolTaskList(String taskCode) { + logger.info("getFilterPatrolTaskList param: {}", taskCode); + return filterPatrolTaskList(PatrolTask.builder().taskCode(taskCode).build()); } @PostMapping({"/makeCurrentDayTask"}) 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 2dc2f5f..133191e 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 @@ -1161,11 +1161,15 @@ public class PatrolResultController extends BaseController { && 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()); + logger.info(Color.CYAN + "updating patrol_task_status 100%, taskPatrolledId: {}, progress: {}, taskState: {}, taskCurCodeInRedis: {}" + Color.END, + patrolTaskStatusItem.getTaskPatrolledId(), + patrolTaskStatusItem.getTaskProgress(), + patrolTaskStatusItem.getTaskState(), + RedisConst.TASK_CURRENT_CODE + patrolTaskStatusItem.getTaskCode()); PatrolTaskStatus taskStatus = statusList.get(0); taskStatus.setTaskProgress(patrolTaskStatusItem.getTaskProgress()); iPatrolTaskStatusService.updatePatrolTaskStatusOfTaskProgress(taskStatus); + redisService.deleteObjectOfTask(RedisConst.TASK_CURRENT_CODE, taskStatus.getTaskCode()); } } else { i = iPatrolTaskStatusService.updatePatrolTaskStatus(patrolTaskStatusItem); diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/taskstatus/controller/PatrolTaskStatusController.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/taskstatus/controller/PatrolTaskStatusController.java index cd38cf0..0b6e40b 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/taskstatus/controller/PatrolTaskStatusController.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/taskstatus/controller/PatrolTaskStatusController.java @@ -3,7 +3,6 @@ package com.inspect.taskstatus.controller; import com.alibaba.fastjson.JSONObject; import com.inspect.analysis.domain.ResultAnalysis; import com.inspect.analysis.service.IResultAnalysisService; -import com.inspect.base.core.constant.Color; import com.inspect.base.core.constant.RedisConst; import com.inspect.base.core.enums.TaskStatus; import com.inspect.base.core.utils.DateUtils; @@ -26,7 +25,6 @@ import com.inspect.task.domain.PatrolSendTask; import com.inspect.task.domain.PatrolTask; import com.inspect.task.domain.SendTask; import com.inspect.task.service.IPatrolTaskService; -import com.inspect.taskinfo.mapper.PatrolTaskInfoMapper; import com.inspect.taskinfo.service.IPatrolTaskInfoService; import com.inspect.taskstatus.client.FeignJobTaskClient; import com.inspect.taskstatus.client.FeignTaskClient; @@ -583,32 +581,32 @@ public class PatrolTaskStatusController extends BaseController { //立即执行任务 @GetMapping({"/controlChange"}) - public AjaxResult controlChange(PatrolTask patrolTask) { - String taskCode = redisService.getCacheObjectOfTask(RedisConst.TASK_CURRENT_CODE, String.valueOf(patrolTask.getTaskId())); - if (!StringUtils.isEmpty(taskCode)) { - log.info("[TASK] CURRENT EXEC TASK: {}", taskCode); - return AjaxResult.error(501, "THE TASK IS RUNNING!"); + public AjaxResult controlChange(PatrolTask patrolTaskParam) { + String taskCurrentCode = redisService.getCacheObjectOfTask(RedisConst.TASK_CURRENT_CODE, String.valueOf(patrolTaskParam.getTaskId())); + log.info("CONTROL_CHANGE CURRENT EXEC TASK: taskId: {}, taskCurrentCode: {}", patrolTaskParam.getTaskId(), taskCurrentCode); + if (!StringUtils.isEmpty(taskCurrentCode)) { + return AjaxResult.error(501, "THE TASK " + taskCurrentCode + " IS RUNNING"); } else { - PatrolTask patrol = patrolTaskService.selectPatrolTaskByTaskId(patrolTask.getTaskId()); - return issueToRobot(patrol);//type=41 立即执行任务 + PatrolTask patrolTask = patrolTaskService.selectPatrolTaskByTaskId(patrolTaskParam.getTaskId()); + return issuePatrolTask(patrolTask); } } - public void sendTaskToVideo(final PatrolTask patrolTask) { + public void sendVideoLightTaskToScheduledJob(final PatrolTask patrolTask) { try { if ("1".equals(patrolTask.getDevType())) { return; } feignJobTaskClient.immediatelyExecTask(patrolTask); - (new Thread(() -> { - try { - PatrolTaskStatusController.this.extracted(patrolTask); - } catch (InterruptedException e) { - e.printStackTrace(); - } - - })).start(); +// (new Thread(() -> { +// try { +// extracted(patrolTask); +// } catch (InterruptedException e) { +// e.printStackTrace(); +// } +// +// })).start(); } catch (Exception e) { e.printStackTrace(); } @@ -635,7 +633,7 @@ public class PatrolTaskStatusController extends BaseController { } - public AjaxResult issueToRobot(PatrolTask patrolTask) { + public AjaxResult issuePatrolTask(final PatrolTask patrolTask) { String receiveCode = ""; String sendCode = ""; BasedataEqpBookMoMain basedataEqpBookMoMain = new BasedataEqpBookMoMain(); @@ -651,10 +649,10 @@ public class PatrolTaskStatusController extends BaseController { List devTypeList = new ArrayList<>(); List devNoList = new ArrayList<>(); for (int i = 0; i < devNos.length; i++) { - log.info("第{}个devNo------------issueToRobot", i + 1); + log.info("issuePatrolTask devNo: {}", i + 1); BasedataEqpBookMoMain basedataEqpbookMomain = new BasedataEqpBookMoMain(); basedataEqpbookMomain.setPatrolDeviceCode(devNos[i]); - List eqpBookMoMains = this.patrolResultService.selectBasedataEqpBookList(basedataEqpbookMomain); + List eqpBookMoMains = patrolResultService.selectBasedataEqpBookList(basedataEqpbookMomain); if (!eqpBookMoMains.isEmpty() && eqpBookMoMains.get(0).getMainSystemCode() != null) { receiveCode = eqpBookMoMains.get(0).getMainSystemCode(); } @@ -666,6 +664,7 @@ public class PatrolTaskStatusController extends BaseController { sendTask.setType("41"); sendTask.setCommand("1"); String str = JSONObject.toJSONString(sendTask); + log.info("无人机-机器人任务, receiveCode: {}, devType: {}, devNo: {}", receiveCode, patrolTask.getDevType(), patrolTask.getDevNo()); this.feignTaskClient.sendCommand(str); } else { // String taskCode = redisService.getCacheObjectOfTask(RedisConst.TASK_CURRENT_CODE, String.valueOf(patrolTask.getTaskId())); @@ -674,7 +673,7 @@ public class PatrolTaskStatusController extends BaseController { // return AjaxResult.error(501, "THERE TASK IS RUNNING!"); // } else { // 手动任务执行 - log.info("第{}个devNo{}", i + 1, devNos[i]); + log.info("可见光任务, 第{}个, devNo: {}", i + 1, devNos[i]); devTypeList.add(devTypes[i]); devNoList.add(devNos[i]); // patrolTask.setDevType(devTypes[i]); @@ -683,11 +682,11 @@ public class PatrolTaskStatusController extends BaseController { // } } } - if (devTypeList.size() > 0 && devNoList.size() > 0) { - patrolTask.setDevType(StringUtils.join(devTypeList, ",")); - patrolTask.setDevNo(StringUtils.join(devNoList, ",")); - log.info("手动执行任务,devType:{}, devNo:{}", patrolTask.getDevType(), patrolTask.getDevNo()); - sendTaskToVideo(patrolTask); + if (!devTypeList.isEmpty() && !devNoList.isEmpty()) { + patrolTask.setDevType(StringUtils.join(devTypeList, StringUtils.COMMA)); + patrolTask.setDevNo(StringUtils.join(devNoList, StringUtils.COMMA)); + log.info("可见光任务, devType:{}, devNo:{}", patrolTask.getDevType(), patrolTask.getDevNo()); + sendVideoLightTaskToScheduledJob(patrolTask); } } return toAjax(1); @@ -720,11 +719,11 @@ public class PatrolTaskStatusController extends BaseController { int res = patrolTaskStatusService.updatePatrolTaskStatus(patrolTaskStatus); patrolTaskStatus.setCommand(command); - issueTask(patrolTaskStatus); + issuePatrolTask(patrolTaskStatus); return toAjax(res); } - public void issueTask(PatrolTaskStatus patrolTaskStatus) { + public void issuePatrolTask(PatrolTaskStatus patrolTaskStatus) { String posType = patrolTaskStatus.getPosType();//预置位类型 0-视频 1-机器人 2-无人机 if (StringUtils.isEmpty(posType)) { log.warn("[TASK] posType is null");