| | |
| | | |
| | | /** |
| | | * 检索库位号 |
| | | * |
| | | * @return locNo 检索到的库位号 |
| | | */ |
| | | public AgvLocMast getLocNo(int type, int floor, boolean isEmpty, boolean isCurrLev) { |
| | |
| | | |
| | | try { |
| | | // 开始查找库位 ==============================>> |
| | | // 四期项目:需要改查找库位逻辑 |
| | | // 箱壳入库 |
| | | // if (type == 3 && factory != null) { |
| | | // //优先入库吸塑1楼,在2楼 |
| | |
| | | // locMast = locUtils.getLocNoRuleByFloor(type, floor, isEmpty, 2); |
| | | // } else { |
| | | // //不动这个逻辑 |
| | | locMast = getLocNoRule(type, floor, isEmpty, isCurrLev); |
| | | if (type == 6) { |
| | | locMast = locUtils.getLocNoRuleByFloor(type, floor); |
| | | } else { |
| | | locMast = getLocNoRule(type, floor, isEmpty, isCurrLev); |
| | | } |
| | | // } |
| | | if (locMast != null) { |
| | | return locMast; |
| | |
| | | throw new CoolException(floor + "楼;该楼层没有空库位"); |
| | | } |
| | | |
| | | /* |
| | | 库位规则查找 |
| | | /** |
| | | * 库位规则查找 |
| | | */ |
| | | public AgvLocMast getLocByLocRule(int type, int floor, String factory) { |
| | | |
| | |
| | | List<AgvLocMast> agvLocMasts = new ArrayList<>(); |
| | | //不是空板优先找2层 |
| | | if (Cools.isEmpty(factory)) { |
| | | wrapper.eq("floor", floor).orderBy("lev1", false); |
| | | wrapper.eq("floor", floor).orderBy("lev1", true); |
| | | } else { |
| | | //B是二厂,G是三厂 |
| | | switch (factory) { |
| | | case "B": |
| | | wrapper.eq("floor", floor).orderBy("lev1", true); |
| | | wrapper.eq("floor", floor).orderBy("lev1", false); |
| | | break; |
| | | case "G": |
| | | wrapper.eq("floor", floor).orderBy("lev1", false); |
| | | wrapper.eq("floor", floor).orderBy("lev1", true); |
| | | break; |
| | | default: |
| | | wrapper.eq("floor", floor).orderBy("lev1", true); |
| | |
| | | } |
| | | } |
| | | throw new CoolException("搜索库位时,未找到可入库库位。"); |
| | | } catch (Exception e) { |
| | | throw new CoolException("搜索库位时,未找到可入库库位。"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 库位规则查找 |
| | | */ |
| | | public AgvLocMast getLocByLocRule(int type, int floor, int lev1) { |
| | | |
| | | try { |
| | | EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>(); |
| | | wrapper.eq("loc_sts", "O").eq("loc_type1", type); |
| | | wrapper.eq("floor", floor).eq("lev1", lev1); |
| | | List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(wrapper); |
| | | for (AgvLocMast agvLocMast : agvLocMasts) { |
| | | AgvLocMast agvLocMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocMast.getLocNo())); |
| | | if (agvLocMast1.getLocSts().equals("O")) { |
| | | return agvLocMast1; |
| | | } |
| | | } |
| | | throw new CoolException("搜索库位时,未找到可入库库位。"); |
| | | } catch (Exception e) { |
| | | throw new CoolException("搜索库位时,未找到可入库库位。"); |
| | | } |
| | | } |
| | | |
| | | /* |
| | | 库位规则查找 |
| | | */ |
| | | public AgvLocMast getLocByFloorAndLev1(int type, int floor, int lev1) { |
| | | |
| | | try { |
| | | EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>(); |
| | | wrapper.eq("loc_sts", "O").eq("loc_type1", type); |
| | | wrapper.eq("floor", floor).eq("lev1", lev1); |
| | | |
| | | List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(wrapper); |
| | | 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; |
| | | } catch (Exception e) { |
| | | throw new CoolException("搜索库位时,未找到可入库库位。"); |
| | | } |
| | |
| | | |
| | | /** |
| | | * 检索库位号 |
| | | * |
| | | * @return locNo 检索到的库位号 |
| | | */ |
| | | public AgvBasDevp getDevpNo(int type, int floor) { |
| | |
| | | |
| | | /** |
| | | * 检索库位号 |
| | | * |
| | | * @return locNo 检索自动接驳位 |
| | | */ |
| | | public AgvBasDevp getDevpNo(int type, int floor, String auto) { |
| | |
| | | |
| | | /** |
| | | * 检索库位号 |
| | | * |
| | | * @return locNo 检索可入接驳位 |
| | | */ |
| | | public AgvBasDevp getDevpNo(int type, int floor, String auto, String inEable) { |