From 1aae6f4bd840a202ee9db3efa3f6776cd10b81f9 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期二, 29 八月 2023 09:09:45 +0800
Subject: [PATCH] #bug修复
---
src/main/java/com/zy/asrs/utils/Utils.java | 98 ++++++++++++++++++++++++++++++++
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 29 ++++++---
2 files changed, 116 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 9380c83..1e42f78 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -167,17 +167,25 @@
for(StockOutParam.LocDetl one : param.getLocDetls()){
locs.add(one.getLocNo());
}
- boolean sign = true;
- for (StockOutParam.LocDetl locDetl : param.getLocDetls()) {
- LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo()));
- //鑾峰彇鍚屼竴搴撲綅缁勭殑澶栦晶搴撲綅鍙�
- List<String> groupOuterSingleLoc = Utils.getGroupOuterSingleLoc(locDetl.getLocNo());
- if (locMast.getLocType2().equals((short)3)){
- groupOuterSingleLoc = Utils.getGroupOuterSingleLocLowFrequency(locDetl.getLocNo());
- }
+ List<StockOutParam.LocDetl> stockOutParamLocDetlSort = Utils.getStockOutParamLocDetlSort(param.getLocDetls());
+ boolean sign = true;
+ List<String> locNoWeighting = new ArrayList<>();
+ for (StockOutParam.LocDetl locDetl : stockOutParamLocDetlSort) {
+ if (Cools.isEmpty(locNoWeighting)){
+ locNoWeighting.add(locDetl.getLocNo());
+ }else {
+ if (!Utils.getLocNoWeighting(locNoWeighting,locDetl.getLocNo())){
+ locNoWeighting.add(locDetl.getLocNo());
+ sign = true;
+ }
+ }
if (sign){
- if (locMast.getLocType2().equals((short)3)) {
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo()));
+ //鑾峰彇鍚屼竴搴撲綅缁勭殑澶栦晶搴撲綅鍙�
+ List<String> groupOuterSingleLoc = Utils.getGroupOuterSingleLoc(locDetl.getLocNo());
+ if (locMast.getLocType2().equals((short)3)){
+ groupOuterSingleLoc = Utils.getGroupOuterSingleLocLowFrequency(locDetl.getLocNo());
sign = false;
}
for (String locNo : groupOuterSingleLoc) {
@@ -1729,8 +1737,7 @@
if (!wrkMastRes || !locMastRes) {
throw new CoolException("淇濆瓨鏁版嵁澶辫触");
}
- WaitPakin waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()));
- waitPakinService.delete(new EntityWrapper<>(waitPakin));
+ waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()));
}
@Override
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 566c0d4..1149736 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -5,7 +5,9 @@
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.core.exception.CoolException;
+import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.entity.param.StockOutParam;
import com.zy.asrs.service.BasCrnpService;
import com.zy.asrs.service.LocMastService;
import com.zy.common.properties.SlaveProperties;
@@ -899,4 +901,100 @@
}
}
+ public static List<String> getLocNosSort(List<String> locNos){
+ List<String> locSort = new ArrayList<>();
+ for (String loc : locNos){
+ if (getIoPri(loc).equals(15.0)){
+ locSort.add(loc);
+ }
+ }
+ for (String loc : locNos){
+ if (getIoPri(loc).equals(17.0)){
+ locSort.add(loc);
+ }
+ }
+ for (String loc : locNos){
+ if (getIoPri(loc).equals(19.0)){
+ locSort.add(loc);
+ }
+ }
+ for (String loc : locNos){
+ if (getIoPri(loc).equals(21.0)){
+ locSort.add(loc);
+ }
+ }
+ return locSort;
+ }
+
+ public static List<StockOutParam.LocDetl> getStockOutParamLocDetlSort(List<StockOutParam.LocDetl> locNos){
+ List<StockOutParam.LocDetl> locSort = new ArrayList<>();
+ for (StockOutParam.LocDetl loc : locNos){
+ if (getIoPri(loc.getLocNo()).equals(15.0)){
+ locSort.add(loc);
+ }
+ }
+ for (StockOutParam.LocDetl loc : locNos){
+ if (getIoPri(loc.getLocNo()).equals(17.0)){
+ locSort.add(loc);
+ }
+ }
+ for (StockOutParam.LocDetl loc : locNos){
+ if (getIoPri(loc.getLocNo()).equals(19.0)){
+ locSort.add(loc);
+ }
+ }
+ for (StockOutParam.LocDetl loc : locNos){
+ if (getIoPri(loc.getLocNo()).equals(21.0)){
+ locSort.add(loc);
+ }
+ }
+ return locSort;
+ }
+
+ public static boolean getLocNoWeighting(List<String> locNos,String locNo){
+ boolean sign=false;
+ for (String loc : locNos){
+ if (getBay(loc)==getBay(locNo) && getLev(loc)==getLev(locNo) && getRowWeighting(loc)==getRowWeighting(locNo)){
+ sign = true;
+ break;
+ }
+ }
+ return sign;
+ }
+
+
+ public static int getRowWeighting(String locNo){
+ switch (Utils.getRow(locNo)){
+ case 1:
+ case 2:
+ case 3:
+ return 123;
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ return 456;
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ return 891011;
+ case 12:
+ case 13:
+ case 14:
+ return 121314;
+ case 15:
+ case 16:
+ case 17:
+ case 18:
+ return 15161718;
+ case 19:
+ case 20:
+ case 21:
+ case 22:
+ default:
+ return 19202122;
+ }
+ }
+
}
--
Gitblit v1.9.1