From f640ac6b781487c8a88c7715586e03933b7f0d00 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 26 八月 2025 16:40:05 +0800
Subject: [PATCH] 单据修改接口优化 单据删除接口优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java |   26 ++++++++++++++++++++------
 1 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
index f2dbde9..acf0704 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
@@ -586,13 +586,27 @@
                 throw new CoolException("璇风‘璁ゅ崟鎹細" + order.getOrderNo() + "鏄惁宸茬粡鎵ц鎴栨槸鍚﹀悓姝ワ紒锛�");
             }
             order.getOrdersItems().forEach(orderItem -> {
-                if (!asnOrderItemService.update(new LambdaUpdateWrapper<WkOrderItem>()
-                        .eq(WkOrderItem::getOrderCode, order.getOrderNo())
+                WkOrderItem wkOrderItem = asnOrderItemService.getOne(new LambdaUpdateWrapper<WkOrderItem>()
                         .eq(WkOrderItem::getMatnrCode, orderItem.getMatnrCode())
                         .eq(StringUtils.isNotEmpty(orderItem.getBatch()), WkOrderItem::getSplrBatch, orderItem.getBatch())
-                        .eq(StringUtils.isNotEmpty(orderItem.getPlatItemId()), WkOrderItem::getPlatItemId, orderItem.getPlatItemId())
-                        .set(WkOrderItem::getAnfme, orderItem.getAnfme()))) {
-                    throw new CoolException("鍗曟嵁淇敼澶辫触锛侊紒");
+                        .eq(WkOrderItem::getOrderCode, wkOrder.getCode()));
+                if (!Objects.isNull(wkOrderItem)) {
+                    if (!asnOrderItemService.update(new LambdaUpdateWrapper<WkOrderItem>()
+                            .eq(WkOrderItem::getOrderCode, wkOrder.getCode())
+                            .eq(WkOrderItem::getMatnrCode, orderItem.getMatnrCode())
+                            .eq(StringUtils.isNotEmpty(orderItem.getBatch()), WkOrderItem::getSplrBatch, orderItem.getBatch())
+                            .eq(StringUtils.isNotEmpty(orderItem.getPlatItemId()), WkOrderItem::getPlatItemId, orderItem.getPlatItemId())
+                            .set(WkOrderItem::getAnfme, orderItem.getAnfme()))) {
+                        throw new CoolException("鍗曟嵁淇敼澶辫触锛侊紒");
+                    }
+                } else {
+                    WkOrderItem wkOrderItem1 = new WkOrderItem();
+                    BeanUtils.copyProperties(orderItem, wkOrderItem1);
+                    wkOrderItem1.setOrderCode(wkOrder.getCode())
+                            .setOrderId(wkOrder.getId());
+                    if (!asnOrderItemService.save(wkOrderItem1)) {
+                        throw new CoolException("鍗曟嵁淇濆瓨澶辫触锛侊紒");
+                    }
                 }
             });
             wkOrder.setAnfme(order.getAnfme());
@@ -600,7 +614,7 @@
                 throw new CoolException("涓诲崟鎹慨鏀瑰け璐ワ紒锛�");
             }
         });
-        return null;
+        return R.ok();
     }
 
     /**

--
Gitblit v1.9.1