From 9c98d630866b80627ae21ca539a8c3776baa7e73 Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期一, 09 十二月 2024 10:10:35 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 85 ++++++++++++++++++++++++++++++++----------
1 files changed, 65 insertions(+), 20 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 908eb25..b88327a 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
@@ -811,7 +813,7 @@
}
WaitPakin waitPakin = new WaitPakin();
waitPakin.sync(mat);
- waitPakin.setBatch(matList.getBatch()); //鏈ㄧ缂栫爜 //鎵规 鍞竴鍊� 绠卞彿
+ waitPakin.setBatch(matList.getBatch()); //鏈ㄧ缂栫爜 //鎵规 鍞竴鍊� 鎵规
waitPakin.setModel(matList.getModel()); //鍗峰彿 鍞竴鍊�
waitPakin.setBrand(param.getBoxType()); //鏈ㄧ绫诲瀷
waitPakin.setZpallet(param.getBarcode()); //鎵樼洏鐮�
@@ -819,7 +821,7 @@
waitPakin.setWeight(matList.getWeight()); //鍑�閲�
waitPakin.setVolume(matList.getRoughWeight()); //姣涢噸
waitPakin.setPrice(matList.getRollExtent()); //闀垮害
- waitPakin.setSpecs(String.valueOf(matList.getJoint())); //鎺ュご
+ waitPakin.setSpecs(String.valueOf(matList.getJoint())); //鎺ュご MES璁㈠崟鍙�
waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
waitPakin.setAnfme(matList.getAnfme()); // 鏁伴噺
waitPakin.setStatus("Y"); // 鐘舵��
@@ -1076,9 +1078,10 @@
smallContainersJar(param);
} else if (param.getType()==3){//鐩翠緵浜х嚎
smallContainersSta(param);
- } else if (param.getType()==99){//搴撳唴渚涗骇绾� //鍑哄簱 娴嬭瘯
- smallContainersBig99(param);
}
+// else if (param.getType()==99){//搴撳唴渚涗骇绾� //鍑哄簱 娴嬭瘯
+// smallContainersBig99(param);
+// }
} catch (Exception e){
throw new CoolException("澶辫触锛侊紒锛佸師鍥狅細"+e.getMessage());
}
@@ -1150,14 +1153,14 @@
WaitPakin waitPakin = new WaitPakin();
waitPakin.sync(mat);
waitPakin.setBatch(param.getBatch()); //鏈ㄧ缂栫爜 //鎵规 鍞竴鍊� 绠卞彿
- waitPakin.setModel(param.getTaskNo()); //鍗峰彿 鍞竴鍊�
+ 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(param.getOrderNo()); //鍗曞彿 鍊熺敤
+ waitPakin.setSpecs(param.getOrderNo()); //MES璁㈠崟鍙� 鍊熺敤瑙勬牸
// waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
// waitPakin.setAnfme(matList.getAnfme()); // 鏁伴噺
waitPakin.setColor(param.getColor()); // 棰滆壊
@@ -1196,9 +1199,37 @@
throw new CoolException("鍝佸彿 matnr,璇峰厛涓嬪彂鍩虹妗f锛侊紒锛�");
}
if (Cools.isEmpty(mat.getUnits())){
- throw new CoolException("鍝佸彿 matnr,閲嶉噺鑼冨洿鍋忕Щ鍊间负绌猴紒锛侊紒,璇峰厛涓嬪彂鍩虹妗f锛侊紒锛�");
+ 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 +1245,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 +1271,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 +1297,38 @@
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());
+ throw new CoolException("鐢熸垚鍑哄簱浠诲姟澶辫触:"+e.getMessage());
+ }
+
}
public void smallContainersJar(SmallCompleteParam param) {
--
Gitblit v1.9.1