From a7c9e410db03f9ffd6eb8ccda9b295844302fe32 Mon Sep 17 00:00:00 2001 From: lsh <lsh> Date: 星期四, 25 七月 2024 16:08:25 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 120 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 114 insertions(+), 6 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 25784b6..8d470ee 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -14,6 +14,7 @@ import com.zy.asrs.mapper.TagMapper; import com.zy.asrs.service.*; import com.zy.asrs.task.core.ReturnT; +import com.zy.asrs.task.handler.BareBoardHandler; import com.zy.asrs.utils.CodeDetectionUtil; import com.zy.asrs.utils.MatUtils; import com.zy.asrs.utils.PostMesDataUtils; @@ -83,6 +84,8 @@ private LocMastService locMastService; @Autowired private WorkService workService; + @Autowired + private BareBoardHandler bareBoardHandler; @Override @Transactional @@ -1069,6 +1072,8 @@ smallContainersJar(param); } else if (param.getType()==3){//鐩翠緵浜х嚎 smallContainersSta(param); + } else if (param.getType()==99){//搴撳唴渚涗骇绾� //鍑哄簱 娴嬭瘯 + smallContainersBig99(param); } } catch (Exception e){ throw new CoolException("澶辫触锛侊紒锛佸師鍥狅細"+e.getMessage()); @@ -1178,27 +1183,102 @@ throw new CoolException("鍙傛暟锛氬搧鍙� matnr涓虹┖"); }else if (Cools.isEmpty(param.getWeight())){ throw new CoolException("鍙傛暟锛氱墿鏂欓噸閲� wright涓虹┖"); + }else if (Cools.isEmpty(param.getBatchNum())){ + 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 (locDetlArrayList.size()<param.getBatchNum()) {//涓� + locDetlArrayList.add(locDetl); + } } } + if (locDetlArrayList.isEmpty()){ - throw new CoolException("鏈壘鍒扮鍚堟潯浠剁殑鐗╂枡鏄庣粏锛氬搧鍙�==銆媘atnr:"+param.getMatnr()+"锛涢噸閲�==銆媤right:"+param.getWeight()+"锛涢鑹�==銆媍olor:"+param.getColor()); + throw new CoolException("鏈壘鍒扮鍚堟潯浠剁殑鐗╂枡鏄庣粏锛氬搧鍙�==銆媘atnr:"+param.getMatnr()+"锛涢噸閲�==銆媤right:"+param.getWeight()); + } + + Integer batchNum = param.getBatchNum(); + 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); + 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")){ + if (locDetlArrayList.size()<batchNum) {//涓� + locDetlArrayList.add(locDetl); + } + } + } + } + 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); + 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")){ + if (locDetlArrayList.size()<batchNum) {//涓� + locDetlArrayList.add(locDetl); + } + } + } + } + + 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 --; } } @@ -1370,7 +1450,6 @@ if (!wrkDetlService.insert(wrkDetl)) { throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触==銆嬪皬鏂欑鐩翠緵浜х嚎浠诲姟鏄庣粏鐢熸垚"); } - } public Integer getStaEnd(Integer staNo){ @@ -1386,5 +1465,34 @@ } } + /* + * 鍑哄簱 + * 鐩翠緵浜х嚎 + * */ + public void smallContainersBig99(SmallCompleteParam param) {//鐩翠緵浜х嚎//鍑哄簱 + Long userId = 7777L;//mes + //鍒ゆ柇param鍙傛暟 + if (Cools.isEmpty(param.getType())){ + throw new CoolException("鍙傛暟锛氱被鍨� type涓虹┖"); +// }else if (Cools.isEmpty(param.getStaNo())){ +// throw new CoolException("鍙傛暟锛氭姇鏂欑偣浣� staNo涓虹┖"); + }else if (Cools.isEmpty(param.getDevNo())){ + throw new CoolException("鍙傛暟锛氫骇绾跨偣浣� devNo涓虹┖"); + }else if (Cools.isEmpty(param.getMatnr())){ + throw new CoolException("鍙傛暟锛氬搧鍙� matnr涓虹┖"); + }else if (Cools.isEmpty(param.getWeight())){ + throw new CoolException("鍙傛暟锛氱墿鏂欓噸閲� wright涓虹┖"); + }else if (Cools.isEmpty(param.getBatchNum())){ + throw new CoolException("鍙傛暟锛氬嚭搴撴暟閲� batchNum涓虹┖"); + } + Integer devNo = param.getDevNo(); + Integer batchNum = param.getBatchNum(); + + + for (int i =0;i<batchNum;i++){ + bareBoardHandler.startYx(devNo,99); + } + } + /*...........................浜冲窞鐓滄槦..............浠ヤ笂.............浜冲窞鐓滄槦...........................*/ } -- Gitblit v1.9.1