From 3ad65283c54059e0c61110589fb19398ac3525fe Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期二, 08 七月 2025 08:32:32 +0800
Subject: [PATCH] 完善拣料转全板

---
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   40 +++++++++++++++++++++++++++-------------
 1 files changed, 27 insertions(+), 13 deletions(-)

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 7baeb5f..4f423d8 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -284,24 +284,38 @@
     public void pickToFill(WrkMast wrkMast) {
         Date now = new Date();
         wrkMast.setIoType(101);
+        wrkMast.setWrkSts(17L);
         wrkMast.setMemo("鎹℃枡杞叏鏉垮伐浣滄。");
         wrkMastService.update(wrkMast, new EntityWrapper<WrkMast>()
                 .eq("wrk_no", wrkMast.getWrkNo()));
-        wrkDetlService.deleteByWrkNo(wrkMast.getWrkNo());
+        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
         List<LocDetl> locDetls = locDetlService.selectByLocNo(wrkMast.getSourceLocNo());
         for (LocDetl locDetl : locDetls) {
-            WrkDetl wrkDetl = new WrkDetl();
-            wrkDetl.sync(locDetl);
-            wrkDetl.setWrkNo(wrkMast.getWrkNo());
-            wrkDetl.setIoTime(wrkMast.getIoTime());
-            wrkDetl.setZpallet(wrkDetl.getBarcode());
-            wrkDetl.setBarcode(wrkMast.getBarcode());
-            wrkDetl.setAppeTime(now);
-            wrkDetl.setModiTime(now);
-            wrkDetl.setAppeUser(1L);
-            wrkDetl.setModiUser(1L);
-            wrkDetl.setMatType(locDetl.getMatType());
-            wrkDetlService.insert(wrkDetl);
+            double v = locDetl.getAnfme();
+            boolean boo= true;
+            for(WrkDetl wrkDetl : wrkDetls) {
+                if(wrkDetl.getMatnr().equals(locDetl.getMatnr())&&wrkDetl.getBatch().equals(locDetl.getBatch())) {
+                    v = locDetl.getAnfme() - wrkDetl.getAnfme();
+                    if(v == 0){
+                        boo = false;
+                    }
+                }
+            }
+            if(boo){
+                WrkDetl wrkDetl = new WrkDetl();
+                wrkDetl.sync(locDetl);
+                wrkDetl.setWrkNo(wrkMast.getWrkNo());
+                wrkDetl.setIoTime(wrkMast.getIoTime());
+                wrkDetl.setZpallet(wrkDetl.getBarcode());
+                wrkDetl.setBarcode(wrkMast.getBarcode());
+                wrkDetl.setAnfme(v);
+                wrkDetl.setAppeTime(now);
+                wrkDetl.setModiTime(now);
+                wrkDetl.setAppeUser(1L);
+                wrkDetl.setModiUser(1L);
+                wrkDetl.setMatType(locDetl.getMatType());
+                wrkDetlService.insert(wrkDetl);
+            }
         }
         locMastService.updateLocSts(wrkMast.getSourceLocNo(), "R");
     }

--
Gitblit v1.9.1