自动化立体仓库 - WMS系统
zhangc
2025-03-02 e2ed35c5dbda6ff80fddf5f0ae1fe39ad407fb6b
四期
4个文件已修改
36 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/AgvLocDetlController.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/AutoMoveScheduler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/AgvCommonService.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/AgvLocDetlController.java
@@ -145,13 +145,23 @@
//                        .eq("matnr", record.getMatnr())
//                        .in("source", docIds));
//            } else {
            OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>()
            List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>()
                    .eq("three_code", record.getThreeCode())
                    .eq("matnr", record.getMatnr())
                    .in("source", docIds)
                    .orderBy("qty", false)
                    .orderBy("qty", true)
                    .orderBy("anfme", false)
                    .orderBy("create_time", true));
            OrderDetl orderDetl = null;
            if (!orderDetls.isEmpty()) {
                for (OrderDetl o : orderDetls) {
                    if (o.getAnfme() - o.getQty() > 0) {
                        orderDetl = o;
                        break;
                    }
                }
            }
            //   }
//            if (orderDetl.getAnfme() - orderDetl.getQty() > 0) {
//                record.setStock(orderDetl.getAnfme() - orderDetl.getQty());
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -580,7 +580,7 @@
                }
            } else {
                if (station.endsWith("F4") && locType == 3) {
                    agvLocMast = agvCommonService.getLocNo(locType, 1, false, false);
                    agvLocMast = agvCommonService.getLocNoOnXiSuer(locType, 1);
                } else {
                    List<AgvWrkMast> agvWrkMasts = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().like("loc_no", "02F1").like("source_loc_no", "F1"));
                    if (Integer.parseInt(config.getValue()) <= agvWrkMasts.size()) {
src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
@@ -224,7 +224,7 @@
        for (AgvLocMast agvLocMast : agvLocMasts) {
            if (agvLocMast.getLocNo().contains("F4")) {
            if (agvLocMast.getLocNo().contains("02F1")) {
                Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "RETURN_3_TIME"));
                boolean flag = false;
                if (config != null && !Cools.isEmpty(config.getValue())) {
src/main/java/com/zy/common/service/AgvCommonService.java
@@ -303,6 +303,24 @@
        throw new CoolException("搜索库位时,楼层出错。");
    }
    public AgvLocMast getLocNoOnXiSuer(int type, int floor) {
        EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>();
        wrapper.eq("loc_sts", "O").eq("loc_type1", type);
        wrapper.eq("floor", floor).orderBy("lev1", false);
        List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(wrapper);
        if (Cools.isEmpty(agvLocMasts)) {
            return null;
        } else {
            for (AgvLocMast agvLocMast : agvLocMasts) {
                AgvLocMast agvLocMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocMast.getLocNo()));
                if (agvLocMast1.getLocSts().equals("O")) {
                    return agvLocMast1;
                }
            }
        }
        return null;
    }
    //随机取一个货位
    private AgvLocMast getLocNoRule(int type, int floor, boolean isEmpty, boolean isCurrLev) {