| | |
| | | package com.ruoyi.inspect.service.impl;
|
| | |
|
| | | import java.util.*;
|
| | |
|
| | | import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
|
| | | import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper;
|
| | | import com.ruoyi.common.utils.DateUtils;
|
| | |
| | | import com.ruoyi.device.camera.domain.CameraCmd;
|
| | | import com.ruoyi.device.camera.mapper.ArdCamerasMapper;
|
| | | import com.ruoyi.device.camera.service.ICameraSdkService;
|
| | | import com.ruoyi.utils.sdk.hiksdk.service.IHikClientService;
|
| | | import com.ruoyi.inspect.domain.ArdVideoInspectRecord;
|
| | | import com.ruoyi.inspect.mapper.ArdVideoInspectRecordMapper;
|
| | | import com.ruoyi.inspect.mapper.ArdVideoInspectTaskStepMapper;
|
| | |
| | | import com.ruoyi.inspect.mapper.ArdVideoInspectTaskMapper;
|
| | | import com.ruoyi.inspect.domain.ArdVideoInspectTask;
|
| | | import com.ruoyi.inspect.service.IArdVideoInspectTaskService;
|
| | |
|
| | | import javax.annotation.PostConstruct;
|
| | | import javax.annotation.Resource;
|
| | |
|
| | |
| | | String wellId = step.getWellId();
|
| | | if (!StringUtils.isNull(wellId)) {
|
| | | /*获取井坐标*/
|
| | | ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(wellId);
|
| | | double[] targetPositon = new double[3];
|
| | | targetPositon[0] = ardAlarmpointsWell.getLongitude();
|
| | | targetPositon[1] = ardAlarmpointsWell.getLatitude();
|
| | | targetPositon[2] = ardAlarmpointsWell.getAltitude();
|
| | | /*获取相机坐标*/
|
| | | ArdCameras cameras = ardCamerasMapper.selectArdCamerasById(cameraId);
|
| | | if(StringUtils.isNull(cameras))
|
| | | ArdAlarmpointsWell well = ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(wellId);
|
| | | if(StringUtils.isNull(well))
|
| | | {
|
| | | log.debug("找不到相机:"+cameraId);
|
| | | log.debug("找不到井:" + well.getWellId());
|
| | | return;
|
| | | }
|
| | | double[] cameraPositon = new double[3];
|
| | | cameraPositon[0] = cameras.getLongitude();
|
| | | cameraPositon[1] = cameras.getLatitude();
|
| | | cameraPositon[2] = cameras.getAltitude();
|
| | | log.debug("找到井:" + well.getWellId());
|
| | | double[] targetPositon = new double[3];
|
| | | targetPositon[0] = well.getLongitude();
|
| | | targetPositon[1] = well.getLatitude();
|
| | | //targetPositon[2] = well.getAltitude();
|
| | | log.debug("找到井坐标:" +well.getLongitude()+"-"+well.getLatitude()+"-"+well.getAltitude());
|
| | | /*获取相机坐标*/
|
| | | ArdCameras cameras = ardCamerasMapper.selectArdCamerasById(cameraId);
|
| | | if (StringUtils.isNull(cameras)) {
|
| | | log.debug("找不到相机:" + cameraId);
|
| | | return;
|
| | | }
|
| | | log.debug("找到相机:" + 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.setChanNo(channel);
|
| | | cmd.setTargetPosition(targetPositon);
|
| | | cmd.setOperator("sys_patrol_inspect");
|
| | | cmd.setExpired(step.getRecordingTime() * 60);
|
| | | cmd.setExpired(step.getRecordingTime());//秒为单位
|
| | | boolean setTargetPosition = cameraSdkService.guideTargetPosition(cmd);
|
| | | if (setTargetPosition) {
|
| | | /*控制相机巡检成功,开始录像*/
|
| | |
| | | String wellId = step.getWellId();
|
| | | if (!StringUtils.isNull(wellId)) {
|
| | | /*获取井坐标*/
|
| | | ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(wellId);
|
| | | double[] targetPositon = new double[3];
|
| | | targetPositon[0] = ardAlarmpointsWell.getLongitude();
|
| | | targetPositon[1] = ardAlarmpointsWell.getLatitude();
|
| | | targetPositon[2] = ardAlarmpointsWell.getAltitude();
|
| | | ArdAlarmpointsWell well = ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(wellId);
|
| | | double[] targetPositon = new double[2];
|
| | | targetPositon[0] = well.getLongitude();
|
| | | targetPositon[1] = well.getLatitude();
|
| | | //targetPositon[2] = well.getAltitude();
|
| | | /*获取相机坐标*/
|
| | | ArdCameras cameras = ardCamerasMapper.selectArdCamerasById(cameraId);
|
| | | if(StringUtils.isNull(cameras))
|
| | | {
|
| | | log.debug("找不到相机:"+cameraId);
|
| | | if (StringUtils.isNull(cameras)) {
|
| | | log.debug("找不到相机:" + cameraId);
|
| | | return;
|
| | | }
|
| | | double[] cameraPositon = new double[3];
|
| | |
| | | cmd.setChanNo(channel);
|
| | | cmd.setTargetPosition(targetPositon);
|
| | | cmd.setOperator("sys_patrol_inspect");
|
| | | cmd.setExpired(step.getRecordingTime() * 60);
|
| | | cmd.setExpired(step.getRecordingTime());//秒为单位
|
| | | boolean setTargetPosition = cameraSdkService.guideTargetPosition(cmd);
|
| | | if (!setTargetPosition) {
|
| | | /*控制失败,当前步骤启动时间置null*/
|
| | |
| | | cmd.setChanNo(channel);
|
| | | cmd.setOperator("sys_patrol_inspect");
|
| | | cmd.setRecordBucketName("record");
|
| | | cmd.setRecordObjectName("inspect_" + IdUtils.fastSimpleUUID());
|
| | | cmd.setRecordObjectName("inspectGuide/" + DateUtils.getDateYYYYMMDD()+"/"+ IdUtils.fastSimpleUUID());
|
| | | String url = cameraSdkService.recordStopToMinio(cmd);
|
| | | /*插入巡检记录*/
|
| | | ArdVideoInspectRecord ardVideoInspectRecord = new ArdVideoInspectRecord();
|
| | |
| | |
|
| | | /**
|
| | | * 获取相机的空闲时段
|
| | | *
|
| | | * @param cameraId
|
| | | * @return
|
| | | */
|