From c4c6484a6e6d18e56ec6791db3585aae39c8584d Mon Sep 17 00:00:00 2001 From: zhangjian <zhangjianrock@163.com> Date: 星期五, 02 六月 2023 09:13:46 +0800 Subject: [PATCH] 视频巡检任务 单独更新 --- ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java | 132 ++++++++++++++++++++++++++------------------ 1 files changed, 78 insertions(+), 54 deletions(-) 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 126e3bc..3f1c570 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; @@ -29,6 +22,7 @@ import com.ruoyi.inspect.domain.ArdVideoInspectTask; import com.ruoyi.inspect.service.IArdVideoInspectTaskService; +import javax.annotation.PostConstruct; import javax.annotation.Resource; /** @@ -51,6 +45,20 @@ @Resource private IHikClientService hikClientService; + @PostConstruct + public void initTask() + { + List<ArdVideoInspectTask> ardVideoInspectTasks = ardVideoInspectTaskMapper.selectArdVideoInspectTaskList(new ArdVideoInspectTask()); + /*鍚姩鍚庡皢鎵�鏈夋墜鍔ㄤ换鍔$疆涓哄叧闂�*/ + for(ArdVideoInspectTask ardVideoInspectTask:ardVideoInspectTasks) + { + if(ardVideoInspectTask.getInspectMode().equals("鎵嬪姩")) + { + ardVideoInspectTask.setMenualSwitch("鍏�"); + ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask); + } + } + } /** * 鏌ヨ瑙嗛宸℃浠诲姟 * @@ -101,9 +109,22 @@ public int updateArdVideoInspectTask(ArdVideoInspectTask ardVideoInspectTask) { ardVideoInspectTask.setUpdateBy(SecurityUtils.getUsername()); ardVideoInspectTask.setUpdateTime(DateUtils.getNowDate()); - ardVideoInspectTaskMapper.deleteArdVideoInspectTaskStepByTaskId(ardVideoInspectTask.getId()) - ; + ardVideoInspectTaskMapper.deleteArdVideoInspectTaskStepByTaskId(ardVideoInspectTask.getId()); insertArdVideoInspectTaskStep(ardVideoInspectTask); + return ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask); + } + + /** + * 淇敼瑙嗛宸℃浠诲姟,bu鏇存柊姝ラ + * + * @param ardVideoInspectTask 瑙嗛宸℃浠诲姟 + * @return 缁撴灉 + */ + @Transactional + @Override + public int updateArdVideoInspectTaskSingle(ArdVideoInspectTask ardVideoInspectTask) { + ardVideoInspectTask.setUpdateBy(SecurityUtils.getUsername()); + ardVideoInspectTask.setUpdateTime(DateUtils.getNowDate()); return ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask); } @@ -158,43 +179,37 @@ } } - /** * 鎵嬪姩宸℃浠诲姟 */ @Override - public void manualTaskRun() { - /*鎵弿鎵�鏈夊彲鎵ц浠诲姟1-鏃堕棿婊¤冻2-鑷姩*/ - ArdVideoInspectTask ardVideoInspectTask = new ArdVideoInspectTask(); - ardVideoInspectTask.setInspectMode("鎵嬪姩"); - ardVideoInspectTask.setMenualSwitch("寮�"); - List<ArdVideoInspectTask> ardVideoInspectTasks = ardVideoInspectTaskMapper.selectArdVideoInspectTaskList(ardVideoInspectTask); - for (ArdVideoInspectTask videoInspectTask : ardVideoInspectTasks) { - /*鑾峰彇褰撳墠浠诲姟鐨勬墍鏈夊贰妫�姝ラ*/ - List<ArdVideoInspectTaskStep> ardVideoInspectTaskStepList = ardVideoInspectTaskMapper.selectArdVideoInspectTaskById(videoInspectTask.getId()).getArdVideoInspectTaskStepList(); - if (ardVideoInspectTaskStepList.size() == 0) { - continue; + public void manualTaskRun(String TaskId) { + ArdVideoInspectTask videoInspectTask = ardVideoInspectTaskMapper.selectArdVideoInspectTaskById(TaskId); + if (videoInspectTask.getArdVideoInspectTaskStepList().size() == 0) { + return; + } + String currentStepId = videoInspectTask.getCurrentStepId(); + String currentStepStartTime = videoInspectTask.getCurrentStepStartTime(); + if (StringUtils.isNull(currentStepId)||StringUtils.isEmpty(currentStepId)) { + //浠�1鍙锋楠ゅ紑濮� + videoInspectTask.setCurrentStepId(videoInspectTask.getArdVideoInspectTaskStepList().get(0).getId()); + if(InspectionTaskManager.taskMap.containsKey(TaskId)) { + startRunStep(videoInspectTask); } - videoInspectTask.setArdVideoInspectTaskStepList(ardVideoInspectTaskStepList); - String currentStepId = videoInspectTask.getCurrentStepId(); - if (StringUtils.isNull(currentStepId)) { - videoInspectTask.setCurrentStepId(ardVideoInspectTaskStepList.get(0).getId()); - startRunStep(videoInspectTask);//寮�濮嬪綋鍓嶄换鍔$殑绗竴涓楠� - } else /*褰撳墠浠诲姟宸茬粡鎵ц锛屽垽鏂槸鍚﹀埌鏈�*/ { - if (StringUtils.isNull(videoInspectTask.getCurrentStepStartTime())) { - //褰撳墠浠诲姟鍚姩鏃堕棿涓簄ull锛屽垯璇存槑褰撳墠姝ラ琚腑鏂紝鐩存帴鍚姩褰撳墠姝ラ + } else /*褰撳墠浠诲姟宸茬粡鎵ц锛屽垽鏂槸鍚﹀埌鏈�*/ { + if (StringUtils.isNull(currentStepStartTime)||StringUtils.isEmpty(currentStepStartTime)) { + //褰撳墠浠诲姟鍚姩鏃堕棿涓簄ull锛屽垯璇存槑褰撳墠姝ラ琚腑鏂紝鐩存帴鍚姩褰撳墠姝ラ + startRunStep(videoInspectTask); + } else { + boolean expird = isExpirdStep(videoInspectTask); /*鍒ゆ柇褰撳墠姝ラ鏃堕棿鏄惁杩囨湡*/ + if (expird) { + //鍋滄褰曞儚 + stopRunStep(videoInspectTask); + //鍒囨崲姝ラ + String nextStepId = changeNextStep(videoInspectTask); + //寮�濮嬩笅涓�姝ラ + videoInspectTask.setCurrentStepId(nextStepId); startRunStep(videoInspectTask); - } else { - boolean expird = isExpirdStep(videoInspectTask); /*鍒ゆ柇褰撳墠姝ラ鏃堕棿鏄惁杩囨湡*/ - if (expird) { - //鍋滄褰曞儚 - stopRunStep(videoInspectTask); - //鍒囨崲姝ラ - String nextStepId = changeNextStep(videoInspectTask); - //寮�濮嬩笅涓�姝ラ - videoInspectTask.setCurrentStepId(nextStepId); - startRunStep(videoInspectTask); - } } } } @@ -213,7 +228,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) { @@ -221,15 +236,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); @@ -244,9 +262,11 @@ } } } + /** + * 鑷姩鎵嬪姩鍚堝苟锛屾壂搴撴柟寮忥紝鐩墠涓嶄娇鐢� + */ @Override public void taskRun() { - /*鎵弿鎵�鏈夊彲鎵ц浠诲姟1-鏃堕棿婊¤冻2-鑷姩*/ ArdVideoInspectTask ardVideoInspectTask = new ArdVideoInspectTask(); List<ArdVideoInspectTask> ardVideoInspectTasks = ardVideoInspectTaskMapper.selectArdVideoInspectTaskList(ardVideoInspectTask); for (ArdVideoInspectTask videoInspectTask : ardVideoInspectTasks) { @@ -266,13 +286,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); /*鍒ゆ柇褰撳墠姝ラ鏃堕棿鏄惁杩囨湡*/ @@ -341,12 +363,13 @@ ardVideoInspectTaskMapper.updateArdVideoInspectTask(avit); } else { cmd.setEnable(false);//鍋滄褰曞儚 + cmd.setUploadMinio(true); hikClientService.recordToMinio(cmd); /*鎺у埗澶辫触,褰撳墠姝ラ鍚姩鏃堕棿缃畁ull*/ ArdVideoInspectTask avit = new ArdVideoInspectTask(); avit.setId(ardVideoInspectTask.getId()); avit.setCurrentStepId(step.getId()); - avit.setCurrentStepStartTime(null); + avit.setCurrentStepStartTime(""); ardVideoInspectTaskMapper.updateArdVideoInspectTask(avit); } } @@ -384,6 +407,7 @@ String recordName = cameraId + "/" + time + "/" + uuid + ".mp4"; cmd.setRecordBucketName("record"); cmd.setRecordObjectName(recordName); + cmd.setUploadMinio(true); hikClientService.recordToMinio(cmd); /*鎻掑叆宸℃璁板綍*/ ArdVideoInspectRecord ardVideoInspectRecord = new ArdVideoInspectRecord(); -- Gitblit v1.9.3