From dcc2fc4faf3150480c83c1c818d6a945eb6ed007 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期二, 17 三月 2026 14:13:01 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/LocController.java |  156 +++++++++++++++++++++------------------------------
 1 files changed, 65 insertions(+), 91 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/LocController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/LocController.java
index 01e3979..cde1aa9 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/LocController.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/LocController.java
@@ -13,16 +13,10 @@
 import com.zy.acs.manager.common.domain.PageParam;
 import com.zy.acs.manager.common.utils.ExcelUtil;
 import com.zy.acs.manager.manager.controller.param.LocInitParam;
-import com.zy.acs.manager.manager.entity.Code;
-import com.zy.acs.manager.manager.entity.Loc;
-import com.zy.acs.manager.manager.entity.LocSts;
-import com.zy.acs.manager.manager.entity.LocType;
-import com.zy.acs.manager.manager.entity.Zone;
-import com.zy.acs.manager.manager.service.CodeService;
-import com.zy.acs.manager.manager.service.LocService;
-import com.zy.acs.manager.manager.service.LocStsService;
-import com.zy.acs.manager.manager.service.LocTypeService;
-import com.zy.acs.manager.manager.service.ZoneService;
+import com.zy.acs.manager.manager.entity.*;
+import com.zy.acs.manager.manager.enums.LocStsType;
+import com.zy.acs.manager.manager.enums.StatusType;
+import com.zy.acs.manager.manager.service.*;
 import com.zy.acs.manager.system.controller.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -139,70 +133,6 @@
         return R.ok().add(vos);
     }
 
-    @PreAuthorize("hasAuthority('manager:loc:list')")
-    @PostMapping("/loc/export")
-    public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
-        ExcelUtil.build(ExcelUtil.create(locService.list(), Loc.class), response);
-    }
-
-    @PreAuthorize("hasAuthority('manager:loc:save')")
-    @PostMapping("/loc/import")
-    public R importBatch(@RequestBody List<Map<String, Object>> rows) {
-        if (Cools.isEmpty(rows)) {
-            return R.ok();
-        }
-        Date now = new Date();
-        Long userId = getLoginUserId();
-        for (Map<String, Object> row : rows) {
-            Zone zone = resolveZone(readCell(row, "zone"));
-            Integer rowNo = parseInteger(row.get("row"), "row", true);
-            Integer bayNo = parseInteger(row.get("bay"), "bay", true);
-            Integer levNo = parseInteger(row.get("lev"), "lev", true);
-            String locNo = buildLocNo(zone, rowNo, bayNo, levNo);
-
-            Long locStsId = resolveLocStsId(readCell(row, "loc_sts"));
-            Long locTypeId = resolveLocTypeId(readCell(row, "loc_type"));
-            Long codeId = resolveCodeId(readCell(row, "code"));
-            Integer compDirect = parseInteger(row.get("comp_direct"), "comp_direct", false);
-            Double offset = parseDouble(row.get("offset"), "offset");
-
-            Loc loc = locService.selectByLocNo(locNo);
-            boolean exists = loc != null;
-            if (!exists) {
-                loc = new Loc();
-                loc.setUuid(locNo);
-                loc.setLocNo(locNo);
-                loc.setName(locNo);
-                loc.setStatus(1);
-                loc.setDeleted(0);
-                loc.setCreateBy(userId);
-                loc.setCreateTime(now);
-            }
-            loc.setZoneId(zone.getId());
-            loc.setRow(rowNo);
-            loc.setBay(bayNo);
-            loc.setLev(levNo);
-            loc.setLocSts(locStsId);
-            loc.setLocType(locTypeId);
-            loc.setCode(codeId);
-            loc.setCompDirect(compDirect);
-            loc.setOffset(offset);
-            loc.setUpdateBy(userId);
-            loc.setUpdateTime(now);
-
-            if (!exists) {
-                if (!locService.save(loc)) {
-                    throw new CoolException(locNo + " save fail !");
-                }
-            } else {
-                if (!locService.updateById(loc)) {
-                    throw new CoolException(locNo + " update fail !");
-                }
-            }
-        }
-        return R.ok();
-    }
-
     @PreAuthorize("hasAuthority('manager:loc:save')")
     @OperationLog
     @PostMapping("/loc/init")
