From f3603d9f0eb85d2a42edbcadd0950889af2c24d2 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期一, 19 二月 2024 18:14:05 +0800
Subject: [PATCH] #库存迁移逻辑修改,从工作明细档进行处理

---
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java |   44 +++++++++++++++++++++++++++++++-------------
 1 files changed, 31 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 6665933..84350bd 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -138,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")) {
@@ -273,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);

--
Gitblit v1.9.1