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