From 8dcb6801a19f08af6c7baaf6a1b9105c8b4dc58b Mon Sep 17 00:00:00 2001
From: liusuyi <13324259@qq.com>
Date: 星期三, 31 五月 2023 21:31:38 +0800
Subject: [PATCH] 增加手动巡检

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java |  460 +++++++++++++++++++++++++++++++++------------------------
 1 files changed, 264 insertions(+), 196 deletions(-)

diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java
index e51cd61..291f326 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java
@@ -35,205 +35,273 @@
 
     @Resource
     IArdVideoInspectTaskService ardVideoInspectTaskService;
-    @Resource
-    IArdAlarmpointsWellService ardAlarmpointsWellService;
-    @Resource
-    IArdVideoInspectRecordService ardVideoInspectRecordService;
-    @Resource
-    IArdCamerasService ardCamerasService;
-    @Resource
-    IHikClientService hikClientService;
 
+    //宸℃浠诲姟
     public void scanRun() {
-        /*鎵弿鎵�鏈夊彲鎵ц浠诲姟1-鏃堕棿婊¤冻2-鑷姩*/
-        ArdVideoInspectTask ardVideoInspectTask = new ArdVideoInspectTask();
-        ardVideoInspectTask.setInspectMode("鑷姩");
-        List<ArdVideoInspectTask> ardVideoInspectTasks = ardVideoInspectTaskService.selectArdVideoInspectTaskList(ardVideoInspectTask);
-        for (ArdVideoInspectTask videoInspectTask : ardVideoInspectTasks) {
-            /*閬嶅巻鎵�鏈夋椂闂存弧瓒崇殑鑷姩浠诲姟*/
-            boolean timeCompare = DateUtils.TimeCompare(videoInspectTask.getStartTime(), videoInspectTask.getEndTime());
-            if (timeCompare) {
-                /*鑾峰彇褰撳墠浠诲姟鐨勬墍鏈夊贰妫�姝ラ*/
-                List<ArdVideoInspectTaskStep> ardVideoInspectTaskStepList = ardVideoInspectTaskService.selectArdVideoInspectTaskById(videoInspectTask.getId()).getArdVideoInspectTaskStepList();
-                if (ardVideoInspectTaskStepList.size() == 0) {
-                    continue;
-                }
-                videoInspectTask.setArdVideoInspectTaskStepList(ardVideoInspectTaskStepList);
-                String currentStepId = videoInspectTask.getCurrentStepId();
-                if (StringUtils.isNull(currentStepId)) {
-                    videoInspectTask.setCurrentStepId(ardVideoInspectTaskStepList.get(0).getId());
-                    startRunStep(videoInspectTask);//寮�濮嬪綋鍓嶄换鍔$殑绗竴涓楠�
-                } else /*褰撳墠浠诲姟宸茬粡鎵ц锛屽垽鏂槸鍚﹀埌鏈�*/ {
-                    boolean expird = isExpirdStep(videoInspectTask); /*鍒ゆ柇褰撳墠姝ラ鏃堕棿鏄惁杩囨湡*/
-                    if (expird) {
-                        /*宸茶繃鏈�,鍋滄褰曞儚*/
-
-                        stopRunStep(videoInspectTask);
-                        /*鍒囨崲涓嬩竴姝�*/
-                        String nextStepId = changeNextStep(videoInspectTask);
-                        /*寮�濮�*/
-                        videoInspectTask.setCurrentStepId(nextStepId);
-                        startRunStep(videoInspectTask);
-                    }
-                }
-            }
-        }
+        ardVideoInspectTaskService.taskRun();
     }
 
