From abb7c67088e18f8052eeff6d35b611286eedcee5 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期五, 21 三月 2025 15:52:02 +0800
Subject: [PATCH] #出入库改动

---
 src/main/java/com/zy/common/service/CommonService.java |   38 +++++++++++++++++++++++++++++++++-----
 1 files changed, 33 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index cd310d2..11f1840 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -33,6 +33,12 @@
     public static final List<Integer> SECOND_GROUP_ROW_LIST = new ArrayList<Integer>() {{
         add(5);add(6);add(7);add(8);add(9);add(10);add(11);
     }};
+    public static final List<Integer> FIRST_GROUP_ROW_LIST2 = new ArrayList<Integer>() {{
+        add(2);add(3);add(4);
+    }};
+    public static final List<Integer> SECOND_GROUP_ROW_LIST10 = new ArrayList<Integer>() {{
+        add(5);add(6);add(7);add(8);add(9);add(10);
+    }};
 
     @Autowired
     private WrkMastService wrkMastService;
@@ -211,11 +217,33 @@
 
             List<LocMast> locMasts = locMastService.queryFreeLocMast(rows, rows.size(), locTypeDto.getLocType1());
             if (!Cools.isEmpty(locMasts)) {
-                Integer innermostRow = Utils.getOutLayerRow(locMasts.get(0).getLocNo(), false);
+                Integer innermostRow = Utils.getInnermostRow(locMasts.get(0).getLocNo());
                 for (LocMast one : locMasts) {
                     if (one.getRow1().equals(innermostRow)) {
                         locMast = one;
                         break;
+                    }
+                }
+            }
+            if (Cools.isEmpty(locMast)){
+                if (rows.equals(FIRST_GROUP_ROW_LIST)){
+                    rows=FIRST_GROUP_ROW_LIST2;
+                }else if (rows.equals(SECOND_GROUP_ROW_LIST)){
+                    rows=SECOND_GROUP_ROW_LIST10;
+                }
+                List<LocMast> locMasts1 = locMastService.queryFreeLocMast2(rows, rows.size(), locTypeDto.getLocType1());
+                if (!Cools.isEmpty(locMasts1)) {
+                    Integer innermostRow = Utils.getInnermostRow(locMasts1.get(0).getLocNo());
+                    if (rows.equals(FIRST_GROUP_ROW_LIST2)){
+                        innermostRow=innermostRow+1;
+                    }else if (rows.equals(SECOND_GROUP_ROW_LIST10)){
+                        innermostRow=innermostRow-1;
+                    }
+                    for (LocMast one : locMasts1) {
+                        if (one.getRow1().equals(innermostRow)) {
+                            locMast = one;
+                            break;
+                        }
                     }
                 }
             }
@@ -235,10 +263,10 @@
                 times = 0;
             }
             // 璐х墿妫�绱綆搴撲綅浠撳け璐ワ紝鍏煎楂樺簱浣嶄粨鍚庣户缁墽琛�
-            if (locTypeDto.getLocType1() == 1) {
-                locTypeDto.setLocType1((short) 2);
-                return getLocNo(1, staDescId, sourceStaNo, matNos, locTypeDto, oldLocType, times);
-            }
+//            if (locTypeDto.getLocType1() == 1) {
+//                locTypeDto.setLocType1((short) 2);
+//                return getLocNo(1, staDescId, sourceStaNo, matNos, locTypeDto, oldLocType, times);
+//            }
             log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times);
             throw new CoolException("娌℃湁绌哄簱浣�");
         }

--
Gitblit v1.9.1