From c42346453608186971fad5e80ffd08fd58d38d06 Mon Sep 17 00:00:00 2001
From: zc <zc@123>
Date: 星期三, 16 七月 2025 16:42:45 +0800
Subject: [PATCH] 完善erp对接

---
 src/main/resources/mapper/WrkDetlMapper.xml                   |    4 ++--
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java   |    4 ++--
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java   |   12 ++++++------
 src/main/resources/mapper/LocDetlMapper.xml                   |   13 ++++++++++---
 src/main/java/com/zy/asrs/entity/param/StockOutParam.java     |    2 +-
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |    2 +-
 src/main/java/com/zy/common/model/DetlDto.java                |    2 +-
 src/main/java/com/zy/common/web/WcsController.java            |    2 +-
 src/main/java/com/zy/common/service/CommonService.java        |   10 ++++++++--
 9 files changed, 32 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/param/StockOutParam.java b/src/main/java/com/zy/asrs/entity/param/StockOutParam.java
index 464b46c..e09dad1 100644
--- a/src/main/java/com/zy/asrs/entity/param/StockOutParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/StockOutParam.java
@@ -28,7 +28,7 @@
         private String matnr;
 
         // 搴忓垪鐮�
-        private String batch;
+        private String sku;
 
         // 鏁伴噺
         private Double count;
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 2e796a2..43f2269 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -331,7 +331,7 @@
                 if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
                         eq("zpallet", param.getBarcode())
                         .eq("io_status", "N")
-                        .eq("matnr", elem.getMatnr()).eq("three_code", elem.getThreeCode()).eq("batch", elem.getBatch())) > 0) {
+                        .eq("matnr", elem.getMatnr()).eq("three_code", elem.getThreeCode())) > 0) {
                     throw new CoolException(param.getBarcode() + "宸叉湁鐩稿悓鏁版嵁");
                 }
 
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 d7a658f..5d4101b 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -174,7 +174,7 @@
         List<LocDetlDto> locDetlDtos = new ArrayList<>();
         for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
             if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
-                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
+                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getSku());
                 if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
             }
         }
@@ -912,7 +912,7 @@
         List<LocDetlDto> locDetlDtos = new ArrayList<>();
         for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
             if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
-                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
+                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getSku());
                 if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
             }
         }
@@ -940,7 +940,7 @@
         List<LocDetlDto> locDetlDtos = new ArrayList<>();
         for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
             if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
-                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
+                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getSku());
                 if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
             }
         }
@@ -1250,7 +1250,7 @@
                     if (!locDetl.getAnfme().equals(adjust.getCount())) {
                         // todo 鐩樼偣璁板綍
                         // 淇敼搴撳瓨
-                        if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) {
+                        if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getSku())) {
                             throw new CoolException(locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "鎵瑰彿淇敼鏁伴噺澶辫触");
                         }
                         // 淇濆瓨璋冩暣璁板綍
@@ -1705,7 +1705,7 @@
         List<LocDetlDto> locDetlDtos = new ArrayList<>();
         for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
             if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
-                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
+                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getSku());
                 if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
             }
         }
@@ -1726,7 +1726,7 @@
         List<LocDetlDto> locDetlDtos = new ArrayList<>();
         for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
             if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
-                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
+                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getSku());
                 if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
             }
         }
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 7933a0f..0c697cf 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -109,10 +109,10 @@
                     // 閬嶅巻宸ヤ綔鏄庣粏锛屾洿鏂板簱瀛樻槑缁嗗拰鍏ュ簱閫氱煡妗�
                     for (WrkDetl wrkDetl : wrkDetls) {
 
-                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getSku());
                         if (null != locDetl) {
                             Double anfme = locDetl.getAnfme() + wrkDetl.getAnfme();
-                            if (!locDetlService.updateAnfme(anfme, wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
+                            if (!locDetlService.updateAnfme(anfme, wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getSku())) {
 //                                exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                 return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
diff --git a/src/main/java/com/zy/common/model/DetlDto.java b/src/main/java/com/zy/common/model/DetlDto.java
index 43bfe0c..7ae4f91 100644
--- a/src/main/java/com/zy/common/model/DetlDto.java
+++ b/src/main/java/com/zy/common/model/DetlDto.java
@@ -100,7 +100,7 @@
 
     public static boolean has(List<DetlDto> detlDtos, DetlDto detlDto) {
         for (DetlDto dto : detlDtos) {
-            if (dto.getMatnr().equals(detlDto.getMatnr()) && Cools.eq(dto.getBatch(), detlDto.getBatch()) && dto.getFromOrderNo().equals(detlDto.getFromOrderNo())) {
+            if (dto.getMatnr().equals(detlDto.getMatnr()) && Cools.eq(dto.getBatch(), detlDto.getBatch()) &&Cools.eq(dto.getFromOrderNo(),detlDto.getFromOrderNo())) {
                 return true;
             }
         }
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 5d55b8f..d5f2fd1 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -982,8 +982,14 @@
                     for (LocMast locMastGro1 : locMasts1) {
                         if (locMastGro1.getLocSts().equals("F")) {
                             LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_No", locMastGro1.getLocNo()));
-                            if (!locDetl.getMatnr().equals(matnr) || !locDetl.getBatch().equals(batch)) {
-                                continue;
+                            if (!Cools.isEmpty(locDetl.getSku())){
+                                if (!locDetl.getMatnr().equals(matnr) || !locDetl.getSku().equals(batch)) {
+                                    continue;
+                                }
+                            }else {
+                                if (!locDetl.getMatnr().equals(matnr)) {
+                                    continue;
+                                }
                             }
                         }
                         if (locMastGro1.getLocSts().equals("P") || locMastGro1.getLocSts().equals("Q") || locMastGro1.getLocSts().equals("R")) {
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 3de822b..1deb4f1 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -625,7 +625,7 @@
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
         // 妫�绱㈠簱浣�
         List<String> matnrs = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList());
-        List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList());
+        List<String> batchs = waitPakins.stream().map(WaitPakin::getSku).distinct().collect(Collectors.toList());
         boolean mixtrue = false;
 
 
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 7390c17..fbc5a32 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -53,10 +53,10 @@
     <sql id="batchSeq">
         <choose>
             <when test="batch != null and batch != ''">
-                and batch = #{batch}
+                and sku = #{batch}
             </when>
             <otherwise>
-                and (batch IS NULL OR batch = '')
+                and (sku IS NULL OR sku = '')
             </otherwise>
         </choose>
     </sql>
@@ -67,7 +67,14 @@
         where 1=1
         and loc_no = #{locNo}
         and matnr = #{matnr}
-        <include refid="batchSeq"></include>
+        <choose>
+            <when test="batch != null and batch != ''">
+                and sku = #{batch}
+            </when>
+            <otherwise>
+                and (sku IS NULL OR sku = '')
+            </otherwise>
+        </choose>
     </select>
 
     <delete id="deleteItem">
diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml
index ec90f91..1766286 100644
--- a/src/main/resources/mapper/WrkDetlMapper.xml
+++ b/src/main/resources/mapper/WrkDetlMapper.xml
@@ -54,10 +54,10 @@
     <sql id="batchSeq">
         <choose>
             <when test="batch != null and batch != ''">
-                and batch = #{batch}
+                and sku = #{batch}
             </when>
             <otherwise>
-                and (batch IS NULL OR batch = '')
+                and (sku IS NULL OR sku = '')
             </otherwise>
         </choose>
     </sql>

--
Gitblit v1.9.1