@@ -257,32 +187,79 @@
         return R.ok("initialize success");
     }
 
+    @PreAuthorize("hasAuthority('manager:loc:list')")
+    @PostMapping("/loc/export")
+    public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
+        ExcelUtil.build(ExcelUtil.create(locService.list(), Loc.class), response);
+    }
+
+    @PreAuthorize("hasAuthority('manager:loc:save')")
+    @PostMapping("/loc/import")
+    public R importBatch(@RequestBody List<Map<String, Object>> rows) {
+        if (Cools.isEmpty(rows)) {
+            return R.ok();
+        }
+        Date now = new Date();
+        Long userId = getLoginUserId();
+        for (Map<String, Object> row : rows) {
+            Zone zone = resolveZone(readCell(row, "zone"));
+            Integer rowNo = parseInteger(row.get("row"), "row", true);
+            Integer bayNo = parseInteger(row.get("bay"), "bay", true);
+            Integer levNo = parseInteger(row.get("lev"), "lev", true);
+            String locNo = buildLocNo(zone, rowNo, bayNo, levNo);
+            if (locService.selectByLocNo(locNo) != null) {
+                continue;
+            }
+
+            Long locStsId = resolveLocStsId(readCell(row, "loc_sts"));
+            Long locTypeId = resolveLocTypeId(readCell(row, "loc_type"));
+            Long codeId = resolveCodeId(readCell(row, "code"));
+            Integer compDirect = parseInteger(row.get("comp_direct"), "comp_direct", false);
+            Double offset = parseDouble(row.get("offset"), "offset");
+
+            Loc loc = new Loc();
+            loc.setZoneId(zone.getId());
+            loc.setUuid(locNo);
+            loc.setLocNo(locNo);
+            loc.setRow(rowNo);
+            loc.setBay(bayNo);
+            loc.setLev(levNo);
+
+            loc.setLocSts(locStsId);
+            loc.setLocType(locTypeId);
+            loc.setCode(codeId);
+            loc.setCompDirect(compDirect);
+            loc.setOffset(offset);
+
+            loc.setStatus(StatusType.ENABLE.val);
+            loc.setCreateBy(userId);
+            loc.setCreateTime(now);
+            loc.setUpdateBy(userId);
+            loc.setUpdateTime(now);
+
+            if (!locService.save(loc)) {
+                throw new CoolException(locNo + " save fail !");
+            }
+        }
+        return R.ok();
+    }
+
     private Zone resolveZone(String identifier) {
         if (Cools.isEmpty(identifier)) {
             throw new CoolException("zone is required");
         }
-        Zone zone = zoneService.getOne(new LambdaQueryWrapper<Zone>().eq(Zone::getUuid, identifier), false);
-        if (zone == null) {
-            zone = zoneService.getOne(new LambdaQueryWrapper<Zone>().eq(Zone::getName, identifier), false);
-        }
-        if (zone == null) {
-            throw new CoolException("zone " + identifier + " not found");
-        }
-        return zone;
+        return zoneService.selectByUuid(identifier);
     }
 
     private Long resolveLocStsId(String identifier) {
         if (Cools.isEmpty(identifier)) {
             throw new CoolException("loc_sts is required");
         }
-        LocSts locSts = locStsService.getOne(new LambdaQueryWrapper<LocSts>().eq(LocSts::getUuid, identifier), false);
-        if (locSts == null) {
-            locSts = locStsService.getOne(new LambdaQueryWrapper<LocSts>().eq(LocSts::getName, identifier), false);
-        }
-        if (locSts == null) {
+        LocStsType locStsType = LocStsType.valueOf(identifier);
+        if (locStsType == null) {
             throw new CoolException("loc_sts " + identifier + " not found");
         }
-        return locSts.getId();
+        return locStsType.val();
     }
 
     private Long resolveLocTypeId(String identifier) {
@@ -290,9 +267,6 @@
             return null;
         }
         LocType locType = locTypeService.getOne(new LambdaQueryWrapper<LocType>().eq(LocType::getUuid, identifier), false);
-        if (locType == null) {
-            locType = locTypeService.getOne(new LambdaQueryWrapper<LocType>().eq(LocType::getName, identifier), false);
-        }
         if (locType == null) {
             throw new CoolException("loc_type " + identifier + " not found");
         }

--
Gitblit v1.9.1