| | |
| | | List<AgvWaitPakin> agvWaitPakinList = agvWaitPakinService.selectList(new EntityWrapper<AgvWaitPakin>().eq("supp_code", agvBasDevp.getBarcode())); |
| | | |
| | | //检索库位,选择合适的库位 |
| | | AgvLocMast agvLocMast = agvCommonService.getLocNo(agvBasDevp.getLocType1(), agvBasDevp.getFloor(), false, false); |
| | | AgvLocMast agvLocMast = agvCommonService.getLocNo(agvBasDevp.getLocType1(), agvBasDevp.getFloor(), false, false,null); |
| | | //生成工作档 |
| | | AgvWrkMast wrkMast = createWrkMast(1, 201L, agvBasDevp.getDevNo(), agvLocMast.getLocNo(), agvBasDevp.getBarcode(), now, userId, agvBasDevp.getLocType2(), agvLocMast.getPltType()); |
| | | //标记是否为输送线入库 |
| | |
| | | * @param factory |
| | | * @return |
| | | */ |
| | | public AgvLocMast getLocNoRuleByFactory(int type, String factory) { |
| | | public AgvLocMast getLocNoRuleByFactory(int type, boolean isEmpty, String factory) { |
| | | if (Cools.isEmpty(factory)) { |
| | | throw new CoolException("搜索库位时,订单类型错误"); |
| | | } |
| | | try { |
| | | EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>(); |
| | | wrapper.eq("loc_sts", "O").eq("loc_type1", type); |
| | | List<AgvLocMast> agvLocMasts = new ArrayList<>(); |
| | | |
| | | if (factory.equalsIgnoreCase(AsrsConstants.ERCHANG)) { |
| | | wrapper.orderBy("lev1", false); |
| | | if (isEmpty) { |
| | | wrapper.orderBy("lev1", true); |
| | | }else { |
| | | wrapper.orderBy("lev1", false); |
| | | } |
| | | } else if (factory.equalsIgnoreCase(AsrsConstants.SANCHANG)) { |
| | | wrapper.orderBy("lev1", true); |
| | | } |
| | | agvLocMasts = agvLocMastService.selectList(wrapper); |
| | | List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(wrapper); |
| | | |
| | | for (AgvLocMast agvLocMast : agvLocMasts) { |
| | | AgvLocMast agvLocMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocMast.getLocNo())); |
| | |
| | | * @param floor |
| | | * @return |
| | | */ |
| | | public AgvLocMast getLocNoRuleByFloor(int type, Integer floor, Integer lev1) { |
| | | public AgvLocMast getLocNoRuleByFloor(int type, Integer floor, boolean isEmpty, Integer lev1) { |
| | | try { |
| | | EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>(); |
| | | wrapper.eq("loc_sts", "O").eq("loc_type1", type).eq("floor", floor).eq("lev1", lev1); |
| | |
| | | // 箱壳入库 |
| | | if (type == 3) { |
| | | //优先入库吸塑1楼,在2楼 |
| | | locMast = locUtils.getLocNoRuleByFactory(type, factory); |
| | | locMast = locUtils.getLocNoRuleByFactory(type,isEmpty ,factory); |
| | | } else if (type == 6) { |
| | | //半成品箱壳入库,入到吸塑2楼的370个库位里 |
| | | locMast = locUtils.getLocNoRuleByFloor(type, floor, 2); |
| | | locMast = locUtils.getLocNoRuleByFloor(type, floor, isEmpty,2); |
| | | } else { |
| | | //不动这个逻辑 |
| | | locMast = getLocNoRule(type, floor, isEmpty, isCurrLev); |