From 8e96f095b0ffa0c5a2bb272a3e3529c72fded4df Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期二, 20 二月 2024 11:09:47 +0800
Subject: [PATCH] #库存迁移逻辑修改,从工作明细档进行处理
---
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 60 +++++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 47 insertions(+), 13 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index 46beecb..84350bd 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
+import com.core.exception.CoolException;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.entity.WrkDetl;
@@ -137,20 +138,37 @@
}
log.info("宸ヤ綔鍙凤細" + wrkMast.getWrkNo() + "锛屾墭鐩樼爜锛�" + wrkMast.getBarcode() + "锛屽伐浣滄。鏄庣粏鍒楄〃锛�" + JSON.toJSONString(wrkDetls53));
for (WrkDetl wrkDetl : wrkDetls53) {
-
- LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getSuppCode());
- if (null != locDetl) {
- log.info("宸ヤ綔鍙凤細" + wrkMast.getWrkNo() + "锛屾墭鐩樼爜锛�" + wrkMast.getBarcode() + "锛屽伐浣滄。鏄庣粏锛�" + JSON.toJSONString(wrkDetl) + "锛屽簱瀛樻槑缁嗭細" + JSON.toJSONString(locDetl));
- if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(),
- locMast.getLocNo(),
- wrkDetl.getMatnr(),
- wrkDetl.getBatch(),
- wrkDetl.getSuppCode(),
- wrkDetl.getThreeCode(),
- wrkDetl.getDeadTime())) {
- exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
- }
+ double anfme = wrkDetl.getStock() - wrkDetl.getAnfme();
+ if (anfme <= 0) {//搴撳瓨 - 浣滀笟鏁伴噺 <= 0 娓呮帀璇ユ暟鎹�
+ continue;
}
+
+ LocDetl locDetl = new LocDetl();
+ locDetl.sync(wrkDetl);
+ locDetl.setLocNo(wrkMast.getLocNo());
+ locDetl.setAnfme(anfme);
+ locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
+ locDetl.setAppeTime(now);
+ locDetl.setAppeUser(9527L);
+ locDetl.setModiTime(now);
+ locDetl.setModiUser(9527L);
+ if (!locDetlService.insert(locDetl)) {
+ exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
+ }
+
+// LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getSuppCode());
+// if (null != locDetl) {
+// log.info("宸ヤ綔鍙凤細" + wrkMast.getWrkNo() + "锛屾墭鐩樼爜锛�" + wrkMast.getBarcode() + "锛屽伐浣滄。鏄庣粏锛�" + JSON.toJSONString(wrkDetl) + "锛屽簱瀛樻槑缁嗭細" + JSON.toJSONString(locDetl));
+// if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(),
+// locMast.getLocNo(),
+// wrkDetl.getMatnr(),
+// wrkDetl.getBatch(),
+// wrkDetl.getSuppCode(),
+// wrkDetl.getThreeCode(),
+// wrkDetl.getDeadTime())) {
+// exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
+// }
+// }
}
// 淇敼搴撲綅鐘舵�� Q ====>> F
if (locMast.getLocSts().equals("Q")) {
@@ -165,6 +183,20 @@
List<LocDetl> locDetls1 = locDetlService.selectByLocNo(locMast.getLocNo());
log.info("宸ヤ綔鍙凤細" + wrkMast.getWrkNo() + "锛屾墭鐩樼爜锛�" + wrkMast.getBarcode() + "锛屼慨鏀瑰簱浣嶇姸鎬丵=>F鎴愬姛锛屽簱瀛樻槑缁嗭細" + JSON.toJSONString(locDetls1));
}
+
+ //娓呯┖婧愬簱浣嶆暟鎹� P ====>> O
+ LocMast locMast1 = locMastService.selectByLoc(wrkMast.getSourceLocNo());
+ if (locMast1.getLocSts().equals("P")) {
+ locMast1.setLocSts("O"); // 娓呯┖搴撲綅
+ locMast1.setModiTime(new Date());
+ if (!locMastService.updateById(locMast1)) {
+ throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+ }
+ locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no",locMast1.getLocNo()));
+ } else {
+ throw new CoolException("婧愬簱浣嶇姸鎬佸紓甯�");
+ }
+
break;
// 骞舵澘鍏ュ簱
case 54:
@@ -258,6 +290,7 @@
if (!locMastService.updateById(sourceLoc)) {
exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLoc={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
}
+ locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no",locMast.getLocNo()));
}
// 淇敼鐩爣搴撲綅鐘舵�� ==> .locSts
locMast.setLocSts(locSts);
@@ -335,6 +368,7 @@
if (!locMastService.updateById(locMast)) {
exceptionHandle("鐩樼偣鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
}
+ locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no",locMast.getLocNo()));
}
return SUCCESS;//鐩樼偣鍙鐞嗗簱瀛樻暟鎹笉鏀瑰彉宸ヤ綔妗g姸鎬�
// 绌烘澘鍑哄簱
--
Gitblit v1.9.1