From b051c20595c8563df49a50092a11468c8a99de46 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 20 三月 2025 14:20:58 +0800
Subject: [PATCH] # 优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrGroupController.java |   36 +++++++++++++++++++++++++++++++-----
 1 files changed, 31 insertions(+), 5 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrGroupController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrGroupController.java
index a1ba42a..3af7f58 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrGroupController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrGroupController.java
@@ -5,6 +5,7 @@
 import com.vincent.rsf.common.utils.Utils;
 import com.vincent.rsf.framework.common.Cools;
 import com.vincent.rsf.framework.common.R;
+import com.vincent.rsf.framework.exception.CoolException;
 import com.vincent.rsf.server.common.domain.PageResult;
 import com.vincent.rsf.server.common.utils.ExcelUtil;
 import com.vincent.rsf.server.common.annotation.OperationLog;
@@ -59,10 +60,27 @@
     @OperationLog("Create 鐗╂枡鍒嗙被琛�")
     @PostMapping("/matnrGroup/save")
     public R save(@RequestBody MatnrGroup matnrGroup) {
+        if (Objects.isNull(matnrGroup)) {
+            throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        if (Objects.isNull(matnrGroup.getName())) {
+            throw new CoolException("鍒嗙粍鍚嶇О涓嶈兘涓虹┖锛侊紒");
+        }
+        if (Objects.isNull(matnrGroup.getCode())) {
+            throw new CoolException("鍒嗙粍缂栫爜涓嶈兘涓虹┖锛侊紒");
+        }
         matnrGroup.setCreateBy(getLoginUserId());
-        matnrGroup.setCreateTime(new Date());
         matnrGroup.setUpdateBy(getLoginUserId());
-        matnrGroup.setUpdateTime(new Date());
+        List<MatnrGroup> list = matnrGroupService.list(new LambdaQueryWrapper<MatnrGroup>()
+                .eq(MatnrGroup::getCode, matnrGroup.getCode()));
+        if (!list.isEmpty()) {
+            throw new CoolException("鐗╂枡鍒嗙粍缂栫爜涓嶈兘閲嶅锛侊紒");
+        }
+        List<MatnrGroup> groups = matnrGroupService.list(new LambdaQueryWrapper<MatnrGroup>()
+                .eq(MatnrGroup::getName, matnrGroup.getName()));
+        if (!groups.isEmpty()) {
+            throw new CoolException("鍒嗙粍宸插瓨鍦紝璇峰嬁閲嶅娣诲姞锛侊紒");
+        }
         if (!matnrGroupService.save(matnrGroup)) {
             return R.error("Save Fail");
         }
@@ -106,9 +124,17 @@
     }
 
     @PreAuthorize("hasAuthority('manager:matnrGroup:list')")
-    @GetMapping("/matnrGroup/tree")
-    public R tree() {
-        List<MatnrGroup> matnrs = matnrGroupService.list(new LambdaQueryWrapper<>());
+    @PostMapping("/matnrGroup/tree")
+    public R tree(@RequestBody(required = false) Map<String, Object> map) {
+        List<MatnrGroup> matnrs = new ArrayList<>();
+        if (Objects.isNull(map)) {
+            matnrs = matnrGroupService.list(new LambdaQueryWrapper<>());
+        } else {
+            if (Objects.isNull(map.get("condition"))) {
+                return R.ok("condition鍙傛暟涓嶈兘涓虹┖锛侊紒");
+            }
+            matnrs = matnrGroupService.list(new LambdaQueryWrapper<MatnrGroup>().like(MatnrGroup::getName, map.get("condition")));
+        }
         List<MatnrGroup> treeData = Utils.toTreeData(matnrs, 0L, MatnrGroup::getParentId, MatnrGroup::getId, MatnrGroup::setChildren);
         return R.ok().add(treeData);
     }

--
Gitblit v1.9.1