From 51e9b24c421dd2e77ec5809a62c35fec115d5876 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 20 三月 2025 14:12:02 +0800
Subject: [PATCH] #添加 1. 添加库位逻辑分区 2. 物料添加自动生成编码 3. 库区字段显示优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrGroupController.java |   43 +++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 41 insertions(+), 2 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 85db6ef..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
@@ -2,8 +2,11 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+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;
 import com.vincent.rsf.server.common.domain.BaseParam;
@@ -12,6 +15,7 @@
 import com.vincent.rsf.server.manager.entity.MatnrGroup;
 import com.vincent.rsf.server.manager.service.MatnrGroupService;
 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.web.bind.annotation.*;
@@ -19,6 +23,7 @@
 import javax.servlet.http.HttpServletResponse;
 import java.util.*;
 
+@Api(tags = "鐗╂枡鍒嗙粍")
 @RestController
 public class MatnrGroupController extends BaseController {
 
@@ -55,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");
         }
@@ -102,6 +124,23 @@
     }
 
     @PreAuthorize("hasAuthority('manager:matnrGroup:list')")
+    @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);
+    }
+
+
+    @PreAuthorize("hasAuthority('manager:matnrGroup:list')")
     @PostMapping("/matnrGroup/export")
     public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
         ExcelUtil.build(ExcelUtil.create(matnrGroupService.list(), MatnrGroup.class), response);

--
Gitblit v1.9.1