From efabc6ba991acfd01d38bb0bf4e8cfd772416617 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期一, 05 一月 2026 13:07:39 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/StaController.java |   41 +++++++++++++++++++++++++++++++++--------
 1 files changed, 33 insertions(+), 8 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/StaController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/StaController.java
index ec549bc..40b0939 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/StaController.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/StaController.java
@@ -4,16 +4,20 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.zy.acs.framework.common.Cools;
 import com.zy.acs.framework.common.R;
-import com.zy.acs.manager.common.utils.ExcelUtil;
+import com.zy.acs.framework.exception.CoolException;
 import com.zy.acs.manager.common.annotation.OperationLog;
 import com.zy.acs.manager.common.domain.BaseParam;
 import com.zy.acs.manager.common.domain.KeyValVo;
 import com.zy.acs.manager.common.domain.PageParam;
+import com.zy.acs.manager.common.utils.ExcelUtil;
 import com.zy.acs.manager.manager.entity.Sta;
+import com.zy.acs.manager.manager.entity.StaReserve;
+import com.zy.acs.manager.manager.service.StaReserveService;
 import com.zy.acs.manager.manager.service.StaService;
 import com.zy.acs.manager.system.controller.BaseController;
 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;
@@ -25,6 +29,8 @@
 
     @Autowired
     private StaService staService;
+    @Autowired
+    private StaReserveService staReserveService;
 
     @PreAuthorize("hasAuthority('manager:sta:list')")
     @PostMapping("/sta/page")
@@ -40,7 +46,7 @@
         return R.ok().add(staService.list());
     }
 
-    @PreAuthorize("hasAuthority('system:sta:list')")
+    @PreAuthorize("hasAuthority('manager:sta:list')")
     @PostMapping({"/sta/many/{ids}", "/stas/many/{ids}"})
     public R many(@PathVariable Long[] ids) {
         return R.ok().add(staService.listByIds(Arrays.asList(ids)));
@@ -56,10 +62,16 @@
     @OperationLog("Create Sta")
     @PostMapping("/sta/save")
     public R save(@RequestBody Sta sta) {
-        sta.setCreateBy(getLoginUserId());
-        sta.setCreateTime(new Date());
-        sta.setUpdateBy(getLoginUserId());
-        sta.setUpdateTime(new Date());
+        if (staService.count(new LambdaQueryWrapper<Sta>()
+                .eq(Sta::getStaNo, sta.getStaNo())) > 0) {
+            return R.error("sta No. has already exist !");
+        }
+        Long loginUserId = getLoginUserId();
+        Date now = new Date();
+        sta.setCreateBy(loginUserId);
+        sta.setCreateTime(now);
+        sta.setUpdateBy(loginUserId);
+        sta.setUpdateTime(now);
         if (!staService.save(sta)) {
             return R.error("Save Fail");
         }
@@ -70,6 +82,15 @@
     @OperationLog("Update Sta")
     @PostMapping("/sta/update")
     public R update(@RequestBody Sta sta) {
+        // 鍞竴鎬ф牎楠岋細鍙湁褰� sta No. 闈炵┖鏃舵墠鏍¢獙锛堥伩鍏嶇┖鍊艰鍒わ級
+        if (!Cools.isEmpty(sta.getStaNo())) {
+            boolean exists = staService.count(new LambdaQueryWrapper<Sta>()
+                    .eq(Sta::getStaNo, sta.getStaNo())
+                    .ne(Sta::getId, sta.getId())) > 0;
+            if (exists) {
+                throw new CoolException("failed to update, because sta No. has already exist !");
+            }
+        }
         sta.setUpdateBy(getLoginUserId());
         sta.setUpdateTime(new Date());
         if (!staService.updateById(sta)) {
@@ -81,9 +102,13 @@
     @PreAuthorize("hasAuthority('manager:sta:remove')")
     @OperationLog("Delete Sta")
     @PostMapping("/sta/remove/{ids}")
+    @Transactional
     public R remove(@PathVariable Long[] ids) {
-        if (!staService.removeByIds(Arrays.asList(ids))) {
-            return R.error("Delete Fail");
+        for (Long id : ids) {
+            staReserveService.remove(new LambdaQueryWrapper<StaReserve>().eq(StaReserve::getStaId, id));
+            if (!staService.removeById(id)) {
+                throw new CoolException("remove Fail");
+            }
         }
         return R.ok("Delete Success").add(ids);
     }

--
Gitblit v1.9.1