|  |  |  | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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("搜索库位时,未找到可入库库位。"); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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) { | 
|---|