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