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 | 107 ++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 96 insertions(+), 11 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 9d96633..e7b11bc 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -1141,14 +1141,14 @@
WaitPakin waitPakin = new WaitPakin();
waitPakin.sync(mat);
waitPakin.setBatch(param.getBatch()); //鏈ㄧ缂栫爜 //鎵规 鍞竴鍊� 绠卞彿
-// waitPakin.setModel(matList.getModel()); //鍗峰彿 鍞竴鍊�
+ waitPakin.setModel(param.getTaskNo()); //鍗峰彿 鍞竴鍊�
// waitPakin.setBrand(param.getBoxType()); //鏈ㄧ绫诲瀷
waitPakin.setZpallet(basDevp.getBarcode()); //鎵樼洏鐮�
// waitPakin.setOrigin(matList.getPosition()); //鏈ㄧ鍦ㄦ墭鐩樹笂鐨勪綅缃�
waitPakin.setWeight(param.getWeight()); //鍑�閲�
// waitPakin.setVolume(matList.getRoughWeight()); //姣涢噸
// waitPakin.setPrice(matList.getRollExtent()); //闀垮害
-// waitPakin.setSpecs(String.valueOf(matList.getJoint())); //鎺ュご
+ waitPakin.setSpecs(param.getOrderNo()); //鍗曞彿 鍊熺敤
// waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
// waitPakin.setAnfme(matList.getAnfme()); // 鏁伴噺
waitPakin.setColor(param.getColor()); // 棰滆壊
@@ -1178,19 +1178,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涓虹┖");
}
- List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("matnr", param.getMatnr()).eq("weight", param.getWeight()).eq("color", param.getColor()));
+ 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<>();
+ 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>();
}
- if (locDetls.isEmpty()){
- throw new CoolException("鏈壘鍒扮鍚堟潯浠剁殑鐗╂枡鏄庣粏锛氬搧鍙�==銆媘atnr:"+param.getMatnr()+"锛涢噸閲�==銆媤right:"+param.getWeight()+"锛涢鑹�==銆媍olor:"+param.getColor());
+ 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);
+ }
+ }
}
- for (LocDetl locDetl : locDetls){
+
+ if (locDetlArrayList.isEmpty()){
+ 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 --;
}
}
@@ -1255,15 +1338,15 @@
WaitPakin waitPakin = new WaitPakin();
waitPakin.sync(mat);
-// waitPakin.setBatch(matList.getBatch()); //鏈ㄧ缂栫爜 //鎵规 鍞竴鍊� 绠卞彿
-// waitPakin.setModel(matList.getModel()); //鍗峰彿 鍞竴鍊�
+ waitPakin.setBatch(param.getBatch()); //鏈ㄧ缂栫爜 //鎵规 鍞竴鍊� 绠卞彿
+ waitPakin.setModel(param.getTaskNo()); //鍗峰彿 鍞竴鍊�
// waitPakin.setBrand(param.getBoxType()); //鏈ㄧ绫诲瀷
waitPakin.setZpallet(basDevp.getBarcode()); //鎵樼洏鐮�
// waitPakin.setOrigin(matList.getPosition()); //鏈ㄧ鍦ㄦ墭鐩樹笂鐨勪綅缃�
waitPakin.setWeight(param.getWeight()); //鍑�閲�
// waitPakin.setVolume(matList.getRoughWeight()); //姣涢噸
// waitPakin.setPrice(matList.getRollExtent()); //闀垮害
-// waitPakin.setSpecs(String.valueOf(matList.getJoint())); //鎺ュご
+ waitPakin.setSpecs(param.getOrderNo()); //鍗曞彿 鍊熺敤
// waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
// waitPakin.setAnfme(matList.getAnfme()); // 鏁伴噺
waitPakin.setColor(param.getColor()); // 棰滆壊
@@ -1350,6 +1433,9 @@
wrkDetl.setWrkNo(wrkMast.getWrkNo());
wrkDetl.setIoTime(wrkMast.getIoTime());
wrkDetl.setMatnr(param.getMatnr());
+ wrkDetl.setModel(param.getTaskNo());
+ wrkDetl.setBatch(param.getBatch());
+ wrkDetl.setSpecs(param.getOrderNo());
wrkDetl.setAnfme(1D);
wrkDetl.setWeight(param.getWeight());
wrkDetl.setBarcode(basDevp.getBarcode());
@@ -1359,7 +1445,6 @@
if (!wrkDetlService.insert(wrkDetl)) {
throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触==銆嬪皬鏂欑鐩翠緵浜х嚎浠诲姟鏄庣粏鐢熸垚");
}
-
}
public Integer getStaEnd(Integer staNo){
--
Gitblit v1.9.1