-    //姝ラ寮�濮�
-    private void startRunStep(ArdVideoInspectTask ardVideoInspectTask) {
-        String currentStepId = ardVideoInspectTask.getCurrentStepId();
-        if(StringUtils.isNull(currentStepId))
-        {
-            log.info("褰撳墠寮�濮嬪贰妫�姝ラid涓虹┖");
-            return;
-        }
-        log.info("姝ラ锛�" + currentStepId + "寮�濮�");
-        String cameraId = ardVideoInspectTask.getCameraId();
-        Integer channel = ardVideoInspectTask.getChannel();
-        Optional<ArdVideoInspectTaskStep> objectOptional = ardVideoInspectTask.getArdVideoInspectTaskStepList().stream()
-                .filter(obj -> obj.getId().equals(currentStepId))
-                .findFirst();
-        if (objectOptional.isPresent()) {
-            ArdVideoInspectTaskStep step = objectOptional.get();
-            String wellId = step.getWellId();
-            if (!StringUtils.isNull(wellId)) {
-                /*鑾峰彇浜曞潗鏍�*/
-                ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellService.selectArdAlarmpointsWellById(wellId);
-                double[] targetPositon = new double[3];
-                targetPositon[0] = ardAlarmpointsWell.getLongitude();
-                targetPositon[1] = ardAlarmpointsWell.getLatitude();
-                targetPositon[2] = ardAlarmpointsWell.getAltitude();
-                /*鑾峰彇鐩告満鍧愭爣*/
-                ArdCameras cameras = ardCamerasService.selectArdCamerasById(cameraId);
-                double[] cameraPositon = new double[3];
-                cameraPositon[0] = cameras.getLongitude();
-                cameraPositon[1] = cameras.getLatitude();
-                cameraPositon[2] = cameras.getAltitude();
-                /*鎺у埗鐩告満宸℃*/
-                CameraCmd cmd = new CameraCmd();
-                cmd.setCameraId(cameraId);
-                cmd.setChannelNum(channel);
-                cmd.setCamPosition(cameraPositon);
-                cmd.setTargetPosition(targetPositon);
-                cmd.setOperator("sys_patrol_inspect");
-                cmd.setExpired(step.getRecordingTime());
-                boolean setTargetPosition = hikClientService.setTargetPosition(cmd);
-                if (setTargetPosition) {
-                    /*鎺у埗鐩告満宸℃鎴愬姛锛屽紑濮嬪綍鍍�*/
-                    cmd.setEnable(true);//鍚姩褰曞儚
-                    hikClientService.recordToMinio(cmd);
-                    /*鏇存柊浠诲姟褰撳墠姝ラid鍜屾楠ゅ惎鍔ㄦ椂闂�*/
-                    ArdVideoInspectTask avit = new ArdVideoInspectTask();
-                    avit.setId(ardVideoInspectTask.getId());
-                    avit.setCurrentStepId(step.getId());
-                    avit.setCurrentStepStartTime(DateUtils.getTime());
-                    ardVideoInspectTaskService.updateArdVideoInspectTaskNoUpdater(avit);
-                }
-            }
-        }
-    }
+    //鑷姩宸℃浠诲姟
+//    public void scanRun() {
+//        /*鎵弿鎵�鏈夊彲鎵ц浠诲姟1-鏃堕棿婊¤冻2-鑷姩*/
+//        ArdVideoInspectTask ardVideoInspectTask = new ArdVideoInspectTask();
+//        ardVideoInspectTask.setInspectMode("鑷姩");
+//        List<ArdVideoInspectTask> ardVideoInspectTasks = ardVideoInspectTaskService.selectArdVideoInspectTaskList(ardVideoInspectTask);
+//        for (ArdVideoInspectTask videoInspectTask : ardVideoInspectTasks) {
+//            /*閬嶅巻鎵�鏈夋椂闂存弧瓒崇殑鑷姩浠诲姟*/
+//            boolean timeCompare = DateUtils.TimeCompare(videoInspectTask.getStartTime(), videoInspectTask.getEndTime());
+//            if (timeCompare) {
+//                /*鑾峰彇褰撳墠浠诲姟鐨勬墍鏈夊贰妫�姝ラ*/
+//                List<ArdVideoInspectTaskStep> ardVideoInspectTaskStepList = ardVideoInspectTaskService.selectArdVideoInspectTaskById(videoInspectTask.getId()).getArdVideoInspectTaskStepList();
+//                if (ardVideoInspectTaskStepList.size() == 0) {
+//                    continue;
+//                }
+//                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锛屽垯璇存槑褰撳墠姝ラ琚腑鏂紝鐩存帴鍚姩褰撳墠姝ラ
+//                        startRunStep(videoInspectTask);
+//                    } else {
+//                        boolean expird = isExpirdStep(videoInspectTask); /*鍒ゆ柇褰撳墠姝ラ鏃堕棿鏄惁杩囨湡*/
+//                        if (expird) {
+//                            //鍋滄褰曞儚
+//                            stopRunStep(videoInspectTask);
+//                            //鍒囨崲姝ラ
+//                            String nextStepId = changeNextStep(videoInspectTask);
+//                            //寮�濮嬩笅涓�姝ラ
+//                            videoInspectTask.setCurrentStepId(nextStepId);
+//                            startRunStep(videoInspectTask);
+//                        }
+//                    }
+//                }
+//            }
+//        }
+//    }
 
