From 59183282a7cfdb6bd0976697681c851baf696265 Mon Sep 17 00:00:00 2001
From: Administrator <56479841@QQ.COM>
Date: 星期五, 30 六月 2023 12:35:20 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 102 ++++++++++++++++++++++++++++++++------------------
1 files changed, 65 insertions(+), 37 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 4123069..4ad0aca 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -166,47 +166,73 @@
for(StockOutParam.LocDetl one : param.getLocDetls()){
locs.add(one.getLocNo());
}
-
- //鍑哄簱鏃讹紝濡傛灉褰撳墠搴撲綅缁勬湁鐩稿悓鐨勭墿鏂欙紝鍒欏厛鍑哄渚х墿鏂�
for (StockOutParam.LocDetl locDetl : param.getLocDetls()) {
- List<String> outerSingleLoc = Utils.getGroupOuterSingleLoc(locDetl.getLocNo());
- outerSingleLoc.add(locDetl.getLocNo());
- boolean flag = false;
- Double useCount = 0D;
- for (String locNo : outerSingleLoc) {
- if(locs.contains(locNo)) continue;
- for (LocDetl locDetl0 : locDetlService.selectByLocNo(locNo)) {
- if (!locDetl0.getMatnr().equals(locDetl.getMatnr())) {
+ //鑾峰彇鍚屼竴搴撲綅缁勭殑澶栦晶搴撲綅鍙�
+ List<String> groupOuterSingleLoc = Utils.getGroupOuterSingleLoc(locDetl.getLocNo());
+ for (String locNo : groupOuterSingleLoc) {
+ //姣忎釜搴撲綅鐨勫簱浣嶆槑缁�
+ for (LocDetl detl : locDetlService.selectByLocNo(locNo)) {
+ if (!detl.getMatnr().equals(locDetl.getMatnr())) {
//涓嶆槸鐩稿悓鐗╂枡
continue;
}
- double lastCount = locDetl.getCount() - useCount;//鍓╀綑鎵�闇�鏁伴噺
- double realCount = 0;//瀹為檯鎻愪緵鏁伴噺
- if (lastCount==0){
- continue;
- }
- if (locDetl0.getAnfme() >= lastCount) {//瀹為檯鏁伴噺澶т簬鎵�闇�鏁伴噺锛屾寜鎵�闇�鏁伴噺鎻愪緵
- realCount = lastCount;
- } else {
- //瀹為檯灏忎簬鎵�闇�鏁伴噺锛屾寜瀹為檯鏁伴噺鎻愪緵
- realCount = locDetl0.getAnfme();
- }
- useCount += realCount;//宸蹭娇鐢ㄧ殑鏁伴噺
-
- locDetls.add(new StockOutParam.LocDetl(locDetl0.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(), realCount));
- flag = true;
- if (useCount >= locDetl.getCount()) {
- //鎵惧埌鐨勫簱瀛� >= 鎵�闇�搴撳瓨锛屾弧瓒虫潯浠�
- break;
- }
+ locDetls.add(new StockOutParam.LocDetl(detl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(), detl.getAnfme()));
}
- }
- if (!flag) {
- locDetls.add(locDetl);
}
-
+ locDetls.add(locDetl);
}
+ //鍑哄簱鏃讹紝濡傛灉褰撳墠搴撲綅缁勬湁鐩稿悓鐨勭墿鏂欙紝鍒欏厛鍑哄渚х墿鏂� 6.30鏃� 娉ㄩ噴
+ //for (StockOutParam.LocDetl locDetl : param.getLocDetls()) {
+ // List<String> outerSingleLoc = Utils.getGroupOuterSingleLoc(locDetl.getLocNo());
+ // boolean flag = false;
+ // Double useCount = 0D;
+ // for (String locNo : outerSingleLoc) {
+ // if(locs.contains(locNo)) continue;
+ // for (LocDetl locDetl0 : locDetlService.selectByLocNo(locNo)) {
+ // if (!locDetl0.getMatnr().equals(locDetl.getMatnr())) {
+ // //涓嶆槸鐩稿悓鐗╂枡
+ // continue;
+ // }
+ // double lastCount = locDetl.getCount() - useCount;//鍓╀綑鎵�闇�鏁伴噺
+ // double realCount = 0;//瀹為檯鎻愪緵鏁伴噺
+ // if (lastCount==0){
+ // continue;
+ // }
+ // if (locDetl0.getAnfme() >= lastCount) {//瀹為檯鏁伴噺澶т簬鎵�闇�鏁伴噺锛屾寜鎵�闇�鏁伴噺鎻愪緵
+ // realCount = lastCount;
+ // } else {
+ // //瀹為檯灏忎簬鎵�闇�鏁伴噺锛屾寜瀹為檯鏁伴噺鎻愪緵
+ // realCount = locDetl0.getAnfme();
+ // }
+ // useCount += realCount;//宸蹭娇鐢ㄧ殑鏁伴噺
+ //
+ // locDetls.add(new StockOutParam.LocDetl(locDetl0.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(), realCount));
+ // flag = true;
+ // if (useCount >= locDetl.getCount()) {
+ // //鎵惧埌鐨勫簱瀛� >= 鎵�闇�搴撳瓨锛屾弧瓒虫潯浠�
+ // break;
+ // }
+ // }
+ // }
+ //
+ // if (!flag) {
+ // locDetls.add(locDetl);
+ // }
+ //
+ //}
+
+ // TODO: 2023/6/28 绛夋潕钖囩‘璁ゆ槸鍚︿娇鐢�
+ // ----------------------------------------------
+ //for(StockOutParam.LocDetl one : param.getLocDetls()){
+ // List<String> outerSingleLoc = Utils.getGroupOuterSingleLoc(one.getLocNo());
+ // for (String s : outerSingleLoc) {
+ // if (!locs.contains(s)) {
+ // throw new CoolException("娴呭簱浣嶆湁鐩稿悓鐗╂枡涓嶆敮鎸佸嚭搴�");
+ // }
+ // }
+ //}
+ // ----------------------------------------------
// ArrayList<String> locNos = new ArrayList<>();
// for (StockOutParam.LocDetl locDetl:param.getLocDetls()){
@@ -473,7 +499,9 @@
if (!locMast.getLocSts().equals("F")) {
continue;
}
-
+ //if (locMast.getLocSts().equals("F")) {
+ // throw new CoolException("娴呭簱浣嶅湪搴撲笉鏀寔姝や换鍔�");
+ //}
boolean flag = false;
for (LocDetl locDetl : locDetlService.selectByLocNo(locMast.getLocNo())) {
if (!locDetl.getMatnr().equals(matnr)) {
@@ -983,9 +1011,9 @@
@Override
@Transactional
public void locCheckOut(StockOutParam param, Long userId) {
- // if (wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 107)) > 0) {
- // throw new CoolException("鍙兘瀛樺湪涓�绗旂洏鐐逛换鍔�");
- // }
+ if (wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 107)) > 0) {
+ throw new CoolException("鍙兘瀛樺湪涓�绗旂洏鐐逛换鍔�");
+ }
// 鐩爣绔欑偣鐘舵�佹娴�
BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
// 鑾峰彇搴撲綅鏄庣粏
--
Gitblit v1.9.1