From 6732a988fe843cf59f12aae1460fc97fda5408dd Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 08 五月 2025 19:59:10 +0800
Subject: [PATCH] 新增asn单,修改asn单,添加动态字段修改功能

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CompanysController.java |   47 ++++++++++++++++++++++++++++++++---------------
 1 files changed, 32 insertions(+), 15 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CompanysController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CompanysController.java
index 23f6804..c10934b 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CompanysController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CompanysController.java
@@ -13,8 +13,11 @@
 import com.vincent.rsf.server.manager.entity.Companys;
 import com.vincent.rsf.server.manager.entity.Warehouse;
 import com.vincent.rsf.server.manager.service.CompanysService;
+import com.vincent.rsf.server.system.constant.SerialRuleCode;
 import com.vincent.rsf.server.system.controller.BaseController;
+import com.vincent.rsf.server.system.utils.SerialRuleUtils;
 import io.swagger.annotations.Api;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
@@ -69,16 +72,29 @@
             throw new CoolException("浼佷笟绫诲瀷涓嶈兘涓虹┖锛侊紒");
         }
 
-        List<Companys> warehouses = companysService.list(new LambdaQueryWrapper<Companys>().eq(Companys::getName, companys.getName()));
+        List<Companys> warehouses = companysService.list(new LambdaQueryWrapper<Companys>()
+                .eq(Companys::getName, companys.getName())
+                .eq(Companys::getType, companys.getType())
+                .eq(Companys::getBreifCode, companys.getBreifCode()));
         if (!warehouses.isEmpty()) {
-            throw new CoolException("浼佷笟鍚嶇О宸插瓨鍦紒锛�");
+            throw new CoolException("浼佷笟宸插瓨鍦紒锛�");
         }
-        if (!companysService.list(new LambdaQueryWrapper<Companys>().eq(Companys::getCode, companys.getBreifCode())).isEmpty()) {
-            throw new CoolException("缂栫爜宸插瓨鍦紒锛�");
+        if (!companysService.list(new LambdaQueryWrapper<Companys>()
+                .eq(Companys::getType, companys.getType())
+                .eq(Companys::getName, companys.getName())
+                .eq(Companys::getCode, companys.getBreifCode())).isEmpty()) {
+            throw new CoolException("浼佷笟缂栫爜閲嶅锛侊紒");
         }
 
         companys.setCreateBy(getLoginUserId());
         companys.setUpdateBy(getLoginUserId());
+        if (StringUtils.isNotBlank(companys.getCode())) {
+            String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_COMPANYS_CODE, companys);
+            if (StringUtils.isBlank(ruleCode)) {
+                throw new CoolException("缂栫爜瑙勫垯閿欒锛氳妫�鏌ャ�孲YS_COMPANYS_CODE銆嶆槸鍚﹁缃畬鎴愶紒锛�");
+            }
+            companys.setCode(ruleCode);
+        }
         if (!companysService.save(companys)) {
             return R.error("Save Fail");
         }
@@ -99,18 +115,19 @@
         if (Objects.isNull(companys.getType())) {
             throw new CoolException("绫诲瀷涓嶈兘涓虹┖锛侊紒");
         }
-        Companys companys1 = companysService.getById(companys.getId());
-        if (!companys.getName().equals(companys1.getName())) {
-            List<Companys> areasList = companysService.list(new LambdaQueryWrapper<Companys>().eq(Companys::getName, companys.getName()));
-            if (!areasList.isEmpty()) {
-                throw new CoolException("浼佷笟鍚嶅凡瀛樺湪锛侊紒");
-            }
+//        Companys companys1 = companysService.getById(companys.getId());
+        List<Companys> warehouses = companysService.list(new LambdaQueryWrapper<Companys>()
+                .eq(Companys::getName, companys.getName())
+                .eq(Companys::getType, companys.getType())
+                .eq(Companys::getBreifCode, companys.getBreifCode()));
+        if (!warehouses.isEmpty()) {
+            throw new CoolException("浼佷笟宸插瓨鍦紒锛�");
         }
-        if (!companys.getBreifCode().equals(companys1.getBreifCode())) {
-            List<Companys> areasList = companysService.list(new LambdaQueryWrapper<Companys>().eq(Companys::getBreifCode, companys.getBreifCode()));
-            if (!areasList.isEmpty()) {
-                throw new CoolException("缂栫爜宸插瓨鍦紒锛�");
-            }
+        if (!companysService.list(new LambdaQueryWrapper<Companys>()
+                .eq(Companys::getType, companys.getType())
+                .eq(Companys::getName, companys.getName())
+                .eq(Companys::getCode, companys.getBreifCode())).isEmpty()) {
+            throw new CoolException("浼佷笟缂栫爜閲嶅锛侊紒");
         }
 
         if (!companysService.updateById(companys)) {

--
Gitblit v1.9.1