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 |   51 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 50 insertions(+), 1 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 9e69bb6..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
@@ -11,9 +11,13 @@
 import com.vincent.rsf.server.common.domain.KeyValVo;
 import com.vincent.rsf.server.common.domain.PageParam;
 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.*;
@@ -67,8 +71,30 @@
         if (Objects.isNull(companys.getType())) {
             throw new CoolException("浼佷笟绫诲瀷涓嶈兘涓虹┖锛侊紒");
         }
+
+        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 (!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");
         }
@@ -80,7 +106,30 @@
     @PostMapping("/companys/update")
     public R update(@RequestBody Companys companys) {
         companys.setUpdateBy(getLoginUserId());
-        companys.setUpdateTime(new Date());
+        if (Objects.isNull(companys.getName())) {
+            throw new CoolException("鍚嶇О涓嶈兘涓虹┖锛侊紒");
+        }
+        if (Objects.isNull(companys.getBreifCode())) {
+            throw new CoolException("鍔╄鐮佷笉鑳戒负绌�!!");
+        }
+        if (Objects.isNull(companys.getType())) {
+            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 (!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)) {
             return R.error("Update Fail");
         }

--
Gitblit v1.9.1