From a5abbaea5e8a35e77df3a06a88b8b96bebbf79b4 Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期二, 14 十月 2025 08:47:57 +0800
Subject: [PATCH] 新增物料更新接口

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java |   59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 54 insertions(+), 5 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 9c8c055..9584a8f 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
@@ -277,7 +277,7 @@
     /**
      * @author Ryan
      * @date 2025/8/18
-     * @description: 鐗╂枡淇℃伅鍚屾
+     * @description: 鐗╂枡鍒嗙粍淇℃伅鍚屾
      * @version 1.0
      */
     @Override
@@ -576,7 +576,7 @@
             revise.getItems().forEach(reviseItem -> {
                 ReviseLogItem logItem = new ReviseLogItem();
                 BeanUtils.copyProperties(reviseItem, logItem);
-                Matnr matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>().eq(Matnr::getCode, reviseItem.getMatnrCode()));
+                Matnr matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>().eq(Matnr::getCode, reviseItem.getMatnr()));
                 if (Objects.isNull(matnr)) {
                     throw new CoolException("鐗╂枡涓嶅瓨鍦紒锛�");
                 }
@@ -621,13 +621,13 @@
             }
             order.getOrdersItems().forEach(orderItem -> {
                 WkOrderItem wkOrderItem = asnOrderItemService.getOne(new LambdaUpdateWrapper<WkOrderItem>()
-                        .eq(WkOrderItem::getMatnrCode, orderItem.getMatnrCode())
+                        .eq(WkOrderItem::getMatnrCode, orderItem.getMatnr())
                         .eq(StringUtils.isNotEmpty(orderItem.getBatch()), WkOrderItem::getSplrBatch, orderItem.getBatch())
                         .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(WkOrderItem::getMatnrCode, orderItem.getMatnr())
                             .eq(StringUtils.isNotEmpty(orderItem.getBatch()), WkOrderItem::getSplrBatch, orderItem.getBatch())
                             .eq(StringUtils.isNotEmpty(orderItem.getPlatItemId()), WkOrderItem::getPlatItemId, orderItem.getPlatItemId())
                             .set(WkOrderItem::getAnfme, orderItem.getAnfme()))) {
@@ -671,7 +671,7 @@
             }
             order.getOrdersItems().forEach(orderItem -> {
                 if (!asnOrderItemService.remove(new LambdaQueryWrapper<WkOrderItem>()
-                        .eq(WkOrderItem::getMatnrCode, orderItem.getMatnrCode())
+                        .eq(WkOrderItem::getMatnrCode, orderItem.getMatnr())
                         .eq(StringUtils.isNotEmpty(orderItem.getBatch()), WkOrderItem::getSplrBatch, orderItem.getBatch())
                         .eq(StringUtils.isNotEmpty(orderItem.getPlatItemId()), WkOrderItem::getPlatItemId, orderItem.getPlatItemId())
                         .eq(WkOrderItem::getOrderCode, wkOrder.getCode()))) {
@@ -744,4 +744,53 @@
 
         return R.ok().add(dtos);
     }
+
+    /**
+     * 鍩虹鐗╂枡淇℃伅鍙樻洿
+     * @param baseMatParms
+     * @return
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R matUpdate(BaseMatParms baseMatParms) {
+        if (StringUtils.isNotBlank(baseMatParms.getMatnr())) {
+            throw new CoolException("鍩虹淇℃伅鍙樻洿澶辫触锛侊紒");
+        }
+        Matnr matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>().eq(Matnr::getCode, baseMatParms.getMatnr()));
+        if (Objects.isNull(matnr)) {
+            BeanUtils.copyProperties(baseMatParms, matnr);
+            matnr.setCode(baseMatParms.getMatnr());
+            matnr.setName(baseMatParms.getMaktx());
+            if (!Objects.isNull(baseMatParms.getGroupName())) {
+                MatnrGroup matnrGroup = matnrGroupService.getOne(new LambdaQueryWrapper<MatnrGroup>()
+                        .eq(MatnrGroup::getName, baseMatParms.getGroupName()));
+                if (Objects.isNull(matnrGroup)) {
+                    matnr.setGroupCode(matnrGroup.getCode()).setGroupId(matnrGroup.getId());
+                }
+            }
+            if (!matnrService.save(matnr)) {
+                throw new CoolException("鐗╂枡鏂板澶辫触锛侊紒");
+            }
+        } else {
+
+            if (!Objects.isNull(baseMatParms.getGroupName())) {
+                MatnrGroup matnrGroup = matnrGroupService.getOne(new LambdaQueryWrapper<MatnrGroup>()
+                        .eq(MatnrGroup::getName, baseMatParms.getGroupName()));
+                if (Objects.isNull(matnrGroup)) {
+                    matnr.setGroupCode(matnrGroup.getCode()).setGroupId(matnrGroup.getId());
+                }
+            }
+
+            matnr.setName(baseMatParms.getMaktx())
+                    .setColor(baseMatParms.getColor())
+                    .setModel(baseMatParms.getModel())
+                    .setSpec(baseMatParms.getSpec());
+
+            if (!matnrService.updateById(matnr)) {
+                throw new CoolException("鐗╂枡鏇存柊澶辫触锛侊紒");
+            }
+        }
+
+        return R.ok();
+    }
 }

--
Gitblit v1.9.1