From ef69d3bad0c7f03da11cb1c1e46a84bcebe02bc4 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 25 三月 2025 10:44:48 +0800
Subject: [PATCH] 修改 # 物料分组编码规则优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java |   22 ++++++++++++----------
 1 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java
index 6cb941a..63d4d69 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java
@@ -12,6 +12,7 @@
 import com.vincent.rsf.server.manager.mapper.LocTypeRelaMapper;
 import com.vincent.rsf.server.manager.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -76,13 +77,15 @@
     @Transactional(rollbackFor = Exception.class)
     public R initLocs(LocMastInitParam param) {
         //娓呯┖琛�
-        if (this.baseMapper.delete(new LambdaUpdateWrapper<>()) < 0) {
-            throw new CoolException("鏁版嵁搴撳垵濮嬪寲澶辫触锛氳�佹暟鎹垹闄ゅけ璐ワ紒锛�");
-        }
-        WarehouseAreas warehouseAreas = warehouseAreasService.getById(param.getAreaId());
+        this.baseMapper.deleteAll();
+
+        WarehouseAreas warehouseAreas = warehouseAreasService.getOne(new LambdaQueryWrapper<WarehouseAreas>()
+                .eq(WarehouseAreas::getWarehouseId, param.getWarehouseId())
+                .eq(WarehouseAreas::getId, param.getAreaId()));
         if (Objects.isNull(warehouseAreas)) {
             throw new CoolException("搴撳尯涓嶅瓨鍦紒锛�");
         }
+        String join = StringUtils.join(param.getTypeIds(), ",");
 
         List<Loc> list = new ArrayList<>();
         for (int r = param.getStartRow(); r <= param.getEndRow(); r++) {
@@ -96,10 +99,9 @@
                             .setRow(r)
                             .setCol(b)
                             .setLev(l)
+                            .setType(join)
                             .setAreaId(param.getAreaId())
-                            .setWarehouseId(warehouseAreas.getWarehouseId())
-                            .setType(param.getType());
-
+                            .setWarehouseId(warehouseAreas.getWarehouseId());
                     list.add(loc);
                 }
             }
@@ -146,8 +148,7 @@
         if (locs.getId().isEmpty()) {
             throw new CoolException("搴撲綅ID涓嶈兘涓虹┖锛侊紒");
         }
-        Loc loc = locs.getLoc();
-        if (Objects.isNull(loc)) {
+        if (Objects.isNull(locs.getLocAreaId())) {
             throw new CoolException("淇敼搴撲綅淇℃伅涓嶈兘涓虹┖锛侊紒");
         }
         List<LocArea> locAreas = locAreaService.list(new LambdaQueryWrapper<LocArea>().eq(LocArea::getId, locs.getLocAreaId()));
@@ -157,7 +158,8 @@
         List<LocAreaRela> relas = new ArrayList<>();
         locs.getId().forEach(id -> {
             LocAreaRela locAreaRela = new LocAreaRela();
-            locAreaRela.setLocId(id).setLocAreaId(locs.getLocAreaId());
+            locAreaRela.setLocId(id)
+                    .setLocAreaId(locs.getLocAreaId());
             relas.add(locAreaRela);
         });
         if (!locAreaRelaService.saveBatch(relas)) {

--
Gitblit v1.9.1