自动化立体仓库 - WMS系统
1
ZY
2025-03-31 5b6652d8c0a9749e1b04e3d09577768cdf51af80
1
2个文件已修改
66 ■■■■ 已修改文件
src/main/java/com/zy/common/service/AgvCommonService.java 64 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/AgvCommonService.java
@@ -159,6 +159,8 @@
            EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>();
            wrapper.eq("loc_sts", "O").eq("loc_type1", type);
            List<AgvLocMast> agvLocMasts = new ArrayList<>();
            List<AgvLocMast> all1 = new ArrayList<>();
            List<AgvLocMast> all2 = new ArrayList<>();
            //不是空板优先找2层
            if (Cools.isEmpty(factory)) {
                wrapper.eq("floor", floor).orderBy("lev1", true);
@@ -173,28 +175,58 @@
                }
            }
            int num = 20;
            int num2 = 20;
            Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "LOC_3_NUM"));
            Config config2 = configService.selectOne(new EntityWrapper<Config>().eq("code", "LOC_3_NUM2"));
            if (config != null && !Cools.isEmpty(config.getValue())) {
                num = Integer.parseInt(config.getValue());
            }
            if (config2 != null && !Cools.isEmpty(config2.getValue())) {
                num2 = Integer.parseInt(config2.getValue());
            }
            agvLocMasts = agvLocMastService.selectList(wrapper);
            int er = 0;
            for (AgvLocMast agvLocMast : agvLocMasts) {
                if (agvLocMast.getLev1() == 2) {
                    er++;
                    all2.add(agvLocMast);
                } else if (agvLocMast.getLev1() == 1) {
                    all1.add(agvLocMast);
                }
            }
            for (AgvLocMast agvLocMast : agvLocMasts) {
                AgvLocMast agvLocMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocMast.getLocNo()));
                if (agvLocMast1.getLocSts().equals("O")) {
                    if (agvLocMast1.getLev1() == 2) {
                        if (er > num) {
            if (factory != null && factory.equalsIgnoreCase("B")) {
                if (all2.size() > num2) {
                    for (AgvLocMast agvLocMast : all2) {
                        AgvLocMast agvLocMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocMast.getLocNo()));
                        if (agvLocMast1.getLocSts().equals("O")) {
                            return agvLocMast1;
                        }
                    } else {
                        return agvLocMast1;
                    }
                } else if (all1.size() > num) {
                    for (AgvLocMast agvLocMast : all1) {
                        AgvLocMast agvLocMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocMast.getLocNo()));
                        if (agvLocMast1.getLocSts().equals("O")) {
                            return agvLocMast1;
                        }
                    }
                } else {
                    throw new CoolException("搜索库位时,未找到可入库库位。");
                }
            } else {
                if (all1.size() > num) {
                    for (AgvLocMast agvLocMast : all1) {
                        AgvLocMast agvLocMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocMast.getLocNo()));
                        if (agvLocMast1.getLocSts().equals("O")) {
                            return agvLocMast1;
                        }
                    }
                } else if (all2.size() > num2) {
                    for (AgvLocMast agvLocMast : all2) {
                        AgvLocMast agvLocMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocMast.getLocNo()));
                        if (agvLocMast1.getLocSts().equals("O")) {
                            return agvLocMast1;
                        }
                    }
                } else {
                    throw new CoolException("搜索库位时,未找到可入库库位。");
                }
            }
            throw new CoolException("搜索库位时,未找到可入库库位。");
@@ -287,7 +319,17 @@
                }
                int er = agvLocMasts.size();
                if (er < num) {
                    throw new CoolException("搜索库位时,未找到可入库库位。20");
                    throw new CoolException("搜索库位时,未找到可入库库位。2");
                }
            } else if (lev1 == 1) {
                int num = 8;
                Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "LOC_3_NUM2"));
                if (config != null && !Cools.isEmpty(config.getValue())) {
                    num = Integer.parseInt(config.getValue());
                }
                int er = agvLocMasts.size();
                if (er < num) {
                    throw new CoolException("搜索库位时,未找到可入库库位。1");
                }
            }
            for (AgvLocMast agvLocMast : agvLocMasts) {
src/main/resources/application.yml
@@ -1,4 +1,4 @@
spring:
  profiles:
    #dev loc prod
    active: prod
    active: dev