‘liusuyi’
2023-06-02 444c6f9820a29b374a6a0a8948614a45786a2ca5
优化巡检
已修改6个文件
71 ■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/device/camera/domain/CameraCmd.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/inspect/controller/TaskController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTask.java 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTaskManager.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/device/camera/domain/CameraCmd.java
@@ -40,4 +40,6 @@
    String recordBucketName;
    /*录像文件名称*/
    String recordObjectName;
    /*是否上传minio*/
    boolean isUploadMinio;
}
ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
@@ -1360,6 +1360,7 @@
                }
                hCNetSDK.NET_DVR_StopRealPlay(info.getLRealHandle());
                log.info("录像停止");
                if(cmd.isUploadMinio()) {
                //存入minio
                String BucketName = cmd.getRecordBucketName();
                String ObjectName = cmd.getRecordObjectName();
@@ -1371,6 +1372,7 @@
                    GlobalVariable.user_real_Map.remove(userId);
                }
            }
            }
        } catch (Exception ex) {
            log.error("录像异常" + ex.getMessage());
        }
ard-work/src/main/java/com/ruoyi/inspect/controller/TaskController.java
@@ -1,9 +1,7 @@
package com.ruoyi.inspect.controller;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.inspect.domain.ArdVideoInspectTask;
import com.ruoyi.inspect.service.IArdVideoInspectTaskService;
import com.ruoyi.inspect.service.impl.InspectionTaskManager;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -13,12 +11,10 @@
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
import java.util.Set;
/**
 * @Description: 巡检任务
 * @Description: 巡检任务controller
 * @ClassName: TaskController
 * @Author: 刘苏义
 * @Date: 2023年06月01日9:19
ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java
@@ -21,6 +21,8 @@
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;
/**
@@ -43,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);
            }
        }
    }
    /**
     * 查询视频巡检任务
     *
@@ -93,8 +109,7 @@
    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);
    }
@@ -334,6 +349,7 @@
                        ardVideoInspectTaskMapper.updateArdVideoInspectTask(avit);
                    } else {
                        cmd.setEnable(false);//停止录像
                        cmd.setUploadMinio(true);
                        hikClientService.recordToMinio(cmd);
                        /*控制失败,当前步骤启动时间置null*/
                        ArdVideoInspectTask avit = new ArdVideoInspectTask();
@@ -377,6 +393,7 @@
                String recordName = cameraId + "/" + time + "/" + uuid + ".mp4";
                cmd.setRecordBucketName("record");
                cmd.setRecordObjectName(recordName);
                cmd.setUploadMinio(true);
                hikClientService.recordToMinio(cmd);
                /*插入巡检记录*/
                ArdVideoInspectRecord ardVideoInspectRecord = new ArdVideoInspectRecord();
ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTask.java
@@ -1,37 +1,12 @@
package com.ruoyi.inspect.service.impl;
import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.spring.SpringUtils;
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.hiksdk.config.MinioClientSingleton;
import com.ruoyi.device.hiksdk.service.IHikClientService;
import com.ruoyi.inspect.domain.ArdVideoInspectRecord;
import com.ruoyi.inspect.domain.ArdVideoInspectTask;
import com.ruoyi.inspect.domain.ArdVideoInspectTaskStep;
import com.ruoyi.inspect.mapper.ArdVideoInspectRecordMapper;
import com.ruoyi.inspect.mapper.ArdVideoInspectTaskMapper;
import com.ruoyi.inspect.service.IArdVideoInspectTaskService;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import org.thymeleaf.spring5.context.SpringContextUtils;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Optional;
import java.util.UUID;
import com.ruoyi.common.utils.spring.SpringUtils;
import lombok.extern.slf4j.Slf4j;
/**
 * @Description:
 * @Description: 巡检任务类
 * @ClassName: InspectionTaskImpl
 * @Author: 刘苏义
 * @Date: 2023年06月01日8:57
@@ -63,13 +38,13 @@
        while (isRunning) {
            // 巡检任务的具体逻辑
            log.debug("巡检任务执行中:" + taskId);
            ArdVideoInspectTaskServiceImpl ardVideoInspectTaskService = SpringUtils.getBean(ArdVideoInspectTaskServiceImpl.class);
            ardVideoInspectTaskService.manualTaskRun(taskId);
            try {
                Thread.sleep(5000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            ArdVideoInspectTaskServiceImpl ardVideoInspectTaskService = SpringUtils.getBean(ArdVideoInspectTaskServiceImpl.class);
            ardVideoInspectTaskService.manualTaskRun(taskId);
        }
    }
ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTaskManager.java
@@ -74,6 +74,7 @@
            cmd.setCameraId(ardVideoInspectTask.getCameraId());
            cmd.setChannelNum(ardVideoInspectTask.getChannel());
            cmd.setEnable(false);//停止录像
            cmd.setUploadMinio(false);
            hikClientService.recordToMinio(cmd);
        }
        InspectionTask task = taskMap.get(taskId);