From 658141dd2f6ea08bff904d7dfd987a696ece94fe Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期四, 19 三月 2026 09:30:37 +0800
Subject: [PATCH] lsh#

---
 rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/phyz/impl/ErpReportServiceImpl.java |    8 ++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java    |   38 +++++++++++++++++++++++++++-----------
 2 files changed, 35 insertions(+), 11 deletions(-)

diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/phyz/impl/ErpReportServiceImpl.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/phyz/impl/ErpReportServiceImpl.java
index d982b35..24f913e 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/phyz/impl/ErpReportServiceImpl.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/phyz/impl/ErpReportServiceImpl.java
@@ -260,10 +260,18 @@
      */
     private List<Map<String, Object>> customerToCompaniesParams(List<Customer> customerList) {
         List<Map<String, Object>> mappedList = new ArrayList<>();
+        int rowNum = 0;
         for (Customer customer : customerList) {
+            rowNum++;
             if (Objects.isNull(customer)) {
                 continue;
             }
+            if (StringUtils.isBlank(customer.getCustomerId())) {
+                throw new CoolException("瀹㈡埛鍚屾澶辫触锛氱" + rowNum + "琛屽鎴风紪鐮佷负绌�");
+            }
+            if (StringUtils.isBlank(customer.getCustomerName())) {
+                throw new CoolException("瀹㈡埛鍚屾澶辫触锛氱" + rowNum + "琛屽鎴峰悕绉颁负绌�");
+            }
             Map<String, Object> map = new HashMap<>();
             map.put("name", customer.getCustomerName());
             map.put("nameEn", null);
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 715cf43..68ce40f 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
@@ -388,20 +388,36 @@
         companyParams.forEach(param -> {
             Companys companys = new Companys();
             BeanUtils.copyProperties(param, companys);
-            if (Objects.isNull(companys.getCode())) {
+            if (Objects.isNull(companys.getCode()) || StringUtils.isBlank(companys.getCode())) {
                 throw new CoolException("浼佷笟缂栫爜涓嶈兘涓虹┖锛侊紒");
             }
-            Companys one = companysService.getOne(new LambdaQueryWrapper<Companys>().eq(Companys::getName, param.getName()).last("limit 1"));
-            if (Objects.isNull(one)) {
-                String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_COMPANYS_CODE, null);
-                companys.setCode(ruleCode);
-            } else {
-                throw new CoolException(one.getName() + "锛屼紒涓氬悕閲嶅锛侊紒");
+            if (Objects.isNull(companys.getName()) || StringUtils.isBlank(companys.getName())) {
+                throw new CoolException("浼佷笟鍚嶇О涓嶈兘涓虹┖锛侊紒");
             }
-            companys.setType(CompanysType.getCustomVal(param.getType()))
-                    .setId(null);
-            if (!companysService.save(companys)) {
-                throw new CoolException("浼佷笟淇濆瓨澶辫触锛侊紒");
+
+            // 骞傜瓑鍚屾锛氫紭鍏堟寜缂栫爜鍖归厤锛屾壘涓嶅埌鍐嶆寜鍚嶇О鍖归厤
+            Companys one = companysService.getOne(new LambdaQueryWrapper<Companys>()
+                    .eq(Companys::getCode, param.getCode())
+                    .last("limit 1"));
+            if (Objects.isNull(one)) {
+                one = companysService.getOne(new LambdaQueryWrapper<Companys>()
+                        .eq(Companys::getName, param.getName())
+                        .last("limit 1"));
+            }
+
+            companys.setType(CompanysType.getCustomVal(param.getType()));
+            if (!Objects.isNull(one)) {
+                companys.setId(one.getId());
+                // 宸插瓨鍦ㄥ垯鏇存柊锛屼笉閲嶅鎶ラ敊
+                if (!companysService.saveOrUpdate(companys)) {
+                    throw new CoolException("浼佷笟鏇存柊澶辫触锛侊紒");
+                }
+            } else {
+                companys.setId(null);
+                // 鏂板鏃朵繚鐣橢RP浼犲叆缂栫爜锛屼笉鍐嶈鐩栫敓鎴�
+                if (!companysService.save(companys)) {
+                    throw new CoolException("浼佷笟淇濆瓨澶辫触锛侊紒");
+                }
             }
         });
         return R.ok();

--
Gitblit v1.9.1