#
zjj
2024-03-15 a30c391e7d84ebfad7bda46d5fd86be54a0591d2
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -323,9 +323,18 @@
                                    log.error("输送线命令下方失败!!! [工作号:{}]", taskWrk.getWrkNo());
                                    continue;//命令下发失败
                                }
                                // 复位堆垛机
                                crnThread.setResetFlag(true);
                                if (taskWrk.getIoType() == 1 || taskWrk.getIoType() == 3){
                                    taskWrk.setWrkSts(4);
                                } else if (taskWrk.getIoType() == 2) {
                                    taskWrk.setWrkSts(14);
                                }
                                if (!taskWrkService.updateById(taskWrk)){
                                    log.error(taskWrk.getTaskNo()+ " 堆垛机任务完成,改变任务状态失败");
                                }
                            }
                        }
@@ -793,6 +802,14 @@
                if (commandInfoService.updateById(commandInfo)) {//修改成功后复位堆垛机
                    // 堆垛机复位
                    crnThread.setResetFlag(true);
                    if (taskWrk.getIoType() == 1 || taskWrk.getIoType() == 3){
                        taskWrk.setWrkSts(4);
                    } else if (taskWrk.getIoType() == 2) {
                        taskWrk.setWrkSts(14);
                    }
                    if (!taskWrkService.updateById(taskWrk)){
                        log.error(taskWrk.getTaskNo()+ " 堆垛机任务完成,改变任务状态失败");
                    }
                }
            }
        }
@@ -992,10 +1009,13 @@
            }
            //判断末端命令是否执行完成
            CommandInfo commandInfo = commandInfos.get(commandInfos.size() - 1);
            if (commandInfo.getCommandStatus() != CommandStatusType.COMPLETE.id) {
                continue;//指令未完成
            if (!commandInfos.isEmpty()){
                CommandInfo commandInfo = commandInfos.get(commandInfos.size() - 1);
                if (commandInfo.getCommandStatus() != CommandStatusType.COMPLETE.id) {
                    continue;//指令未完成
                }
            }
            Date now = new Date();
            //指令已完成,更新任务
@@ -1027,6 +1047,29 @@
                locMast.setModiTime(now);
                locMast.setModiUser(9999L);
                locMastService.updateById(locMast);
            } else if (taskWrk.getIoType() == 3) {
                //更新起始库位状态
                LocMast locMastStart = locMastService.selectByLocNo(taskWrk.getStartPoint());
                locMastStart.setLocSts("K");//O.空库位
                locMastStart.setBarcode("");//托盘码
                locMastStart.setModiTime(now);
                locMastStart.setModiUser(9999L);
                locMastService.updateById(locMastStart);
                //更新目标库位状态
                LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
                locMast.setLocSts("Z");//F.在库
                locMast.setBarcode(taskWrk.getBarcode());//托盘码
                locMast.setModiTime(now);
                locMast.setModiUser(9999L);
                locMastService.updateById(locMast);
                taskWrk.setStatus(TaskStatusType.OVER.id);
                taskWrk.setModiTime(now);
                taskWrkService.updateById(taskWrk);
            }
        }
    }