-    //姝ラ鍋滄
-    private void stopRunStep(ArdVideoInspectTask ardVideoInspectTask) {
-        String currentStepId = ardVideoInspectTask.getCurrentStepId();
-        log.info("姝ラ锛�" + currentStepId + "鍋滄");
-        if(StringUtils.isNull(currentStepId))
-        {
-            log.info("褰撳墠鍋滄宸℃姝ラid涓虹┖");
-            return;
-        }
-        String currentStepStartTime = ardVideoInspectTask.getCurrentStepStartTime();
-        String cameraId = ardVideoInspectTask.getCameraId();
-        Integer channel = ardVideoInspectTask.getChannel();
-        Optional<ArdVideoInspectTaskStep> objectOptional = ardVideoInspectTask.getArdVideoInspectTaskStepList().stream()
-                .filter(obj -> obj.getId().equals(currentStepId))
-                .findFirst();
-        if (objectOptional.isPresent()) {
-            ArdVideoInspectTaskStep step = objectOptional.get();
-            /*鍋滄褰曞儚*/
-            CameraCmd cmd = new CameraCmd();
-            cmd.setCameraId(cameraId);
-            cmd.setChannelNum(channel);
-            cmd.setOperator("sys_patrol_inspect");
-            cmd.setEnable(false);//鍋滄褰曞儚
-            String uuid = UUID.randomUUID().toString().replace("-", "");
-            String time = new SimpleDateFormat("yyyyMMdd").format(new Date());
-            String recordName = cameraId + "/" + time + "/" + uuid + ".mp4";
-            cmd.setRecordBucketName("record");
-            cmd.setRecordObjectName(recordName);
-            hikClientService.recordToMinio(cmd);
-            /*鎻掑叆宸℃璁板綍*/
-            ArdVideoInspectRecord ardVideoInspectRecord = new ArdVideoInspectRecord();
-            ardVideoInspectRecord.setStepId(step.getId());
-            Date currentStepStartDate = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, currentStepStartTime);
-            Date currentStepStopDate = DateUtils.addMinutes(currentStepStartDate, step.getRecordingTime());
-            ardVideoInspectRecord.setStartTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, currentStepStartDate));
-            ardVideoInspectRecord.setEndTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, currentStepStopDate));
-            String url = MinioClientSingleton.domainUrl + "/" + cmd.getRecordBucketName() + "/" + recordName;
-            ardVideoInspectRecord.setRecordFilePath(url);
-            ardVideoInspectRecordService.insertArdVideoInspectRecord(ardVideoInspectRecord);
-        }
-    }
-
-    //姝ラ鍒ゆ柇鏄惁杩囨湡
-    private boolean isExpirdStep(ArdVideoInspectTask ardVideoInspectTask) {
-        List<ArdVideoInspectTaskStep> ardVideoInspectTaskStepList = ardVideoInspectTask.getArdVideoInspectTaskStepList();
-        /*鑾峰彇褰撳墠浠诲姟姝e湪鎵ц鐨勬楠ゅ拰褰撳墠姝ラ寮�濮嬬殑鏃堕棿*/
-        String currentStepId = ardVideoInspectTask.getCurrentStepId();
-        String currentStepStartTime = ardVideoInspectTask.getCurrentStepStartTime();
-        Optional<ArdVideoInspectTaskStep> objectOptional = ardVideoInspectTaskStepList.stream()
-                .filter(ardVideoInspectTaskStep -> ardVideoInspectTaskStep.getId().equals(currentStepId))
-                .findFirst();
-        if (objectOptional.isPresent()) {
-            /*鑾峰彇褰撳墠姝ラ淇℃伅*/
-            ArdVideoInspectTaskStep currentStep = objectOptional.get();
-            /*鑾峰彇鍒板綋鍓嶆楠ょ殑寮�濮嬪拰缁撴潫鏃堕棿*/
-            Date currentStepStartDate = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, currentStepStartTime);
-            Date currentStepStopDate = DateUtils.addMinutes(currentStepStartDate, currentStep.getRecordingTime());
-            /*鍒ゆ柇褰撳墠姝ラ鏃堕棿鏄惁杩囨湡*/
-            if (!DateUtils.TimeCompare(currentStepStartDate, currentStepStopDate)) {
-                return true;
-            } else {
-                return false;
-            }
-        } else {
-            return false;
-        }
-
-    }
-
-    //姝ラ鍒囨崲
-    private String changeNextStep(ArdVideoInspectTask ardVideoInspectTask) {
-        String currentStepId = ardVideoInspectTask.getCurrentStepId();
-        Optional<ArdVideoInspectTaskStep> objectOptional = ardVideoInspectTask.getArdVideoInspectTaskStepList().stream()
-                .filter(obj -> obj.getId().equals(currentStepId))
-                .findFirst();
-        if (objectOptional.isPresent()) {
-            ArdVideoInspectTaskStep step = objectOptional.get();
-            Integer currentStepOrderNumber = step.getOrderNumber();
-            /*鍒ゆ柇褰撳墠姝ラ搴忓彿鏄惁灏忎簬姝ラ鎬绘暟*/
-            if (currentStepOrderNumber < ardVideoInspectTask.getArdVideoInspectTaskStepList().size()) {
-                /*灏忎簬鍒欐墽琛屼笅涓�姝ラ*/
-                currentStepOrderNumber++;
-            } else {
-                /*鍚﹀垯浠�1寮�濮嬫墽琛�*/
-                currentStepOrderNumber = 1;
-            }
-            Integer nextStepOrderNumber = currentStepOrderNumber;
-            /*鏇存柊褰撳墠浠诲姟鍒囨崲鏂版楠�*/
-            ArdVideoInspectTask avit = new ArdVideoInspectTask();
-            avit.setId(ardVideoInspectTask.getId());
-            String nextStepId = ardVideoInspectTask.getArdVideoInspectTaskStepList().stream()
-                    .filter(obj -> obj.getOrderNumber() == nextStepOrderNumber)
-                    .map(ArdVideoInspectTaskStep::getId)
-                    .findFirst()
-                    .orElse(null);
-            avit.setCurrentStepId(nextStepId);
-            ardVideoInspectTaskService.updateArdVideoInspectTaskNoUpdater(avit);
-            log.info("姝ラ锛�" + currentStepId + "鍒囨崲涓�"+nextStepId);
-            return nextStepId;
-        }
-        return "";
-    }
+//    //鎵嬪姩宸℃浠诲姟
+//    public void ManualTaskRun(String taskId) {
+//        Timer timer = new Timer();
+//        // 5s鍚庢墽琛�
+//        // timer.schedule(new MyTask(), 5000);
+//        // 椹笂鎵ц浠诲姟,姣忛殧2000鎵ц涓�娆�
+//        timerTask = new TimerTask() {
+//            @Override
+//            public void run() {
+//                ArdVideoInspectTask videoInspectTask = ardVideoInspectTaskService.selectArdVideoInspectTaskById(taskId);
+//                /*鑾峰彇褰撳墠浠诲姟鐨勬墍鏈夊贰妫�姝ラ*/
+//                List<ArdVideoInspectTaskStep> ardVideoInspectTaskStepList = ardVideoInspectTaskService.selectArdVideoInspectTaskById(videoInspectTask.getId()).getArdVideoInspectTaskStepList();
+//                if (ardVideoInspectTaskStepList.size() == 0) {
+//                    log.error("褰撳墠浠诲姟娌℃湁鍙戠幇鎵ц姝ラ");
+//                    return;
+//                }
+//                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锛屽垯璇存槑褰撳墠姝ラ琚腑鏂紝鐩存帴鍚姩褰撳墠姝ラ
+//                        startRunStep(videoInspectTask);
+//                    } else {
+//                        boolean expird = isExpirdStep(videoInspectTask); /*鍒ゆ柇褰撳墠姝ラ鏃堕棿鏄惁杩囨湡*/
+//                        if (expird) {
+//                            //鍋滄褰曞儚
+//                            stopRunStep(videoInspectTask);
+//                            //鍒囨崲姝ラ
+//                            String nextStepId = changeNextStep(videoInspectTask);
+//                            //寮�濮嬩笅涓�姝ラ
+//                            videoInspectTask.setCurrentStepId(nextStepId);
+//                            startRunStep(videoInspectTask);
+//                        }
+//                    }
+//                }
+//            }
+//        };
+//        timer.scheduleAtFixedRate(timerTask, new Date(), 2000);
+//    }
+//
+//    //姝ラ寮�濮�
+//    private void startRunStep(ArdVideoInspectTask ardVideoInspectTask) {
+//        try {
+//            String currentStepId = ardVideoInspectTask.getCurrentStepId();
+//            if (StringUtils.isNull(currentStepId)) {
+//                log.info("褰撳墠寮�濮嬪贰妫�姝ラid涓虹┖");
+//                return;
+//            }
+//            log.info("姝ラ锛�" + currentStepId + "寮�濮�");
+//            String cameraId = ardVideoInspectTask.getCameraId();
+//            Integer channel = ardVideoInspectTask.getChannel();
+//            Optional<ArdVideoInspectTaskStep> objectOptional = ardVideoInspectTask.getArdVideoInspectTaskStepList().stream()
+//                    .filter(obj -> obj.getId().equals(currentStepId))
+//                    .findFirst();
+//            if (objectOptional.isPresent()) {
+//                ArdVideoInspectTaskStep step = objectOptional.get();
+//                String wellId = step.getWellId();
+//                if (!StringUtils.isNull(wellId)) {
+//                    /*鑾峰彇浜曞潗鏍�*/
+//                    ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellService.selectArdAlarmpointsWellById(wellId);
+//                    double[] targetPositon = new double[3];
+//                    targetPositon[0] = ardAlarmpointsWell.getLongitude();
+//                    targetPositon[1] = ardAlarmpointsWell.getLatitude();
+//                    targetPositon[2] = ardAlarmpointsWell.getAltitude();
+//                    /*鑾峰彇鐩告満鍧愭爣*/
+//                    ArdCameras cameras = ardCamerasService.selectArdCamerasById(cameraId);
+//                    double[] cameraPositon = new double[3];
+//                    cameraPositon[0] = cameras.getLongitude();
+//                    cameraPositon[1] = cameras.getLatitude();
+//                    cameraPositon[2] = cameras.getAltitude();
+//                    /*鎺у埗鐩告満宸℃*/
+//                    CameraCmd cmd = new CameraCmd();
+//                    cmd.setCameraId(cameraId);
+//                    cmd.setChannelNum(channel);
+//                    cmd.setCamPosition(cameraPositon);
+//                    cmd.setTargetPosition(targetPositon);
+//                    cmd.setOperator("sys_patrol_inspect");
+//                    cmd.setExpired(step.getRecordingTime());
+//                    boolean setTargetPosition = hikClientService.setTargetPosition(cmd);
+//                    if (setTargetPosition) {
+//                        /*鎺у埗鐩告満宸℃鎴愬姛锛屽紑濮嬪綍鍍�*/
+//                        cmd.setEnable(true);//鍚姩褰曞儚
+//                        hikClientService.recordToMinio(cmd);
+//                        /*鏇存柊浠诲姟褰撳墠姝ラid鍜屾楠ゅ惎鍔ㄦ椂闂�*/
+//                        ArdVideoInspectTask avit = new ArdVideoInspectTask();
+//                        avit.setId(ardVideoInspectTask.getId());
+//                        avit.setCurrentStepId(step.getId());
+//                        avit.setCurrentStepStartTime(DateUtils.getTime());
+//                        ardVideoInspectTaskService.updateArdVideoInspectTaskNoUpdater(avit);
+//                    } else {
+//                        cmd.setEnable(false);//鍋滄褰曞儚
+//                        hikClientService.recordToMinio(cmd);
+//                        /*鎺у埗澶辫触,褰撳墠姝ラ鍚姩鏃堕棿缃畁ull*/
+//                        ArdVideoInspectTask avit = new ArdVideoInspectTask();
+//                        avit.setId(ardVideoInspectTask.getId());
+//                        avit.setCurrentStepId(step.getId());
+//                        avit.setCurrentStepStartTime(null);
+//                        ardVideoInspectTaskService.updateArdVideoInspectTaskNoUpdater(avit);
+//                    }
+//                }
+//            }
+//        } catch (Exception ex) {
+//            log.error("宸℃寮�濮嬪紓甯革細" + ex.getMessage());
+//        }
+//    }
+//
+//    //姝ラ鍋滄
+//    private void stopRunStep(ArdVideoInspectTask ardVideoInspectTask) {
+//        try {
+//            String currentStepId = ardVideoInspectTask.getCurrentStepId();
+//            log.info("姝ラ锛�" + currentStepId + "鍋滄");
+//            if (StringUtils.isNull(currentStepId)) {
+//                log.info("褰撳墠鍋滄宸℃姝ラid涓虹┖");
+//                return;
+//            }
+//            String currentStepStartTime = ardVideoInspectTask.getCurrentStepStartTime();
+//            String cameraId = ardVideoInspectTask.getCameraId();
+//            Integer channel = ardVideoInspectTask.getChannel();
+//            Optional<ArdVideoInspectTaskStep> objectOptional = ardVideoInspectTask.getArdVideoInspectTaskStepList().stream()
+//                    .filter(obj -> obj.getId().equals(currentStepId))
+//                    .findFirst();
+//            if (objectOptional.isPresent()) {
+//                ArdVideoInspectTaskStep step = objectOptional.get();
+//                /*鍋滄褰曞儚*/
+//                CameraCmd cmd = new CameraCmd();
+//                cmd.setCameraId(cameraId);
+//                cmd.setChannelNum(channel);
+//                cmd.setOperator("sys_patrol_inspect");
+//                cmd.setEnable(false);//鍋滄褰曞儚
+//                String uuid = UUID.randomUUID().toString().replace("-", "");
+//                String time = new SimpleDateFormat("yyyyMMdd").format(new Date());
+//                String recordName = cameraId + "/" + time + "/" + uuid + ".mp4";
+//                cmd.setRecordBucketName("record");
+//                cmd.setRecordObjectName(recordName);
+//                hikClientService.recordToMinio(cmd);
+//                /*鎻掑叆宸℃璁板綍*/
+//                ArdVideoInspectRecord ardVideoInspectRecord = new ArdVideoInspectRecord();
+//                ardVideoInspectRecord.setStepId(step.getId());
+//                Date currentStepStartDate = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, currentStepStartTime);
+//                Date currentStepStopDate = DateUtils.addMinutes(currentStepStartDate, step.getRecordingTime());
+//                ardVideoInspectRecord.setStartTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, currentStepStartDate));
+//                ardVideoInspectRecord.setEndTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, currentStepStopDate));
+//                String url = MinioClientSingleton.domainUrl + "/" + cmd.getRecordBucketName() + "/" + recordName;
+//                ardVideoInspectRecord.setRecordFilePath(url);
+//                ardVideoInspectRecordService.insertArdVideoInspectRecord(ardVideoInspectRecord);
+//            }
+//        } catch (Exception ex) {
+//            log.error("宸℃鍋滄寮傚父:" + ex.getMessage());
+//        }
+//    }
+//
+//    //姝ラ鍒ゆ柇鏄惁杩囨湡
+//    private boolean isExpirdStep(ArdVideoInspectTask ardVideoInspectTask) {
+//        try {
+//            List<ArdVideoInspectTaskStep> ardVideoInspectTaskStepList = ardVideoInspectTask.getArdVideoInspectTaskStepList();
+//            /*鑾峰彇褰撳墠浠诲姟姝e湪鎵ц鐨勬楠ゅ拰褰撳墠姝ラ寮�濮嬬殑鏃堕棿*/
+//            String currentStepId = ardVideoInspectTask.getCurrentStepId();
+//            String currentStepStartTime = ardVideoInspectTask.getCurrentStepStartTime();
+//            Optional<ArdVideoInspectTaskStep> objectOptional = ardVideoInspectTaskStepList.stream()
+//                    .filter(ardVideoInspectTaskStep -> ardVideoInspectTaskStep.getId().equals(currentStepId))
+//                    .findFirst();
+//            if (objectOptional.isPresent()) {
+//                /*鑾峰彇褰撳墠姝ラ淇℃伅*/
+//                ArdVideoInspectTaskStep currentStep = objectOptional.get();
+//                /*鑾峰彇鍒板綋鍓嶆楠ょ殑寮�濮嬪拰缁撴潫鏃堕棿*/
+//                Date currentStepStartDate = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, currentStepStartTime);
+//                Date currentStepStopDate = DateUtils.addMinutes(currentStepStartDate, currentStep.getRecordingTime());
+//                /*鍒ゆ柇褰撳墠姝ラ鏃堕棿鏄惁杩囨湡*/
+//                if (!DateUtils.TimeCompare(currentStepStartDate, currentStepStopDate)) {
+//                    return true;
+//                } else {
+//                    return false;
+//                }
+//            } else {
+//                return false;
+//            }
+//        } catch (Exception ex) {
+//            log.error("鍒ゆ柇宸℃姝ラ杩囨湡寮傚父锛�" + ex.getMessage());
+//            return false;
+//        }
+//    }
+//
+//    //姝ラ鍒囨崲
+//    private String changeNextStep(ArdVideoInspectTask ardVideoInspectTask) {
+//        try {
+//            String currentStepId = ardVideoInspectTask.getCurrentStepId();
+//            Optional<ArdVideoInspectTaskStep> objectOptional = ardVideoInspectTask.getArdVideoInspectTaskStepList().stream()
+//                    .filter(obj -> obj.getId().equals(currentStepId))
+//                    .findFirst();
+//            if (objectOptional.isPresent()) {
+//                ArdVideoInspectTaskStep step = objectOptional.get();
+//                Integer currentStepOrderNumber = step.getOrderNumber();
+//                /*鍒ゆ柇褰撳墠姝ラ搴忓彿鏄惁灏忎簬姝ラ鎬绘暟*/
+//                if (currentStepOrderNumber < ardVideoInspectTask.getArdVideoInspectTaskStepList().size()) {
+//                    /*灏忎簬鍒欐墽琛屼笅涓�姝ラ*/
+//                    currentStepOrderNumber++;
+//                } else {
+//                    /*鍚﹀垯浠�1寮�濮嬫墽琛�*/
+//                    currentStepOrderNumber = 1;
+//                }
+//                Integer nextStepOrderNumber = currentStepOrderNumber;
+//                /*鏇存柊褰撳墠浠诲姟鍒囨崲鏂版楠�*/
+//                ArdVideoInspectTask avit = new ArdVideoInspectTask();
+//                avit.setId(ardVideoInspectTask.getId());
+//                String nextStepId = ardVideoInspectTask.getArdVideoInspectTaskStepList().stream()
+//                        .filter(obj -> obj.getOrderNumber() == nextStepOrderNumber)
+//                        .map(ArdVideoInspectTaskStep::getId)
+//                        .findFirst()
+//                        .orElse(null);
+//                avit.setCurrentStepId(nextStepId);
+//                ardVideoInspectTaskService.updateArdVideoInspectTaskNoUpdater(avit);
+//                log.info("姝ラ锛�" + currentStepId + "鍒囨崲涓�" + nextStepId);
+//                return nextStepId;
+//            }
+//        } catch (Exception ex) {
+//            log.error("宸℃姝ラ鍒囨崲寮傚父锛�" + ex.getMessage());
+//        }
+//        return "";
+//    }
 }

--
Gitblit v1.9.3