From 00ec18c30882eb7971f621ca4b80e09da8ad227c Mon Sep 17 00:00:00 2001 From: lsh <lsh> Date: 星期一, 29 七月 2024 10:45:29 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java | 3 + src/main/java/com/zy/asrs/entity/param/StockOutParam.java | 20 ++++++++++ src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 69 ++++++++++++++++++++++++++++------ 3 files changed, 79 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/zy/asrs/entity/param/StockOutParam.java b/src/main/java/com/zy/asrs/entity/param/StockOutParam.java index 42d5a88..01f7fe2 100644 --- a/src/main/java/com/zy/asrs/entity/param/StockOutParam.java +++ b/src/main/java/com/zy/asrs/entity/param/StockOutParam.java @@ -79,4 +79,24 @@ this.locDetls = locDetlArrayList; }; + public StockOutParam(SmallCompleteParam param, List<com.zy.asrs.entity.LocDetl> locDetlList){ + this.outSite = param.getDevNo(); + ArrayList<LocDetl> locDetlArrayList = new ArrayList<>(); + + for (com.zy.asrs.entity.LocDetl locDetlSou : locDetlList){ + LocDetl locDetl = new LocDetl(); + locDetl.setMatnr(param.getMatnr()); + locDetl.setBrand(param.getBrand()); + locDetl.setAnfme(1.0); + locDetl.setLocNo(locDetlSou.getLocNo()); + locDetl.setModel(locDetlSou.getModel()); + locDetl.setBatch(locDetlSou.getBatch()); + locDetl.setZpallet(locDetlSou.getZpallet()); + locDetl.setWeight(locDetlSou.getWeight()); + locDetl.setSpecs(locDetlSou.getSpecs()); + locDetlArrayList.add(locDetl); + } + this.locDetls = locDetlArrayList; + }; + } diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java index 908eb25..268106b 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -90,6 +90,8 @@ private BareBoardHandler bareBoardHandler; @Autowired private BasJarMastService basJarMastService; + @Autowired + private BasCrnpService basCrnpService; @Override @Transactional @@ -1199,6 +1201,34 @@ throw new CoolException("鍝佸彿 matnr,閲嶉噺鑼冨洿鍋忕Щ鍊间负绌猴紒锛侊紒,璇峰厛涓嬪彂鍩虹妗f锛侊紒锛�"); } + ArrayList<Integer> crns =new ArrayList<>(); + ArrayList<Integer> crnList =new ArrayList<>(); + + crns.add(1);crns.add(2);crns.add(3);crns.add(4);crns.add(5);crns.add(6);crns.add(7); + + for (Integer crnNo : crns){ + // 妫�娴嬭矾寰� + Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() + .eq("type_no", 101) + .eq("stn_no", param.getDevNo()) + .eq("crn_no", crnNo); + StaDesc staDesc = staDescService.selectOne(wrapper); + if (Cools.isEmpty(staDesc)){ + continue; + } + BasCrnp basCrnp = basCrnpService.selectById(crnNo); + if (basCrnp.getCrnSts()!=3 || !basCrnp.getOutEnable().equals("Y")){ + continue; + } + if (!basCrnpService.checkSiteError(crnNo, false)){ + continue; + } + crnList.add(crnNo); + } + + if (crnList.isEmpty()){ + throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満"); + } ArrayList<LocDetl> locDetlArrayList = new ArrayList<>(); Wrapper<LocDetl> wrapper = new EntityWrapper<LocDetl>().eq("matnr", param.getMatnr()).eq("weight", param.getWeight()); @@ -1214,14 +1244,12 @@ for (LocDetl locDetl:locDetls){ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo())); if (locMast.getLocSts().equals("F")){ - if (locDetlArrayList.size()<param.getBatchNum()) {//涓� - locDetlArrayList.add(locDetl); + if (crnList.contains(locMast.getCrnNo())){ + if (locDetlArrayList.size()<param.getBatchNum()) {//涓� + locDetlArrayList.add(locDetl); + } } } - } - - if (locDetlArrayList.isEmpty()){ - throw new CoolException("鏈壘鍒扮鍚堟潯浠剁殑鐗╂枡鏄庣粏锛氬搧鍙�==銆媘atnr:"+param.getMatnr()+"锛涢噸閲�==銆媤right:"+param.getWeight()); } Integer batchNum = param.getBatchNum(); @@ -1242,8 +1270,10 @@ for (LocDetl locDetl:locDetls){ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo())); if (locMast.getLocSts().equals("F")){ - if (locDetlArrayList.size()<batchNum) {//涓� - locDetlArrayList.add(locDetl); + if (crnList.contains(locMast.getCrnNo())){ + if (locDetlArrayList.size()<batchNum) {//涓� + locDetlArrayList.add(locDetl); + } } } } @@ -1266,24 +1296,37 @@ for (LocDetl locDetl:locDetls){ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo())); if (locMast.getLocSts().equals("F")){ - if (locDetlArrayList.size()<batchNum) {//涓� - locDetlArrayList.add(locDetl); + if (crnList.contains(locMast.getCrnNo())){ + if (locDetlArrayList.size()<batchNum) {//涓� + locDetlArrayList.add(locDetl); + } } } } } - + if (locDetlArrayList.isEmpty()){ + throw new CoolException("鏈壘鍒扮鍚堟潯浠剁殑鐗╂枡鏄庣粏锛氬搧鍙�==銆媘atnr:"+param.getMatnr()+"锛涢噸閲�==銆媤right:"+param.getWeight()); + } if (locDetlArrayList.size()<batchNum){ throw new CoolException("搴撳瓨鏁伴噺:"+locDetlArrayList.size()+"锛涘皬浜庨渶姹傛暟閲�:"+param.getBatchNum()); } + + ArrayList<LocDetl> locDetlArraySou = new ArrayList<>(); + for (LocDetl locDetl : locDetlArrayList){ if (batchNum <= 0){ return; } - StockOutParam stockOutParam = new StockOutParam(param,locDetl); - workService.startupFullTakeStore(stockOutParam, userId); + locDetlArraySou.add(locDetl); batchNum --; } + try{ + StockOutParam stockOutParam = new StockOutParam(param,locDetlArraySou); + workService.startupFullTakeStore(stockOutParam, userId); + } catch (Exception e){ + throw new CoolException("鐢熸垚鍑哄簱浠诲姟澶辫触:鍑哄簱鏁伴噺锛�"+locDetlArraySou.size()); + } + } public void smallContainersJar(SmallCompleteParam param) { diff --git a/src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java b/src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java index dfa3eac..a4e411b 100644 --- a/src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java @@ -200,6 +200,9 @@ if (basCrnp.getCrnSts()!=3 || !basCrnp.getOutEnable().equals("Y")){ continue; } + if (!basCrnpService.checkSiteError(crnNo, false)){ + continue; + } // 鑾峰彇搴撲綅 List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D").eq("crn_no", crnNo).orderBy("lev1",true).orderBy("bay1",true)); for (LocMast locMastS : locMasts){ -- Gitblit v1.9.1