From 2fa1c824c63048b49e45d867191ab3645aeaf3a4 Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期四, 30 四月 2026 09:54:40 +0800
Subject: [PATCH] 补充收货

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java |   19 +++++++++++++++----
 1 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java
index 52f6778..b2bf8c8 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java
@@ -49,6 +49,8 @@
     private MatnrMapper matnrMapper;
     @Autowired
     private ConfigService configService;
+    @Autowired
+    private CusBarcodeSyncMatnrService cusBarcodeSyncMatnrService;
 
 
     /**
@@ -123,6 +125,11 @@
                         throw new CoolException("鏃犺鍗曠粍鎵樻椂鐗╂枡ID涓嶈兘涓虹┖锛侊紒");
                     }
                     Matnr matnr = matnrMapper.selectById(pakinItem1.getMatnrId());
+                    if (matnr == null) {
+                        throw new CoolException("鐗╂枡淇℃伅涓嶅瓨鍦紝鐗╂枡ID锛�" + pakinItem1.getMatnrId());
+                    }
+                    cusBarcodeSyncMatnrService.syncFromMatnrCodes(Collections.singletonList(matnr.getCode()), userId);
+                    matnr = matnrMapper.selectById(pakinItem1.getMatnrId());
                     if (matnr == null) {
                         throw new CoolException("鐗╂枡淇℃伅涓嶅瓨鍦紝鐗╂枡ID锛�" + pakinItem1.getMatnrId());
                     }
@@ -236,7 +243,11 @@
 
         for (PakinItem pakinItem1 : waitPakin.getItems()) {
             WaitPakinItem pakinItem = new WaitPakinItem();
-            if (StringUtils.isBlank(pakinItem1.getAsnCode())) {
+            // 鍘熼�昏緫锛歩f (StringUtils.isBlank(pakinItem1.getAsnCode())) { ... } else { 鎸夊崟鎹檺鍒� ... }
+            // 鍙湁鍗曟嵁鍙峰瓨鍦ㄤ笖鑳芥煡鍒板崟鎹椂鎵嶆寜鍗曟嵁闄愬埗
+            WkOrder bindOrder = StringUtils.isBlank(pakinItem1.getAsnCode()) ? null :
+                    asnOrderService.getOne(new LambdaQueryWrapper<WkOrder>().eq(WkOrder::getCode, pakinItem1.getAsnCode()));
+            if (bindOrder == null) {
                 if (Objects.isNull(pakinItem1.getMatnrId())) {
                     throw new CoolException("鐗╂枡ID涓嶈兘涓虹┖锛侊紒");
                 }
@@ -279,9 +290,9 @@
                 if (null == orderItem) {
                     throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦紒锛�");
                 }
-                WkOrder order = asnOrderService.getById(orderItem.getOrderId());
-                if (null == order) {
-                    throw new CoolException("璁㈠崟涓嶅瓨鍦紒锛�");
+                WkOrder order = bindOrder;
+                if (orderItem.getOrderId() == null || !orderItem.getOrderId().equals(order.getId())) {
+                    throw new CoolException("鐗╂枡涓嶅湪褰撳墠鍗曟嵁涓紝涓嶈兘鎸夊崟鎹粍鎵橈紒锛�");
                 }
                 pakinItem.setAnfme(QuantityUtils.roundToScale(orderItem.getAnfme()))
                         .setPakinId(waitPakin1.getId())

--
Gitblit v1.9.1