From b5e8045d5f5b5401b696db12f62fdbcc86dc5c5d Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 10 四月 2025 11:40:02 +0800
Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocTypeController.java |   44 +++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 43 insertions(+), 1 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocTypeController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocTypeController.java
index 5d498ce..b273c77 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocTypeController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocTypeController.java
@@ -11,15 +11,19 @@
 import com.vincent.rsf.server.common.domain.KeyValVo;
 import com.vincent.rsf.server.common.domain.PageParam;
 import com.vincent.rsf.server.manager.entity.LocType;
+import com.vincent.rsf.server.manager.entity.MatnrGroup;
 import com.vincent.rsf.server.manager.service.LocTypeService;
 import com.vincent.rsf.server.system.controller.BaseController;
+import io.swagger.annotations.Api;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.*;
 
+@Api(tags = "搴撲綅绫诲瀷")
 @RestController
 public class LocTypeController extends BaseController {
 
@@ -59,11 +63,26 @@
         if (Objects.isNull(locType.getName())) {
             throw new CoolException("搴撲綅绫诲瀷涓嶈兘涓虹┖锛侊紒");
         }
+        if (Objects.isNull(locType.getCode())) {
+            throw new CoolException("搴撲綅缂栫爜涓嶄负绌猴紒锛�");
+        }
         if (Objects.isNull(locType.getRegex())) {
             throw new CoolException("搴撲綅瑙勫垯琛ㄨ揪寮忎笉鑳戒负绌猴紒锛�");
         }
+
         locType.setCreateBy(getLoginUserId());
         locType.setUpdateBy(getLoginUserId());
+        List<LocType> list = locTypeService.list(new LambdaQueryWrapper<LocType>()
+                .eq(LocType::getCode, locType.getCode()));
+        if (!list.isEmpty()) {
+            throw new CoolException("缂栫爜涓嶈兘閲嶅锛侊紒");
+        }
+        List<LocType> groups = locTypeService.list(new LambdaQueryWrapper<LocType>()
+                .eq(LocType::getName, locType.getName()));
+        if (!groups.isEmpty()) {
+            throw new CoolException("鍚嶇О宸插瓨鍦紝璇峰嬁閲嶅娣诲姞锛侊紒");
+        }
+
         if (!locTypeService.save(locType)) {
             return R.error("Save Fail");
         }
@@ -73,9 +92,32 @@
     @PreAuthorize("hasAuthority('manager:locType:update')")
     @OperationLog("Update loc type")
     @PostMapping("/locType/update")
+    @Transactional(rollbackFor = Exception.class)
     public R update(@RequestBody LocType locType) {
+        if (Objects.isNull(locType.getName())) {
+            throw new CoolException("搴撲綅绫诲瀷涓嶈兘涓虹┖锛侊紒");
+        }
+        if (Objects.isNull(locType.getCode())) {
+            throw new CoolException("搴撲綅缂栫爜涓嶄负绌猴紒锛�");
+        }
+        if (Objects.isNull(locType.getRegex())) {
+            throw new CoolException("搴撲綅瑙勫垯琛ㄨ揪寮忎笉鑳戒负绌猴紒锛�");
+        }
+
+        LocType locType1 = locTypeService.getById(locType.getId());
+        if (!locType.getName().equals(locType1.getName())) {
+            List<LocType> areasList = locTypeService.list(new LambdaQueryWrapper<LocType>().eq(LocType::getName, locType.getName()));
+            if (!areasList.isEmpty()) {
+                throw new CoolException("浠撳簱鍚嶅凡瀛樺湪锛侊紒");
+            }
+        }
+        if (!locType.getCode().equals(locType1.getCode())) {
+            List<LocType> locTypeList = locTypeService.list(new LambdaQueryWrapper<LocType>().eq(LocType::getCode, locType.getCode()));
+            if (!locTypeList.isEmpty()) {
+                throw new CoolException("浠撳簱缂栫爜宸插瓨鍦紒锛�");
+            }
+        }
         locType.setUpdateBy(getLoginUserId());
-        locType.setUpdateTime(new Date());
         if (!locTypeService.updateById(locType)) {
             return R.error("Update Fail");
         }

--
Gitblit v1.9.1