Junjie
3 小时以前 a0b49b0d11220c7fefcbe0ca0e938827c16edae4
#预调度堆垛机2
1个文件已删除
2个文件已修改
425 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/task/InboundCrnMoveDispatchScheduler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/test/java/com/zy/core/utils/CrnOperateProcessUtilsTest.java 397 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/InboundCrnMoveDispatchScheduler.java
@@ -105,7 +105,7 @@
        // 同堆垛机没有需要参与当前调度判断的出库任务时,优先直接到当前入库任务取货位等待。
        if (!hasBlockingOutboundTask(crnNo)) {
            boolean dispatched = crnOperateProcessUtils.dispatchCrnMove(crnNo, inboundPickupLocNo);
            boolean dispatched = crnOperateProcessUtils.dispatchCrnMove(crnNo, inboundPickupLocNo, true);
            if (dispatched) {
                News.info("检测到仅有入库任务,已触发堆垛机直接移动到入库任务取货位等待,工作号={},堆垛机号={},取货位={}",
                        wrkMast.getWrkNo(), crnNo, inboundPickupLocNo);
src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java
@@ -1122,6 +1122,10 @@
    //调度堆垛机移动
    public synchronized boolean dispatchCrnMove(Integer crnNo, String targetLocNo) {
        return dispatchCrnMove(crnNo, targetLocNo, false);
    }
    public synchronized boolean dispatchCrnMove(Integer crnNo, String targetLocNo, boolean allowQueueWhenBusy) {
        if (crnNo == null || Cools.isEmpty(targetLocNo)) {
            return false;
        }
@@ -1156,16 +1160,18 @@
            return false;
        }
        long runningCount = wrkMastService.count(new QueryWrapper<WrkMast>()
                .eq("crn_no", crnNo)
                .in("wrk_sts",
                        WrkStsType.INBOUND_RUN.sts,
                        WrkStsType.OUTBOUND_RUN.sts,
                        WrkStsType.LOC_MOVE_RUN.sts,
                        WrkStsType.CRN_MOVE_RUN.sts));
        if (runningCount > 0) {
            News.info("堆垛机:{} 存在执行中的任务,暂不生成移动任务", crnNo);
            return false;
        if (!allowQueueWhenBusy) {
            long runningCount = wrkMastService.count(new QueryWrapper<WrkMast>()
                    .eq("crn_no", crnNo)
                    .in("wrk_sts",
                            WrkStsType.INBOUND_RUN.sts,
                            WrkStsType.OUTBOUND_RUN.sts,
                            WrkStsType.LOC_MOVE_RUN.sts,
                            WrkStsType.CRN_MOVE_RUN.sts));
            if (runningCount > 0) {
                News.info("堆垛机:{} 存在执行中的任务,暂不生成移动任务", crnNo);
                return false;
            }
        }
        WrkMast activeTask = wrkMastService.getOne(new QueryWrapper<WrkMast>()
src/test/java/com/zy/core/utils/CrnOperateProcessUtilsTest.java
File was deleted