| | |
| | | throw new CoolException("参数:品号 matnr为空"); |
| | | }else if (Cools.isEmpty(param.getWeight())){ |
| | | throw new CoolException("参数:物料重量 wright为空"); |
| | | }else if (Cools.isEmpty(param.getBatchNum())){ |
| | | throw new CoolException("参数:出库数量 batchNum为空"); |
| | | } |
| | | |
| | | |
| | | ArrayList<LocDetl> locDetlArrayList = new ArrayList<>(); |
| | | List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("matnr", param.getMatnr()).eq("weight", param.getWeight())); |
| | |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (param.getDevNo() == 536){ |
| | | locDetlArrayList = new ArrayList<>(); |
| | | locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("matnr", param.getMatnr()) |
| | | .eq("weight", param.getWeight()) |
| | | .eq("specs", param.getOrderNo()) |
| | | .eq("model", param.getTaskNo())); |
| | | if (locDetls.isEmpty()){ |
| | | locDetls = new ArrayList<LocDetl>(); |
| | | } |
| | | for (LocDetl locDetl:locDetls){ |
| | | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo())); |
| | | if (locMast.getLocSts().equals("F")){ |
| | | locDetlArrayList.add(locDetl); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | if (locDetlArrayList.isEmpty()){ |
| | | throw new CoolException("未找到符合条件的物料明细:品号==》matnr:"+param.getMatnr()+";重量==》wright:"+param.getWeight()+";颜色==》color:"+param.getColor()); |
| | | throw new CoolException("未找到符合条件的物料明细:品号==》matnr:"+param.getMatnr()+";重量==》wright:"+param.getWeight()); |
| | | } |
| | | Integer batchNum = param.getBatchNum(); |
| | | if (locDetlArrayList.size()<batchNum){//上5 |
| | | locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("matnr", param.getMatnr()) |
| | | .eq("specs", param.getOrderNo()) |
| | | .eq("model", param.getTaskNo()) |
| | | .lt("weight", param.getWeight()+5) |
| | | .and() |
| | | .gt("weight", param.getWeight()) |
| | | .orderBy("weight",true)); |
| | | if (locDetls.isEmpty()){ |
| | | locDetls = new ArrayList<LocDetl>(); |
| | | } |
| | | for (LocDetl locDetl:locDetls){ |
| | | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo())); |
| | | if (locMast.getLocSts().equals("F")){ |
| | | locDetlArrayList.add(locDetl); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | if (locDetlArrayList.size()<batchNum){//下5 |
| | | locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("matnr", param.getMatnr()) |
| | | |
| | | .eq("specs", param.getOrderNo()) |
| | | .eq("model", param.getTaskNo()) |
| | | .gt("weight", param.getWeight()-5) |
| | | .and() |
| | | .lt("weight", param.getWeight()) |
| | | .orderBy("weight",false)); |
| | | |
| | | if (locDetls.isEmpty()){ |
| | | locDetls = new ArrayList<LocDetl>(); |
| | | } |
| | | for (LocDetl locDetl:locDetls){ |
| | | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo())); |
| | | if (locMast.getLocSts().equals("F")){ |
| | | locDetlArrayList.add(locDetl); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (locDetlArrayList.size()<batchNum){ |
| | | throw new CoolException("库存数量:"+locDetlArrayList.size()+";小于需求数量:"+param.getBatchNum()); |
| | | } |
| | | for (LocDetl locDetl : locDetlArrayList){ |
| | | if (batchNum <= 0){ |
| | | return; |
| | | } |
| | | StockOutParam stockOutParam = new StockOutParam(param,locDetl); |
| | | workService.startupFullTakeStore(stockOutParam, userId); |
| | | return; |
| | | batchNum --; |
| | | } |
| | | } |
| | | |