自动化立体仓库 - WMS系统
#
LSH
2024-06-21 40450630b3e76a7c8ae8625cb89c8f10499e3ff2
#
1个文件已修改
33 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java
@@ -138,7 +138,7 @@
            try {
                BasCrnp basCrnp = basCrnpService.selectById(crnNo);
                if (!Cools.isEmpty(basCrnp)) {
                    if (basCrnp.getWrkNo() == 0 && basCrnp.getCrnSts() != 3) {
                    if (basCrnp.getWrkNo() != 0 || basCrnp.getWrkNoTwo()!=0 || basCrnp.getCrnSts() != 3) {
                        continue;
                    }
                    if (basCrnp.getCrnStatusOne() == 20 && basCrnp.getCrnStatusTwo() == 20) {//堆垛机工位1有物待作业  工位2有物待作业
@@ -176,4 +176,35 @@
        }
    }
    @Scheduled(cron = "0/3 * * * * ? ")
    private void executeThree() {
        for (Integer crnNo : SplitTwin_CRN_NO) {
            try {
                BasCrnp basCrnp = basCrnpService.selectById(crnNo);
                if (!Cools.isEmpty(basCrnp)) {
                    if (basCrnp.getWrkNo() != 0 || basCrnp.getWrkNoTwo()!=0 || basCrnp.getCrnSts() != 3) {
                        continue;
                    }
                    if (basCrnp.getCrnStatusOne() == 0 && basCrnp.getCrnStatusTwo() == 20) {//堆垛机工位1空闲 工位2有物待作业
                        List<WrkMastSplitTwin> wrkMastSplitTwinListTwo = wrkMastSplitTwinService.getWrkMastSplitTwinNoComplete(crnNo, 2, null, null, 4);
                        if (wrkMastSplitTwinListTwo.isEmpty()){
                            continue;
                        }
                        if (wrkMastSplitTwinListTwo.size() > 1){
                            log.error("前后双工位拆分堆垛机执行作业生成,堆垛机号={},异常信息={},工位号={}",crnNo,"不存在或者存在多笔可执行作业,请维护执行作业!!!",2);
                            continue;
                        }
                        WrkMastSplitTwin wrkMastSplitTwinTwo = wrkMastSplitTwinListTwo.get(0);
                        if (wrkMastSplitTwinTwo.getWrkType()!=1 || wrkMastSplitTwinTwo.getWrkSts()!=2){//工作类型 0: 未知  1: 取  2: 放  3: 取放  4: 完成   //工作状态 0: 初始  1: 等待取货完成  2: 取货完成待作业  3: 等待放货完成  4: 完成
                            continue;
                        }
                        wrkMastSplitTwinInItHandler.start(wrkMastSplitTwinTwo);
                    }
                }
            } catch (Exception e) {
                log.error("前后双工位拆分堆垛机执行作业生成失败,堆垛机号={},异常原因={}", crnNo, e.getMessage());
            }
        }
    }
}