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