‘liusuyi’
2023-06-01 113cf98d7d26460363d7ef13990623a775c636a2
ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java
@@ -163,25 +163,21 @@
     * 手动巡检任务
     */
    @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;
            }
            videoInspectTask.setArdVideoInspectTaskStepList(ardVideoInspectTaskStepList);
            String currentStepId = videoInspectTask.getCurrentStepId();
            if (StringUtils.isNull(currentStepId)) {
                videoInspectTask.setCurrentStepId(ardVideoInspectTaskStepList.get(0).getId());
                startRunStep(videoInspectTask);//开始当前任务的第一个步骤
        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);
            }
            } else /*当前任务已经执行,判断是否到期*/ {
                if (StringUtils.isNull(videoInspectTask.getCurrentStepStartTime())) {
            if (StringUtils.isNull(currentStepStartTime)||StringUtils.isEmpty(currentStepStartTime)) {
                    //当前任务启动时间为null,则说明当前步骤被中断,直接启动当前步骤
                    startRunStep(videoInspectTask);
                } else {
@@ -194,7 +190,6 @@
                        //开始下一步骤
                        videoInspectTask.setCurrentStepId(nextStepId);
                        startRunStep(videoInspectTask);
                    }
                }
            }
        }
@@ -244,6 +239,7 @@
            }
        }
    }
    @Override
    public void taskRun() {
        /*扫描所有可执行任务1-时间满足2-自动*/
@@ -346,7 +342,7 @@
                        ArdVideoInspectTask avit = new ArdVideoInspectTask();
                        avit.setId(ardVideoInspectTask.getId());
                        avit.setCurrentStepId(step.getId());
                        avit.setCurrentStepStartTime(null);
                        avit.setCurrentStepStartTime("");
                        ardVideoInspectTaskMapper.updateArdVideoInspectTask(avit);
                    }
                }