From 41c2e9f0a5a14382bbc696021fa5ec0ad6ec7e51 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期三, 14 十二月 2022 12:01:51 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java |   39 ++++++++++++++++++++++++++++++++-------
 1 files changed, 32 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
index fd417b0..a85ae4b 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -32,6 +32,11 @@
     }
 
     @Override
+    public LocMast queryFreeLocMast0(Integer row, Short locType1) {
+        return this.baseMapper.queryFreeLocMast0(row, locType1);
+    }
+
+    @Override
     public List<String> queryGroupEmptyStock(String sourceLocNo) {
         if (Cools.isEmpty(sourceLocNo)) {
             return null;
@@ -48,7 +53,7 @@
         if (locMast == null) {
             return false;
         }
-        return this.baseMapper.selectEmptyLocCount(locMast.getLocType1(), locMast.getCrnNo()) > 1;
+        return this.baseMapper.selectEmptyLocCount(locMast.getCrnNo()) > 1;
     }
 
     @Override
@@ -58,7 +63,7 @@
 
     @Override
     public Boolean isOutMost(String locNo, Boolean pakin) {
-        return Integer.parseInt(locNo.substring(0, 2)) == Utils.getOutLayerRow(locNo, true);
+        return Integer.parseInt(locNo.substring(0, 2)) == Utils.getOutLayerRow(locNo, pakin);
     }
 
     public static void main(String[] args) {
@@ -77,24 +82,31 @@
         } else {
             throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
         }
-
-        for (int i = 0; i<locNos.size(); i++) {
+        LocMast result = null;
+        // 鍏ュ簱澶栧眰搴撲綅婊炵┖
+        for (int i = 0; i<locNos.size() - 1; i++) {
             LocMast locMast = this.selectById(locNos.get(i));
             if (locMast.getLocSts().equals("O")) {
                 if (i == 0) {
-                    return locMast;
+                    result = locMast;
                 } else {
                     LocMast lastLoc = this.selectById(locNos.get(i - 1));
                     if (lastLoc.getLocSts().equals("F") || lastLoc.getLocSts().equals("D")
                             || lastLoc.getLocSts().equals("S") || lastLoc.getLocSts().equals("X")) {
-                        return locMast;
+                        if (result == null) {
+                            result = locMast;
+                        }
                     } else {
                         break;
                     }
                 }
+            } else if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D")) {
+                if (result != null) {
+                    result = null;
+                }
             }
         }
-        return null;
+        return result;
     }
 
     @Override
@@ -114,4 +126,17 @@
         workService.shuttleTransfer(groupLoc);
     }
 
+    @Override
+    public Integer getOutCrnNo(LocMast locMast) {
+        int row = Utils.getRow(locMast.getLocNo());
+        if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) {
+            return 1;
+        }
+        if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) {
+            return 3;
+        } else {
+            return locMast.getCrnNo();
+        }
+    }
+
 }

--
Gitblit v1.9.1