From 383c6139926563f02fba4432effbfc27f87d88c5 Mon Sep 17 00:00:00 2001
From: bfwms <1>
Date: 星期三, 30 七月 2025 14:36:57 +0800
Subject: [PATCH] ERP对接

---
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   63 ++++++++++++++++++++++---------
 1 files changed, 45 insertions(+), 18 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 a57160c..98861b1 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -247,7 +247,7 @@
         List<DetlDto> list = new ArrayList<>();
         List<DetlDto> orderDetails = param.getOrderDetails();
         for (DetlDto detail : orderDetails) {
-            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme());
+            DetlDto dto = new DetlDto(detail.getMatnr(),detail.getMaktx(), detail.getBatch(), detail.getAnfme());
             if (DetlDto.has(list, dto)) {
                 DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch());
                 assert detlDto != null;
@@ -259,10 +259,17 @@
         for (DetlDto detlDto : list) {
             Mat mat = matService.selectByMatnr(detlDto.getMatnr());
             if (Cools.isEmpty(mat)) {
-                throw new CoolException(detlDto.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
+                Mat mat1=new Mat();
+                mat1.setTagId(1L);
+                mat1.setMatnr(detlDto.getMatnr());
+                mat1.setMaktx(detlDto.getMaktx());
+                mat1.setMatType(3);
+                matService.insert(mat1);
             }
             OrderDetl orderDetl = new OrderDetl();
-            orderDetl.sync(mat);
+//            orderDetl.sync(mat);
+            orderDetl.setMatnr(detlDto.getMatnr());
+            orderDetl.setMaktx(detlDto.getMaktx());
             orderDetl.setBatch(detlDto.getBatch());
             orderDetl.setAnfme(detlDto.getAnfme());
             orderDetl.setOrderId(order.getId());
@@ -284,26 +291,40 @@
     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");
+        wrkMastService.update(wrkMast, new EntityWrapper<WrkMast>()
+                .eq("wrk_no", wrkMast.getWrkNo()));
     }
 
 
@@ -483,6 +504,12 @@
             if (Cools.isEmpty(matParam.getMatnr())) {
                 throw new CoolException("鍟嗗搧缂栫爜涓嶈兘涓虹┖");
             }
+            if (Cools.isEmpty(matParam.getInoutEveryday())) {
+                throw new CoolException("鏄惁涓洪珮棰戝叆鍑哄簱鐗╂枡鏍囪瘑涓嶈兘涓虹┖");
+            }
+            if (Cools.isEmpty(matParam.getMatType())) {
+                throw new CoolException("涓婃灦鍖哄煙涓嶈兘涓虹┖");
+            }
             Date now = new Date();
             Mat mat = matService.selectByMatnr(matParam.getMatnr());
             if (mat == null) {

--
Gitblit v1.9.1