#
zjj
2024-05-23 fe6e066b0970ed6c1dd23aa17fa65f16edbf513c
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -357,6 +357,8 @@
                                } else if (taskWrk.getIoType() == 2) {
                                    taskWrk.setWrkSts(14);
                                }
                                Date now = new Date();
                                taskWrk.setCompleteTime(now);
                                if (!taskWrkService.updateById(taskWrk)){
                                    log.error(taskWrk.getTaskNo()+ " 堆垛机任务完成,改变任务状态失败");
                                }
@@ -464,6 +466,7 @@
                log.error("进入修改工作档流程");
                Date now = new Date();
                taskWrk.setWrkSts(3);
                taskWrk.setExecuteTime(now);
                taskWrk.setModiTime(now);
                if (taskWrkMapper.updateById(taskWrk) == 0) {
                    log.error("修改工作档状态 2.设备上走 => 3.吊车入库中 失败!!,工作号={}", taskWrk.getWrkNo());
@@ -642,6 +645,7 @@
                            // 修改工作档状态 11.生成出库ID => 12.吊车出库中
                            Date now = new Date();
                            taskWrk.setWrkSts(12);
                            taskWrk.setExecuteTime(now);
                            taskWrk.setModiTime(now);
                            if (taskWrkMapper.updateById(taskWrk) == 0) {
                                log.error("修改工作档状态 11.生成出库ID => 12.吊车出库中 失败!!,工作号={}", taskWrk.getWrkNo());
@@ -833,6 +837,8 @@
                    } else if (taskWrk.getIoType() == 2) {
                        taskWrk.setWrkSts(14);
                    }
                    Date now = new Date();
                    taskWrk.setCompleteTime(now);
                    if (!taskWrkService.updateById(taskWrk)){
                        log.error(taskWrk.getTaskNo()+ " 堆垛机任务完成,改变任务状态失败");
                    }
@@ -1028,24 +1034,24 @@
    public synchronized void autoCompleteTask() {
        List<TaskWrk> taskWrks = taskWrkMapper.selectWorkingTask();
        for (TaskWrk taskWrk : taskWrks) {
            //获取命令集合
            List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskWrk.getTaskNo());
            if (taskWrk.getCommandStep() < commandInfos.size()) {
                continue;//当前步序没有到达最后一条命令
            }
            //判断末端命令是否执行完成
            if (!commandInfos.isEmpty()){
                CommandInfo commandInfo = commandInfos.get(commandInfos.size() - 1);
                if (commandInfo.getCommandStatus() != CommandStatusType.COMPLETE.id) {
                    continue;//指令未完成
                }
            }
//            //获取命令集合
//            List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskWrk.getTaskNo());
//            if (taskWrk.getCommandStep() < commandInfos.size()) {
//                continue;//当前步序没有到达最后一条命令
//            }
//
//            //判断末端命令是否执行完成
//            if (!commandInfos.isEmpty()){
//                CommandInfo commandInfo = commandInfos.get(commandInfos.size() - 1);
//                if (commandInfo.getCommandStatus() != CommandStatusType.COMPLETE.id) {
//                    continue;//指令未完成
//                }
//            }
            Date now = new Date();
            //指令已完成,更新任务
            if (taskWrk.getIoType() == 1) {
            if (taskWrk.getIoType() == 1 && taskWrk.getWrkSts() == 5) {
                //入库任务
//                taskWrk.setWrkSts(4);//3.吊车入库中 => 4.入库完成
                taskWrk.setStatus(TaskStatusType.OVER.id);
@@ -1059,7 +1065,7 @@
                locMast.setModiTime(now);
                locMast.setModiUser(9999L);
                locMastService.updateById(locMast);
            } else if (taskWrk.getIoType() == 2) {
            } else if (taskWrk.getIoType() == 2 && taskWrk.getWrkSts() == 15) {
                //出库任务
//                taskWrk.setWrkSts(14);//12.吊车出库中 => 14.出库完成
                taskWrk.setStatus(TaskStatusType.OVER.id);
@@ -1073,7 +1079,7 @@
                locMast.setModiTime(now);
                locMast.setModiUser(9999L);
                locMastService.updateById(locMast);
            } else if (taskWrk.getIoType() == 3) {
            } else if (taskWrk.getIoType() == 3 && taskWrk.getWrkSts() == 5) {
                //更新起始库位状态
                LocMast locMastStart = locMastService.selectByLocNo(taskWrk.getStartPoint());