From 55331431565cffc4328bbbe83533e1e11da3ffd6 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 15 八月 2025 13:33:59 +0800
Subject: [PATCH] 基础物料同步接口

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java |   38 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 38 insertions(+), 0 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 5440f0c..46eb8f1 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
@@ -3,10 +3,15 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.vincent.rsf.framework.exception.CoolException;
+import com.vincent.rsf.server.api.controller.params.BaseMatParms;
+import com.vincent.rsf.server.manager.entity.Matnr;
+import com.vincent.rsf.server.manager.entity.MatnrGroup;
 import com.vincent.rsf.server.manager.enums.OrderType;
 import com.vincent.rsf.server.manager.entity.PurchaseItem;
+import com.vincent.rsf.server.manager.service.MatnrGroupService;
 import com.vincent.rsf.server.manager.service.PurchaseItemService;
 import com.vincent.rsf.server.manager.service.PurchaseService;
+import com.vincent.rsf.server.manager.service.impl.MatnrServiceImpl;
 import com.vincent.rsf.server.system.constant.SerialRuleCode;
 import com.vincent.rsf.server.api.controller.params.OrderParams;
 import com.vincent.rsf.server.system.entity.Fields;
@@ -42,6 +47,10 @@
     private FieldsService fieldsService;
     @Autowired
     private FieldsItemService fieldsItemService;
+    @Autowired
+    private MatnrGroupService matnrGroupService;
+    @Autowired
+    private MatnrServiceImpl matnrService;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -86,6 +95,35 @@
         return true;
     }
 
+    /**
+     * 鐗╂枡淇℃伅鍚屾
+     * @param matnrs
+     */
+    @Override
+    public void syncMatnrs(List<BaseMatParms> matnrs) {
+        List<Matnr> syncMatnrs = new ArrayList<>();
+        if (!matnrs.isEmpty()) {
+            matnrs.forEach(matnr -> {
+                Matnr mat = new Matnr();
+                if (Objects.isNull(matnr.getMatnr())) {
+                    throw new RuntimeException("鐗╂枡缂栫爜涓嶈兘涓虹┖锛侊紒");
+                }
+                BeanUtils.copyProperties(matnr, mat);
+                mat.setCode(matnr.getMatnr()).setName(matnr.getMaktx());
+                if (!Objects.isNull(matnr.getGroupName())) {
+                    MatnrGroup matnrGroup = matnrGroupService.getOne(new LambdaQueryWrapper<MatnrGroup>().eq(MatnrGroup::getName, matnr.getGroupName()), false);
+                    if (Objects.isNull(matnrGroup)) {
+                        mat.setGroupCode(matnrGroup.getCode()).setGroupId(matnrGroup.getId());
+                    }
+                }
+                syncMatnrs.add(mat);
+            });
+
+            if (!matnrService.saveOrUpdateBatch(syncMatnrs)) {
+                throw new CoolException("鐗╂枡淇℃伅淇濆瓨鎴愬姛锛侊紒");
+            }
+        }
+    }
 
 
 }

--
Gitblit v1.9.1