From 6b5b3154f3fea0cba63ba80da62ed86c72dd304a Mon Sep 17 00:00:00 2001
From: liusuyi <13324259@qq.com>
Date: 星期日, 04 六月 2023 10:21:43 +0800
Subject: [PATCH] 解决手动巡检前端修改当前步骤信息问题
---
ard-work/src/main/java/com/ruoyi/inspect/mapper/ArdVideoInspectTaskMapper.java | 10 ++
ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTaskManager.java | 64 ++++++++++++---------
ard-work/src/main/resources/mapper/inspect/ArdVideoInspectTaskMapper.xml | 25 +++++++
ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java | 62 +++++++++++---------
4 files changed, 100 insertions(+), 61 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/inspect/mapper/ArdVideoInspectTaskMapper.java b/ard-work/src/main/java/com/ruoyi/inspect/mapper/ArdVideoInspectTaskMapper.java
index d7f98e1..5b30986 100644
--- a/ard-work/src/main/java/com/ruoyi/inspect/mapper/ArdVideoInspectTaskMapper.java
+++ b/ard-work/src/main/java/com/ruoyi/inspect/mapper/ArdVideoInspectTaskMapper.java
@@ -37,13 +37,19 @@
public int insertArdVideoInspectTask(ArdVideoInspectTask ardVideoInspectTask);
/**
- * 淇敼瑙嗛宸℃浠诲姟
+ * 淇敼瑙嗛宸℃浠诲姟-涓嶅甫甯﹀綋鍓嶆楠や俊鎭�
*
* @param ardVideoInspectTask 瑙嗛宸℃浠诲姟
* @return 缁撴灉
*/
public int updateArdVideoInspectTask(ArdVideoInspectTask ardVideoInspectTask);
-
+ /**
+ * 淇敼瑙嗛宸℃浠诲姟-甯﹀綋鍓嶆楠や俊鎭�
+ *
+ * @param ardVideoInspectTask 瑙嗛宸℃浠诲姟
+ * @return 缁撴灉
+ */
+ public int updateArdVideoInspectTaskWithCurrentSetpInfo(ArdVideoInspectTask ardVideoInspectTask);
/**
* 鍒犻櫎瑙嗛宸℃浠诲姟
*
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 f482870..25576d7 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,6 +2,7 @@
import java.text.SimpleDateFormat;
import java.util.*;
+
import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper;
import com.ruoyi.common.utils.DateUtils;
@@ -115,7 +116,7 @@
ardVideoInspectTask.setUpdateBy(SecurityUtils.getUsername());
ardVideoInspectTask.setUpdateTime(DateUtils.getNowDate());
// ardVideoInspectTaskMapper.deleteArdVideoInspectTaskStepByTaskId(ardVideoInspectTask.getId());
- // insertArdVideoInspectTaskStep(ardVideoInspectTask);
+ insertArdVideoInspectTaskStep(ardVideoInspectTask);
return ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask);
}
@@ -193,8 +194,7 @@
public void manualTaskRun(String TaskId) {
try {
ArdVideoInspectTask videoInspectTask = ardVideoInspectTaskMapper.selectArdVideoInspectTaskById(TaskId);
- if(!videoInspectTask.getMenualSwitch().equals("寮�"))
- {
+ if (!videoInspectTask.getMenualSwitch().equals("寮�")) {
return;
}
if (videoInspectTask.getArdVideoInspectTaskStepList().size() == 0) {
@@ -308,6 +308,7 @@
continue;
}
videoInspectTask.setArdVideoInspectTaskStepList(ardVideoInspectTaskStepList);
+
String currentStepId = videoInspectTask.getCurrentStepId();
String currentStepStartTime = videoInspectTask.getCurrentStepStartTime();
if (StringUtils.isNull(currentStepId) || StringUtils.isEmpty(currentStepId)) {
@@ -333,29 +334,30 @@
}
}
} else {
- if(Global.task_record.contains(videoInspectTask.getId()))
- {
- /*鍋滄褰曞儚*/
- CameraCmd cmd = new CameraCmd();
- cmd.setCameraId(videoInspectTask.getCameraId());
- cmd.setChannelNum(videoInspectTask.getChannel());
- cmd.setOperator("sys_patrol_inspect");
- cmd.setEnable(false);//鍋滄褰曞儚
- String uuid = UUID.randomUUID().toString().replace("-", "");
- String time = new SimpleDateFormat("yyyyMMdd").format(new Date());
- String recordName = videoInspectTask.getCameraId() + "/" + time + "/" + uuid + ".mp4";
- cmd.setRecordBucketName("record");
- cmd.setRecordObjectName(recordName);
- cmd.setUploadMinio(true);
- hikClientService.recordToMinio(cmd);
+// if(Global.task_record.contains(videoInspectTask.getId()))
+// {
+// /*鍋滄褰曞儚*/
+// CameraCmd cmd = new CameraCmd();
+// cmd.setCameraId(videoInspectTask.getCameraId());
+// cmd.setChannelNum(videoInspectTask.getChannel());
+// cmd.setOperator("sys_patrol_inspect");
+// cmd.setEnable(false);//鍋滄褰曞儚
+// String uuid = UUID.randomUUID().toString().replace("-", "");
+// String time = new SimpleDateFormat("yyyyMMdd").format(new Date());
+// String recordName = videoInspectTask.getCameraId() + "/" + time + "/" + uuid + ".mp4";
+// cmd.setRecordBucketName("record");
+// cmd.setRecordObjectName(recordName);
+// cmd.setUploadMinio(true);
+// hikClientService.recordToMinio(cmd);
+// }
+ if (StringUtils.isNotEmpty(videoInspectTask.getCurrentStepId())) {
+ videoInspectTask.setCurrentStepId("");
+ ardVideoInspectTaskMapper.updateArdVideoInspectTaskWithCurrentSetpInfo(videoInspectTask);
}
- if (StringUtils.isEmpty(videoInspectTask.getCurrentStepId()) || StringUtils.isEmpty(videoInspectTask.getCurrentStepStartTime())) {
- continue;
+ if (StringUtils.isNotEmpty(videoInspectTask.getCurrentStepStartTime())) {
+ videoInspectTask.setCurrentStepId("");
+ ardVideoInspectTaskMapper.updateArdVideoInspectTaskWithCurrentSetpInfo(videoInspectTask);
}
- /*杩囨湡鐨勪换鍔℃竻绌哄綋鍓嶆楠や俊鎭�*/
- videoInspectTask.setCurrentStepId("");
- videoInspectTask.setCurrentStepStartTime("");
- ardVideoInspectTaskMapper.updateArdVideoInspectTask(videoInspectTask);
}
}
} catch (Exception ex) {
@@ -432,7 +434,7 @@
/*鏇存柊浠诲姟褰撳墠姝ラid鍜屾楠ゅ惎鍔ㄦ椂闂�*/
ardVideoInspectTask.setCurrentStepId(step.getId());
ardVideoInspectTask.setCurrentStepStartTime(DateUtils.getTime());
- ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask);
+ ardVideoInspectTaskMapper.updateArdVideoInspectTaskWithCurrentSetpInfo(ardVideoInspectTask);
String wellId = step.getWellId();
if (!StringUtils.isNull(wellId)) {
/*鑾峰彇浜曞潗鏍�*/
@@ -457,8 +459,7 @@
cmd.setExpired(step.getRecordingTime());
boolean setTargetPosition = hikClientService.setTargetPosition(cmd);
if (setTargetPosition) {
- if(!Global.task_record.contains(ardVideoInspectTask.getId()))
- {
+ if (!Global.task_record.contains(ardVideoInspectTask.getId())) {
/*鎺у埗鐩告満宸℃鎴愬姛锛屽紑濮嬪綍鍍�*/
cmd.setEnable(true);//鍚姩褰曞儚
hikClientService.recordToMinio(cmd);
@@ -470,7 +471,7 @@
hikClientService.recordToMinio(cmd);
/*鎺у埗澶辫触,褰撳墠姝ラ鍚姩鏃堕棿缃畁ull*/
ardVideoInspectTask.setCurrentStepStartTime("");
- ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask);
+ ardVideoInspectTaskMapper.updateArdVideoInspectTaskWithCurrentSetpInfo(ardVideoInspectTask);
}
}
}
@@ -478,6 +479,7 @@
log.error("宸℃寮�濮嬪紓甯革細" + ex.getMessage());
}
}
+
//姝ラ鍋滄
private void stopRunStep(ArdVideoInspectTask ardVideoInspectTask) {
try {
@@ -524,6 +526,7 @@
log.error("宸℃鍋滄寮傚父:" + ex.getMessage());
}
}
+
//姝ラ鍒ゆ柇鏄惁杩囨湡
private boolean isExpirdStep(ArdVideoInspectTask ardVideoInspectTask) {
try {
@@ -554,6 +557,7 @@
return false;
}
}
+
//姝ラ鍒囨崲
private String changeNextStep(ArdVideoInspectTask ardVideoInspectTask) {
try {
@@ -582,7 +586,7 @@
.findFirst()
.orElse(null);
avit.setCurrentStepId(nextStepId);
- ardVideoInspectTaskMapper.updateArdVideoInspectTask(avit);
+ ardVideoInspectTaskMapper.updateArdVideoInspectTaskWithCurrentSetpInfo(avit);
log.info("姝ラ锛�" + currentStepId + "鍒囨崲涓�" + nextStepId);
return nextStepId;
}
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 61ef513..f427cfd 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
@@ -13,6 +13,7 @@
import javax.annotation.Resource;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
/**
@@ -46,43 +47,44 @@
public void startInspectionTask(String taskId) {
if(taskMap.containsKey(taskId))
{
- log.info("宸℃浠诲姟宸插惎鍔細" + taskId);
+ log.info("鎵嬪姩宸℃浠诲姟宸插惎鍔細" + taskId);
return;
}
- /*姣忔鍚姩浠诲姟娓呯┖浠诲姟褰撳墠姝ラ淇℃伅*/
+// /*姣忔鍚姩浠诲姟娓呯┖浠诲姟褰撳墠姝ラ淇℃伅*/
ArdVideoInspectTask ardVideoInspectTask = ardVideoInspectTaskMapper.selectArdVideoInspectTaskById(taskId);
- ardVideoInspectTask.setCurrentStepId("");
- ardVideoInspectTask.setCurrentStepStartTime("");
- ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask);
- /*灏嗗叧鑱旂殑鐩告満褰曞儚鍏抽棴*/
- if( Global.task_record.contains(taskId))
- {
-// Integer userId = GlobalVariable.loginMap.get(ardVideoInspectTask.getCameraId());//鑾峰彇褰撳墠鐩告満鐨勭櫥褰旾D
-// if( GlobalVariable.user_real_Map.containsKey(userId))
-// { //褰撳墠鐩告満姝e湪褰曞儚锛屽垯鍋滄褰曞儚
-// CameraCmd cmd = new CameraCmd();
-// cmd.setCameraId(ardVideoInspectTask.getCameraId());
-// cmd.setChannelNum(ardVideoInspectTask.getChannel());
-// cmd.setEnable(false);//鍋滄褰曞儚
-// cmd.setUploadMinio(false);
-// hikClientService.recordToMinio(cmd);
-// }
- Global.task_record.remove(taskId);
+// ardVideoInspectTask.setCurrentStepId("");
+// ardVideoInspectTask.setCurrentStepStartTime("");
+// ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask);
+
+ String cameraId = ardVideoInspectTask.getCameraId();
+ /*灏嗗綋鍓嶇浉鏈虹殑鎵�鏈変换鍔″綋鍓嶆椂闂寸疆绌�*/
+ ardVideoInspectTask=new ArdVideoInspectTask();
+ ardVideoInspectTask.setCameraId(cameraId);
+ List<ArdVideoInspectTask> ardVideoInspectTasks = ardVideoInspectTaskMapper.selectArdVideoInspectTaskList(ardVideoInspectTask);
+ if(ardVideoInspectTasks.size()>0) {
+ for (ArdVideoInspectTask VideoInspectTask : ardVideoInspectTasks) {
+ VideoInspectTask.setCurrentStepStartTime("");
+ ardVideoInspectTaskMapper.updateArdVideoInspectTaskWithCurrentSetpInfo(VideoInspectTask);
+ /*娓呮浠诲姟褰曞儚璁板綍*/
+ if(Global.task_record.contains(VideoInspectTask.getId()))
+ {
+ Global.task_record.remove(VideoInspectTask.getId());
+ }
+ }
}
+ /*寮�鍚换鍔�*/
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
+ String cameraId = ardVideoInspectTask.getCameraId();
+ Integer userId = GlobalVariable.loginMap.get(cameraId);//鑾峰彇褰撳墠鐩告満鐨勭櫥褰旾D
if( GlobalVariable.user_real_Map.containsKey(userId))
{ //褰撳墠鐩告満姝e湪褰曞儚锛屽垯鍋滄褰曞儚
CameraCmd cmd = new CameraCmd();
@@ -93,14 +95,20 @@
hikClientService.recordToMinio(cmd);
GlobalVariable.user_real_Map.remove(userId);
}
+
+ /*鍋滄浠诲姟*/
InspectionTask task = taskMap.get(taskId);
if (task != null) {
task.stop();
taskMap.remove(taskId);
- log.info("宸℃浠诲姟宸插仠姝細" + taskId);
-
+ Global.task_record.remove(taskId);
+ log.info("鎵嬪姩宸℃浠诲姟宸插仠姝細" + taskId);
+ /*灏嗕换鍔℃楠や俊鎭竻绌�*/
+ ardVideoInspectTask.setCurrentStepId("");
+ ardVideoInspectTask.setCurrentStepStartTime("");
+ ardVideoInspectTaskMapper.updateArdVideoInspectTaskWithCurrentSetpInfo(ardVideoInspectTask);
} else {
- log.info("鎵句笉鍒版寚瀹氱殑宸℃浠诲姟锛�" + taskId);
+ log.info("鎵句笉鍒版寚瀹氱殑鎵嬪姩宸℃浠诲姟锛�" + taskId);
}
}
}
diff --git a/ard-work/src/main/resources/mapper/inspect/ArdVideoInspectTaskMapper.xml b/ard-work/src/main/resources/mapper/inspect/ArdVideoInspectTaskMapper.xml
index 8101ae7..0829d05 100644
--- a/ard-work/src/main/resources/mapper/inspect/ArdVideoInspectTaskMapper.xml
+++ b/ard-work/src/main/resources/mapper/inspect/ArdVideoInspectTaskMapper.xml
@@ -121,12 +121,33 @@
<if test="channel != null">channel = #{channel},</if>
<if test="deptId != null">dept_id = #{deptId},</if>
<if test="userId != null">user_id = #{userId},</if>
+<!-- <if test="currentStepId != null">current_step_id = #{currentStepId},</if>-->
+<!-- <if test="currentStepStartTime != null">current_step_start_time = #{currentStepStartTime},</if>-->
+ </trim>
+ where id = #{id}
+ </update>
+ <update id="updateArdVideoInspectTaskWithCurrentSetpInfo" parameterType="ArdVideoInspectTask">
+ update ard_video_inspect_task
+ <trim prefix="SET" suffixOverrides=",">
+ <if test="taskName != null">task_name = #{taskName},</if>
+ <if test="startTime != null">start_time = #{startTime},</if>
+ <if test="endTime != null">end_time = #{endTime},</if>
+ <if test="repeatPeriod != null">repeat_period = #{repeatPeriod},</if>
+ <if test="inspectMode != null">inspect_mode = #{inspectMode},</if>
+ <if test="menualSwitch != null">menual_switch = #{menualSwitch},</if>
+ <if test="createBy != null">create_by = #{createBy},</if>
+ <if test="createTime != null">create_time = #{createTime},</if>
+ <if test="updateBy != null">update_by = #{updateBy},</if>
+ <if test="updateTime != null">update_time = #{updateTime},</if>
+ <if test="cameraId != null">camera_id = #{cameraId},</if>
+ <if test="channel != null">channel = #{channel},</if>
+ <if test="deptId != null">dept_id = #{deptId},</if>
+ <if test="userId != null">user_id = #{userId},</if>
<if test="currentStepId != null">current_step_id = #{currentStepId},</if>
<if test="currentStepStartTime != null">current_step_start_time = #{currentStepStartTime},</if>
</trim>
where id = #{id}
</update>
-
<delete id="deleteArdVideoInspectTaskById" parameterType="String">
delete from ard_video_inspect_task where id = #{id}
</delete>
@@ -157,7 +178,7 @@
</insert>
<!--鏌ヨ浠诲姟涓浉鏈哄凡浣跨敤鏃舵-->
- <select id="getTaskUsedCameraPeriods" parameterType="String" resultType="java.util.HashMap">
+ <select id="getTaskUsedCameraPeriods" parameterType="String" resultType="java.util.List">
select t.start_time,t.end_time from ard_video_inspect_task t
where t.camera_id=#{startMonth}
ORDER BY t.start_time
--
Gitblit v1.9.3