|  |  | 
 |  |  | import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; | 
 |  |  | import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper; | 
 |  |  | import com.ruoyi.common.utils.DateUtils; | 
 |  |  | import com.ruoyi.constant.Global; | 
 |  |  | import com.ruoyi.device.camera.domain.ArdCameras; | 
 |  |  | import com.ruoyi.device.camera.domain.CameraCmd; | 
 |  |  | import com.ruoyi.device.camera.mapper.ArdCamerasMapper; | 
 |  |  | 
 |  |  | import com.ruoyi.inspect.domain.ArdVideoInspectRecord; | 
 |  |  | import com.ruoyi.inspect.mapper.ArdVideoInspectRecordMapper; | 
 |  |  | import com.ruoyi.inspect.mapper.ArdVideoInspectTaskStepMapper; | 
 |  |  | import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer; | 
 |  |  | import lombok.extern.slf4j.Slf4j; | 
 |  |  | import org.springframework.stereotype.Service; | 
 |  |  | import com.ruoyi.common.utils.StringUtils; | 
 |  |  | 
 |  |  |     private ArdCamerasMapper ardCamerasMapper; | 
 |  |  |     @Resource | 
 |  |  |     private IHikClientService hikClientService; | 
 |  |  |     @Resource | 
 |  |  |     private ArdCamerasMapper camerasMapper; | 
 |  |  |  | 
 |  |  |     @PostConstruct | 
 |  |  |     public void initTask() { | 
 |  |  | 
 |  |  |             } | 
 |  |  |             ardVideoInspectTask.setCurrentStepId(""); | 
 |  |  |             ardVideoInspectTask.setCurrentStepStartTime(""); | 
 |  |  |             ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask); | 
 |  |  |             ardVideoInspectTaskMapper.updateArdVideoInspectTaskWithCurrentSetpInfo(ardVideoInspectTask); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     public void insertArdVideoInspectTaskStep(ArdVideoInspectTask ardVideoInspectTask) { | 
 |  |  |         List<ArdVideoInspectTaskStep> ardVideoInspectTaskStepList = ardVideoInspectTask.getArdVideoInspectTaskStepList(); | 
 |  |  |         String id = ardVideoInspectTask.getId(); | 
 |  |  |         //获取相机 | 
 |  |  |         ArdCameras camera = camerasMapper.selectArdCamerasById(ardVideoInspectTask.getCameraId()); | 
 |  |  |         Collections.sort(ardVideoInspectTaskStepList, new ArdVideoInspectTaskStepComparator(this.ardAlarmpointsWellMapper, camera.getLongitude(), camera.getLatitude())); | 
 |  |  |         String taskId = ardVideoInspectTask.getId(); | 
 |  |  |         for (int i = 0; i < ardVideoInspectTaskStepList.size(); i++) { | 
 |  |  |             ArdVideoInspectTaskStep step = ardVideoInspectTaskStepList.get(i); | 
 |  |  |             step.setTaskId(taskId); | 
 |  |  |             step.setOrderNumber(new Integer(i + 1)); | 
 |  |  |         } | 
 |  |  |         if (StringUtils.isNotNull(ardVideoInspectTaskStepList)) { | 
 |  |  |             List<ArdVideoInspectTaskStep> list = new ArrayList<ArdVideoInspectTaskStep>(); | 
 |  |  |             for (ArdVideoInspectTaskStep ardVideoInspectTaskStep : ardVideoInspectTaskStepList) { | 
 |  |  |                 if (ardVideoInspectTaskStep.getId() == null) { | 
 |  |  |                     //新的步骤,添加 | 
 |  |  | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                 } 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 (StringUtils.isNotEmpty(videoInspectTask.getCurrentStepId())) { | 
 |  |  |                         videoInspectTask.setCurrentStepId(""); | 
 |  |  |                         ardVideoInspectTaskMapper.updateArdVideoInspectTaskWithCurrentSetpInfo(videoInspectTask); | 
 |  |  | 
 |  |  |                     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) { | 
 |  |  |                         if (!Global.task_record.contains(ardVideoInspectTask.getId())) { | 
 |  |  |                             /*控制相机巡检成功,开始录像*/ | 
 |  |  |                             cmd.setEnable(true);//启动录像 | 
 |  |  |                             hikClientService.recordToMinio(cmd); | 
 |  |  |                             Global.task_record.add(ardVideoInspectTask.getId()); | 
 |  |  |                         } | 
 |  |  |                         /*控制相机巡检成功,开始录像*/ | 
 |  |  |                         cmd.setEnable(true);//启动录像 | 
 |  |  |                         hikClientService.recordToMinio(cmd); | 
 |  |  |                     } else { | 
 |  |  |                         cmd.setEnable(false);//停止录像 | 
 |  |  |                         cmd.setUploadMinio(true); | 
 |  |  | 
 |  |  |                 cmd.setRecordObjectName(recordName); | 
 |  |  |                 cmd.setUploadMinio(true); | 
 |  |  |                 hikClientService.recordToMinio(cmd); | 
 |  |  |                 Global.task_record.remove(ardVideoInspectTask.getId()); | 
 |  |  |                 /*插入巡检记录*/ | 
 |  |  |                 ArdVideoInspectRecord ardVideoInspectRecord = new ArdVideoInspectRecord(); | 
 |  |  |                 ardVideoInspectRecord.setStepId(step.getId()); | 
 |  |  |                 ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(step.getWellId()); | 
 |  |  |                 if (StringUtils.isNotNull(ardAlarmpointsWell)) { | 
 |  |  |                     ardVideoInspectRecord.setWellName(ardAlarmpointsWell.getWellId()); | 
 |  |  |                 } | 
 |  |  |                 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)); | 
 |  |  | 
 |  |  |  | 
 |  |  |         return timeList; | 
 |  |  |     } | 
 |  |  | } | 
 |  |  | } |