From b9bf1e17c9626aa618ee6c28a7764132a57b915f Mon Sep 17 00:00:00 2001 From: lsh <1> Date: 星期一, 15 七月 2024 15:12:32 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 79 +++++++++++++++++++++------------------ 1 files changed, 42 insertions(+), 37 deletions(-) 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 bee58b2..e7b11bc 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -1182,69 +1182,74 @@ throw new CoolException("鍙傛暟锛氬嚭搴撴暟閲� batchNum涓虹┖"); } + Mat mat = matService.selectByMatnr(param.getMatnr()); + if (Cools.isEmpty(mat)){ + throw new CoolException("鍝佸彿 matnr,璇峰厛涓嬪彂鍩虹妗f锛侊紒锛�"); + } + if (Cools.isEmpty(mat.getUnits())){ + throw new CoolException("鍝佸彿 matnr,閲嶉噺鑼冨洿鍋忕Щ鍊间负绌猴紒锛侊紒,璇峰厛涓嬪彂鍩虹妗f锛侊紒锛�"); + } + ArrayList<LocDetl> locDetlArrayList = new ArrayList<>(); - List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("matnr", param.getMatnr()).eq("weight", param.getWeight())); + Wrapper<LocDetl> wrapper = new EntityWrapper<LocDetl>().eq("matnr", param.getMatnr()).eq("weight", param.getWeight()); + if (param.getDevNo() == 536) { + wrapper.eq("model", param.getModel()) + .eq("specs", param.getOrderNo()); + } + + List<LocDetl> locDetls = locDetlService.selectList(wrapper); 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 (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")){ + if (locDetlArrayList.size()<param.getBatchNum()) {//涓� locDetlArrayList.add(locDetl); - break; } } } + if (locDetlArrayList.isEmpty()){ throw new CoolException("鏈壘鍒扮鍚堟潯浠剁殑鐗╂枡鏄庣粏锛氬搧鍙�==銆媘atnr:"+param.getMatnr()+"锛涢噸閲�==銆媤right:"+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) + if (locDetlArrayList.size()<batchNum){//涓� + Wrapper<LocDetl> locDetlWrapper = new EntityWrapper<LocDetl>().eq("matnr", param.getMatnr()) + .lt("weight", param.getWeight() + mat.getUnits()) .and() .gt("weight", param.getWeight()) - .orderBy("weight",true)); + .orderBy("weight", true); + if (param.getDevNo() == 536){ + locDetlWrapper.eq("model", param.getModel()) + .eq("specs", param.getOrderNo()); + } + locDetls = locDetlService.selectList(locDetlWrapper); 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) {//涓� + locDetlArrayList.add(locDetl); + } } } } - 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) + if (locDetlArrayList.size()<batchNum){//涓� + Wrapper<LocDetl> locDetlWrapper = new EntityWrapper<LocDetl>().eq("matnr", param.getMatnr()) + .gt("weight", param.getWeight() - mat.getUnits()) .and() .lt("weight", param.getWeight()) - .orderBy("weight",false)); + .orderBy("weight", false); + if (param.getDevNo() == 536){ + locDetlWrapper.eq("model", param.getModel()) + .eq("specs", param.getOrderNo()); + } + locDetls = locDetlService.selectList(locDetlWrapper); if (locDetls.isEmpty()){ locDetls = new ArrayList<LocDetl>(); @@ -1252,8 +1257,9 @@ 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) {//涓� + locDetlArrayList.add(locDetl); + } } } } @@ -1439,7 +1445,6 @@ if (!wrkDetlService.insert(wrkDetl)) { throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触==銆嬪皬鏂欑鐩翠緵浜х嚎浠诲姟鏄庣粏鐢熸垚"); } - } public Integer getStaEnd(Integer staNo){ -- Gitblit v1.9.1