From 2e3716054aa57e2a41ee39c4ea0cd776fd74f260 Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期四, 26 九月 2024 19:54:14 +0800
Subject: [PATCH] 第一版

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

diff --git a/src/main/java/com/zy/asrs/controller/LocMastController.java b/src/main/java/com/zy/asrs/controller/LocMastController.java
index cae4250..2d82d5e 100644
--- a/src/main/java/com/zy/asrs/controller/LocMastController.java
+++ b/src/main/java/com/zy/asrs/controller/LocMastController.java
@@ -15,10 +15,12 @@
 import com.zy.asrs.entity.param.LocMastInitParam;
 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.*;
@@ -66,15 +68,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");
         }
     }
 
@@ -96,6 +107,9 @@
             return R.error();
         }
         LocMast oldLocMast = locMastService.selectById(locMast.getLocNo());
+        if (locMast.getLocSts().equals("F") && (oldLocMast.getLocSts().equals("D") || oldLocMast.getLocSts().equals("O"))) {
+            return R.error("褰撳墠鎿嶄綔宸茶闃绘锛岃鑱旂郴绠$悊鍛�");
+        }
         // 鏈夌墿鏂欐椂淇敼涓虹┖搴撲綅鎴栬�呯┖鏉垮簱浣嶏紝鍒欏垹闄ゅ簱瀛樻槑缁�
         if (oldLocMast.getLocSts().equals("R") || oldLocMast.getLocSts().equals("F")) {
             if (locMast.getLocSts().equals("O") || locMast.getLocSts().equals("D")) {
@@ -170,13 +184,20 @@
                     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;
                         }
                     }
+                    Date now =  new Date();
                     LocMast locMast = new LocMast();
                     locMast.setLocNo(locNo);
                     locMast.setLocSts("O");
@@ -184,19 +205,20 @@
                     locMast.setBay1(b); // 鍒�
                     locMast.setLev1(l); // 灞�
                     locMast.setCrnNo(crnNo); // 鍫嗗灈鏈�
-                    if (null != param.getWhsType()) {
-                        locMast.setWhsType(Long.valueOf(param.getWhsType()));
-                    }
+                    locMast.setLocType1(!Cools.isEmpty(param.getLocType1()) ? param.getLocType1() : 1);
+                    locMast.setLocType2(param.getLocType2());
+                    locMast.setLocType3(param.getLocType3());
                     locMast.setAppeUser(getUserId());
-                    locMast.setAppeTime(new Date());
+                    locMast.setAppeTime(now);
                     locMast.setModiUser(getUserId());
-                    locMast.setModiTime(new Date());
+                    locMast.setModiTime(now);
                     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