自动化立体仓库 - WMS系统
#
yxFwq
2024-11-19 5ba95365901694a29907607dc45330f6f1f94a89
#
3个文件已修改
52 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/WrkMast.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/WrkMastCrnScheduler.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/WrkMast.java
@@ -533,5 +533,24 @@
    }
    public Integer getStaNoSign(){
        if (this.staNo == null){
            return 0;
        } else {
            switch (this.staNo){
                case 310:
                    return 1;
                case 312:
                    return 2;
                case 126:
                    return 1;
                case 131:
                    return 2;
            }
        }
        return 0;
    }
}
src/main/java/com/zy/asrs/task/WrkMastCrnScheduler.java
@@ -25,6 +25,7 @@
public class WrkMastCrnScheduler {
    private static final Logger log = LoggerFactory.getLogger(WorkMastScheduler.class);
    private static  Integer signSmallTurn = 0;
    @Autowired
    private WrkMastCrnHandler wrkMastCrnHandler;
@@ -103,6 +104,9 @@
                        .eq("source_sta_no", staNo).eq("wrk_sts", 11L)
                        .orderBy("io_pri",false));
                for (WrkMast wrkMast:wrkMasts){
                    if (wrkMast.getStaNoSign().equals(signSmallTurn)){
                        continue;
                    }
                    if (wrkMast.getIoType()==101){
                        BasDevp basDevp = basDevpService.selectById(119);
                        if (basDevp.getLoading().equals("Y")
@@ -114,6 +118,13 @@
                        if (loadIngCount>8){
                            continue;
                        }
                        RgvOneSign smallTurn = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","smallTurn"));
                        if (Cools.isEmpty(smallTurn)){
                            continue;
                        }
                        if (smallTurn.getRgvOneSign()>15){
                            continue;
                        }
                    }
                    try{
                        int row = Utils.getRow(wrkMast.getSourceLocNo());
@@ -122,6 +133,10 @@
                            if (Cools.isEmpty(wrkMastCrn)){
                                ReturnT<String> result = wrkMastCrnHandler.start(wrkMast);
                                if (result.isSuccess()) {
                                    signSmallTurn++;
                                    if (signSmallTurn > 2){
                                        signSmallTurn = 0;
                                    }
                                    break;
                                }
                            }
@@ -130,6 +145,12 @@
                        log.error("左右双工位堆垛机执行任务生成====》出库任务生成异常:"+e.getMessage());
                    }
                }
                if (!wrkMasts.isEmpty()){
                    signSmallTurn++;
                    if (signSmallTurn > 2){
                        signSmallTurn = 0;
                    }
                }
            }
        }
    }
src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java
@@ -24,6 +24,7 @@
public class WrkMastSplitTwinInItScheduler {
    private static final Logger log = LoggerFactory.getLogger(WorkMastScheduler.class);
    private static  Integer signBigTurn = 0;
    @Autowired
    private WrkMastSplitTwinInItHandler wrkMastSplitTwinInItHandler;
@@ -110,6 +111,9 @@
                                        break;
                                    }else {
                                        for (WrkMast wrkMast:wrkMasts){
                                            if (wrkMast.getStaNoSign().equals(signBigTurn)){
                                                continue;
                                            }
                                            if (wrkMast.getStaNo()>309){
                                                int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 110).gt("sta_no", 309).lt("sta_no", 314).gt("wrk_sts",11L));
                                                if (wrkCount>=12){
@@ -130,8 +134,16 @@
                                                }
                                            }
                                            wrkMastSplitTwinInItHandler.start(wrkMastSplitTwin,wrkMast,2);
                                            signBigTurn++;
                                            if (signBigTurn > 2){
                                                signBigTurn = 0;
                                            }
                                            break;
                                        }
                                        signBigTurn++;
                                        if (signBigTurn > 2){
                                            signBigTurn = 0;
                                        }
                                        break;
                                    }
                                }