From 78a59eda850857e1bfeb48541f0c64d442877a4d Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期二, 08 四月 2025 11:17:10 +0800
Subject: [PATCH] #实现pda简单入库出库操作

---
 src/main/resources/mapper/LocMastMapper.xml |   41 ++++++++++++++++++++++++++++++++++-------
 1 files changed, 34 insertions(+), 7 deletions(-)

diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index bec71d6..3ed94b1 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -62,15 +62,45 @@
                 <foreach item="item" collection="rows" index="index"  separator="," open="(" close=")">
                     #{item}
                 </foreach>
+                and loc_no not in ('0100101', '0200101', '0300101', '0400101')
                 and loc_sts = 'O'
-                <if test="locType1 != null">
-                    and loc_type1 = #{locType1}
-                </if>
-                /*and loc_no not in ('0100101', '0200101', '0300101', '1200701', '1300701', '1400701', '1900401', '2000401', '2100401')*/
                 group by ctn_no
             ) a
             where count = #{rowsLen}
             order by right(ctn_no, 2) + 0 asc, left(ctn_no, 3) + 0 asc
+        )
+    </select>
+    <select id="queryFreeLocMast" resultMap="BaseResultMap">
+        select
+        *
+        from asr_loc_mast
+        where 1=1
+        and row1 in
+        <foreach item="item" collection="rows" index="index"  separator="," open="(" close=")">
+            #{item}
+        </foreach>
+        and ctn_no =
+        (
+        select
+        top 1
+        ctn_no
+        from (
+        select
+        ctn_no,
+        count(1) as count
+        from asr_loc_mast
+        where 1=1
+        and row1 in
+        <foreach item="item" collection="rows" index="index"  separator="," open="(" close=")">
+            #{item}
+        </foreach>
+        and loc_no not in ('0100101', '0200101', '0300101', '0400101')
+        and (bay1 = 3 or bay1 = 11 or (bay1 = 7 and row1 = 10))
+        and loc_sts = 'O'
+        group by ctn_no
+        ) a
+        where count = #{rowsLen}
+        order by right(ctn_no, 2) + 0 asc, left(ctn_no, 3) + 0 asc
         )
     </select>
 
@@ -79,9 +109,6 @@
         from asr_loc_mast
         where row1=#{row}
         and loc_sts='O'
-        <if test="locType1 != null">
-            and loc_type1 = #{locType1}
-        </if>
         order by loc_sts desc ,lev1 asc,bay1 asc
     </select>
 

--
Gitblit v1.9.1