From 1a61066b6021b77a174ab0f634560cc6350fcc22 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期四, 13 六月 2024 16:29:06 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/LocMastController.java |   37 ++++++++++++++++++++++++++++++++-----
 1 files changed, 32 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LocMastController.java b/src/main/java/com/zy/asrs/controller/LocMastController.java
index e343c2b..f8ab79b 100644
--- a/src/main/java/com/zy/asrs/controller/LocMastController.java
+++ b/src/main/java/com/zy/asrs/controller/LocMastController.java
@@ -10,15 +10,19 @@
 import com.core.common.Cools;
 import com.core.common.DateUtils;
 import com.core.common.R;
+import com.zy.asrs.entity.BasWhs;
 import com.zy.asrs.entity.LocDetl;
 import com.zy.asrs.entity.LocMast;
 import com.zy.asrs.entity.param.LocMastInitParam;
+import com.zy.asrs.service.BasWhsService;
 import com.zy.asrs.service.LocDetlService;
 import com.zy.asrs.service.LocMastService;
+import com.zy.asrs.utils.Utils;
 import com.zy.common.entity.Parameter;
 import com.zy.common.model.Shelves;
 import com.zy.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.*;
@@ -30,6 +34,8 @@
     private LocMastService locMastService;
     @Autowired
     private LocDetlService locDetlService;
+    @Autowired
+    private BasWhsService basWhsService;
 
     @RequestMapping(value = "/locMast/init/pwd")
     public R locMastInitPwd(@RequestParam(required = false) String pwd) {
@@ -66,15 +72,24 @@
     }
 
     private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
+        boolean sign = false;
         for (Map.Entry<String, Object> entry : map.entrySet()){
             String val = String.valueOf(entry.getValue());
             if (val.contains(RANGE_TIME_LINK)){
                 String[] dates = val.split(RANGE_TIME_LINK);
                 wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
                 wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
-            } else {
+            } else if (entry.getKey().equals("loc_no")){
                 wrapper.like(entry.getKey(), val);
+            } else {
+                if (entry.getKey().equals("loc_type1")){
+                    sign=true;
+                }
+                wrapper.eq(entry.getKey(), val);
             }
+        }
+        if (sign){
+            wrapper.and().ne("loc_sts","Y");
         }
     }
 
@@ -166,6 +181,10 @@
 //    @Transactional
     public R init(LocMastInitParam param) {
         List<LocMast> list = new ArrayList<>();
+        BasWhs basWhs = basWhsService.selectByIdentifying(param.getIdentifying());
+        if (Cools.isEmpty(basWhs)){
+            return R.error("搴撳瀷涓嶅瓨鍦紒锛侊紒");
+        }
         for (int r=param.getStartRow(); r<=param.getEndRow(); r++){
             for (int b=param.getStartBay(); b<=param.getEndBay(); b++) {
                 for (int l=param.getStartLev(); l<=param.getEndLev(); l++) {
@@ -173,10 +192,16 @@
                     String locNo = String.format("%02d", r) + String.format("%03d", b) + String.format("%02d", l);
                     // 鑾峰彇鍫嗗灈鏈哄彿
                     int crnNo = 0;
-                    Shelves shelves = new Shelves(param.getEndRow() - param.getStartRow() + 1, param.getCrnAmount());
+                    Shelves shelves = new Shelves(param.getEndRow() - param.getStartRow() + 1, param.getCrnAmount(),param.getStartRow());
                     for (List<Integer> node : shelves.nodes){
+
                         if (node.contains(r)) {
-                            crnNo = shelves.nodes.indexOf(node) + 1;
+                            if (!Cools.isEmpty(param.getStaCrn()) && param.getStaCrn() > 0){
+                                crnNo = shelves.nodes.indexOf(node) + param.getStaCrn();
+                            }else {
+                                crnNo = shelves.nodes.indexOf(node) + 1;
+                            }
+
                             break;
                         }
                     }
@@ -195,12 +220,14 @@
                     locMast.setAppeTime(now);
                     locMast.setModiUser(getUserId());
                     locMast.setModiTime(now);
+                    locMast.setWhsType(basWhs.getId());
                     list.add(locMast);
                 }
             }
         }
-        locMastService.delete(new EntityWrapper<>());
-        locDetlService.delete(new EntityWrapper<>());
+        if (!Cools.isEmpty(param.getEnable()) && param.getEnable() == 1){
+             locMastService.delete(new EntityWrapper<>());
+        }
         locMastService.insertBatch(list);
         return R.ok("鍒濆鍖栨垚鍔�");
     }

--
Gitblit v1.9.1