From eb0f13efdbd48b88411b4ff214bb92169202d157 Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期四, 01 六月 2023 16:39:15 +0800 Subject: [PATCH] 优化光电巡检手动控制 --- ard-work/src/main/java/com/ruoyi/inspect/controller/TaskController.java | 8 +++ ruoyi-admin/src/main/resources/logback.xml | 2 - ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTaskManager.java | 18 ++++++-- ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java | 43 ++++++++++----------- 4 files changed, 40 insertions(+), 31 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/inspect/controller/TaskController.java b/ard-work/src/main/java/com/ruoyi/inspect/controller/TaskController.java index faf8110..27cf26f 100644 --- a/ard-work/src/main/java/com/ruoyi/inspect/controller/TaskController.java +++ b/ard-work/src/main/java/com/ruoyi/inspect/controller/TaskController.java @@ -8,8 +8,10 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Map; @@ -24,11 +26,12 @@ **/ @RestController @Api(tags = "宸℃浠诲姟") -@Anonymous +@RequestMapping("/inspect/control") public class TaskController { @Autowired private InspectionTaskManager inspectionTaskManager; + @PreAuthorize("@ss.hasPermi('inspect:control:manual')") @GetMapping("/startTask/{taskId}") @ApiOperation("鎵嬪姩寮�鍚贰妫�") AjaxResult startTask(@PathVariable String taskId) { @@ -36,6 +39,8 @@ inspectionTaskManager.startInspectionTask(taskId); return AjaxResult.success(); } + + @PreAuthorize("@ss.hasPermi('inspect:control:manual')") @ApiOperation("鎵嬪姩鍋滄宸℃") @GetMapping("/stopTask/{taskId}") AjaxResult stopTask(@PathVariable String taskId) { @@ -43,6 +48,7 @@ inspectionTaskManager.stopInspectionTask(taskId); return AjaxResult.success(); } + @PreAuthorize("@ss.hasPermi('inspect:control:manual')") @ApiOperation("鏌ヨ宸插惎鍔ㄤ换鍔�") @GetMapping("/getTaskList") AjaxResult getTaskList() { diff --git a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java index 85d6bb1..853a2c7 100644 --- a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java @@ -2,25 +2,18 @@ import java.text.SimpleDateFormat; import java.util.*; - import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper; -import com.ruoyi.alarmpoints.well.service.IArdAlarmpointsWellService; import com.ruoyi.common.utils.DateUtils; - import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.camera.domain.CameraCmd; import com.ruoyi.device.camera.mapper.ArdCamerasMapper; -import com.ruoyi.device.camera.service.IArdCamerasService; import com.ruoyi.device.hiksdk.config.MinioClientSingleton; import com.ruoyi.device.hiksdk.service.IHikClientService; import com.ruoyi.inspect.domain.ArdVideoInspectRecord; import com.ruoyi.inspect.mapper.ArdVideoInspectRecordMapper; -import com.ruoyi.inspect.service.IArdVideoInspectRecordService; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.SecurityUtils; import org.springframework.transaction.annotation.Transactional; @@ -28,7 +21,6 @@ import com.ruoyi.inspect.mapper.ArdVideoInspectTaskMapper; import com.ruoyi.inspect.domain.ArdVideoInspectTask; import com.ruoyi.inspect.service.IArdVideoInspectTaskService; - import javax.annotation.Resource; /** @@ -158,7 +150,6 @@ } } - /** * 鎵嬪姩宸℃浠诲姟 */ @@ -208,7 +199,7 @@ /*閬嶅巻鎵�鏈夋椂闂存弧瓒崇殑鑷姩浠诲姟*/ boolean timeCompare = DateUtils.TimeCompare(videoInspectTask.getStartTime(), videoInspectTask.getEndTime()); if (timeCompare) { - log.info("鑷姩浠诲姟鍚姩锛�" + videoInspectTask.getId()); + //log.info("鑷姩浠诲姟鍚姩锛�" + videoInspectTask.getId()); /*鑾峰彇褰撳墠浠诲姟鐨勬墍鏈夊贰妫�姝ラ*/ List<ArdVideoInspectTaskStep> ardVideoInspectTaskStepList = ardVideoInspectTaskMapper.selectArdVideoInspectTaskById(videoInspectTask.getId()).getArdVideoInspectTaskStepList(); if (ardVideoInspectTaskStepList.size() == 0) { @@ -216,15 +207,18 @@ } videoInspectTask.setArdVideoInspectTaskStepList(ardVideoInspectTaskStepList); String currentStepId = videoInspectTask.getCurrentStepId(); - if (StringUtils.isNull(currentStepId)) { + String currentStepStartTime = videoInspectTask.getCurrentStepStartTime(); + if (StringUtils.isNull(currentStepId)||StringUtils.isEmpty(currentStepId)) { + //寮�濮嬪綋鍓嶄换鍔$殑绗竴涓楠� videoInspectTask.setCurrentStepId(ardVideoInspectTaskStepList.get(0).getId()); - startRunStep(videoInspectTask);//寮�濮嬪綋鍓嶄换鍔$殑绗竴涓楠� + startRunStep(videoInspectTask); } else /*褰撳墠浠诲姟宸茬粡鎵ц锛屽垽鏂槸鍚﹀埌鏈�*/ { - if (StringUtils.isNull(videoInspectTask.getCurrentStepStartTime())) { - //褰撳墠浠诲姟鍚姩鏃堕棿涓簄ull锛屽垯璇存槑褰撳墠姝ラ琚腑鏂紝鐩存帴鍚姩褰撳墠姝ラ + if (StringUtils.isNull(currentStepStartTime)||StringUtils.isEmpty(currentStepStartTime)) { + //褰撳墠浠诲姟鍚姩鏃堕棿涓虹┖锛屽垯璇存槑褰撳墠姝ラ琚腑鏂紝鐩存帴鍚姩褰撳墠姝ラ startRunStep(videoInspectTask); } else { - boolean expird = isExpirdStep(videoInspectTask); /*鍒ゆ柇褰撳墠姝ラ鏃堕棿鏄惁杩囨湡*/ + //鍒ゆ柇褰撳墠姝ラ鏃堕棿鏄惁杩囨湡 + boolean expird = isExpirdStep(videoInspectTask); if (expird) { //鍋滄褰曞儚 stopRunStep(videoInspectTask); @@ -239,10 +233,11 @@ } } } - + /** + * 鑷姩鎵嬪姩鍚堝苟锛屾壂搴撴柟寮忥紝鐩墠涓嶄娇鐢� + */ @Override public void taskRun() { - /*鎵弿鎵�鏈夊彲鎵ц浠诲姟1-鏃堕棿婊¤冻2-鑷姩*/ ArdVideoInspectTask ardVideoInspectTask = new ArdVideoInspectTask(); List<ArdVideoInspectTask> ardVideoInspectTasks = ardVideoInspectTaskMapper.selectArdVideoInspectTaskList(ardVideoInspectTask); for (ArdVideoInspectTask videoInspectTask : ardVideoInspectTasks) { @@ -262,13 +257,15 @@ continue; } videoInspectTask.setArdVideoInspectTaskStepList(ardVideoInspectTaskStepList); - String currentStepId = videoInspectTask.getCurrentStepId(); - if (StringUtils.isNull(currentStepId)) { + String currentStepId = videoInspectTask.getCurrentStepId();//褰撳墠姝ラid + String currentStepStartTime = videoInspectTask.getCurrentStepStartTime();//褰撳墠姝ラ鍚姩鏃堕棿 + if (StringUtils.isNull(currentStepId)||StringUtils.isEmpty(currentStepId)) { + //寮�濮嬬涓�涓楠� videoInspectTask.setCurrentStepId(ardVideoInspectTaskStepList.get(0).getId()); - startRunStep(videoInspectTask);//寮�濮嬪綋鍓嶄换鍔$殑绗竴涓楠� - } else /*褰撳墠浠诲姟宸茬粡鎵ц锛屽垽鏂槸鍚﹀埌鏈�*/ { - if (StringUtils.isNull(videoInspectTask.getCurrentStepStartTime())) { - //褰撳墠浠诲姟鍚姩鏃堕棿涓簄ull锛屽垯璇存槑褰撳墠姝ラ琚腑鏂紝鐩存帴鍚姩褰撳墠姝ラ + startRunStep(videoInspectTask); + } else { + if (StringUtils.isNull(currentStepStartTime)||StringUtils.isEmpty(currentStepStartTime)) { + //褰撳墠浠诲姟鍚姩鏃堕棿涓虹┖锛屽垯璇存槑褰撳墠姝ラ琚腑鏂紝鐩存帴鍚姩褰撳墠姝ラ startRunStep(videoInspectTask); } else { boolean expird = isExpirdStep(videoInspectTask); /*鍒ゆ柇褰撳墠姝ラ鏃堕棿鏄惁杩囨湡*/ diff --git a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTaskManager.java b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTaskManager.java index 377500d..530f3fb 100644 --- a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTaskManager.java +++ b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTaskManager.java @@ -15,7 +15,7 @@ import java.util.Map; /** - * @Description: + * @Description: 宸℃浠诲姟绠$悊 * @ClassName: InspectionTaskManager * @Author: 鍒樿嫃涔� * @Date: 2023骞�06鏈�01鏃�10:40 @@ -31,7 +31,7 @@ @Resource private IHikClientService hikClientService; - public static Map<String, InspectionTask> taskMap; + public static Map<String, InspectionTask> taskMap;//宸插惎鍔ㄤ换鍔ap public InspectionTaskManager() { taskMap = new HashMap<>(); @@ -41,7 +41,14 @@ return taskMap; } + /*鍚姩浠诲姟*/ public void startInspectionTask(String taskId) { + if(taskMap.containsKey(taskId)) + { + log.info("宸℃浠诲姟宸插惎鍔細" + taskId); + return; + } + /*姣忔鍚姩浠诲姟娓呯┖浠诲姟褰撳墠姝ラ淇℃伅*/ ArdVideoInspectTask ardVideoInspectTask = ardVideoInspectTaskMapper.selectArdVideoInspectTaskById(taskId); ardVideoInspectTask.setCurrentStepId(""); ardVideoInspectTask.setCurrentStepStartTime(""); @@ -50,15 +57,16 @@ InspectionTask task = new InspectionTask(taskId); task.start(); taskMap.put(taskId, task); - log.info("宸℃浠诲姟宸插惎鍔細" + taskId); + log.info("宸℃浠诲姟鍚姩锛�" + taskId); } - + /*鍋滄浠诲姟*/ public void stopInspectionTask(String taskId) { + /*灏嗕换鍔℃楠や俊鎭竻绌�*/ ArdVideoInspectTask ardVideoInspectTask = ardVideoInspectTaskMapper.selectArdVideoInspectTaskById(taskId); ardVideoInspectTask.setCurrentStepId(""); ardVideoInspectTask.setCurrentStepStartTime(""); ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask); - + /*灏嗗叧鑱旂殑鐩告満褰曞儚鍏抽棴*/ Integer userId = GlobalVariable.loginMap.get(ardVideoInspectTask.getCameraId());//鑾峰彇褰撳墠鐩告満鐨勭櫥褰旾D if( GlobalVariable.user_real_Map.containsKey(userId)) { //褰撳墠鐩告満姝e湪褰曞儚锛屽垯鍋滄褰曞儚 diff --git a/ruoyi-admin/src/main/resources/logback.xml b/ruoyi-admin/src/main/resources/logback.xml index ce249a9..5193496 100644 --- a/ruoyi-admin/src/main/resources/logback.xml +++ b/ruoyi-admin/src/main/resources/logback.xml @@ -69,7 +69,6 @@ <pattern>${log.pattern}</pattern> </encoder> </appender> - <!-- Authorize鏃ュ織杈撳嚭 --> <appender name="Authorize" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.path}/Authorize.log</file> @@ -83,7 +82,6 @@ <pattern>${log.pattern}</pattern> </encoder> </appender> - <!--hikSdk鏃ュ織杈撳嚭--> <appender name="hikSdk" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.path}/hikSdk.log</file> -- Gitblit v1.9.3