From 32e151c9022eb8b00a76bfff8ac66bbccee9b6b9 Mon Sep 17 00:00:00 2001
From: qlsxk <qlsxk@qq.com>
Date: 星期五, 26 九月 2025 14:11:12 +0800
Subject: [PATCH] #

---
 src/main/resources/mapper/LocDetlMapper.xml |   99 ++++++++++++++++---------------------------------
 1 files changed, 33 insertions(+), 66 deletions(-)

diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 70de3ea..7335503 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -98,7 +98,7 @@
             and a.anfme like '%' + #{anfme} + '%'
         </if>
         <if test="batch!=null and batch!='' ">
-            and a.batch like  #{batch}
+            and a.batch like  '%' + #{batch} + '%'
         </if>
         <if test="startTime!=null and endTime!=null">
             and a.modi_time between #{startTime} and #{endTime}
@@ -106,13 +106,20 @@
         <if test="crnNo!=null and crnNo!='' ">
             and b.crn_no=#{crnNo}
         </if>
+        <if test="specs!=null and specs!='' ">
+            and a.specs=#{specs}
+        </if>
+        <if test="model!=null and model!='' ">
+            and a.model=#{model}
+        </if>
+
     </sql>
 
     <select id="getStockOutPage" resultMap="BaseResultMap">
         select * from
         (
         select
-        ROW_NUMBER() over (order by a.appe_time,a.matnr,a.loc_no) as row,
+        ROW_NUMBER() over (order by a.source desc, a.appe_time,a.matnr,a.loc_no) as row,
         a.*
         from asr_loc_detl a
         left join asr_loc_mast b on a.loc_no = b.loc_no
@@ -120,6 +127,7 @@
         and b.loc_sts = 'F'
         <include refid="stockOutCondition"></include>
         ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
+
     </select>
 
     <select id="getStockOutPageCount" parameterType="java.util.Map" resultType="java.lang.Integer">
@@ -130,6 +138,15 @@
         where 1=1
         and b.loc_sts = 'F'
         <include refid="stockOutCondition"></include>
+    </select>
+
+    <select id="getSameDetlList" resultType="java.lang.String">
+        SELECT ld.loc_no FROM asr_loc_detl ld
+        LEFT JOIN asr_loc_mast lm ON ld.loc_no = lm.loc_no
+        WHERE 1 = 1
+        AND ld.matnr = #{matnr}
+        AND lm.loc_sts = 'F'
+        ORDER BY ld.appe_time ASC
     </select>
 
     <select id="getStockStatis" resultType="com.zy.asrs.entity.LocDetl">
@@ -205,83 +222,20 @@
         where 1=1
         and b.loc_sts = 'F'
         and a.matnr = #{matnr}
-        <!--        <choose>-->
-        <!--            <when test="batch != null and batch != ''">-->
-        <!--                and a.batch = #{batch}-->
-        <!--            </when>-->
-        <!--            <otherwise>-->
-        <!--                and (a.batch IS NULL OR a.batch = '')-->
-        <!--            </otherwise>-->
-        <!--        </choose>-->
         <if test="batch != null and batch != ''">
             and a.batch = #{batch}
         </if>
         <if test="orderNo != null and orderNo != ''">
             and a.order_no = #{orderNo}
         </if>
-
         <if test="locNos != null and locNos.size > 0">
             and b.loc_no not in
             <foreach item="item" collection="locNos" index="index"  separator="," open="(" close=")">
                 #{item}
             </foreach>
         </if>
-
         order by
-        DATEPART(yyyy,a.modi_time),DATEPART(mm,a.modi_time),DATEPART(dd,a.modi_time), a.anfme
-        desc,
-        NEWID(),
-        case
-        when (left(a.loc_no, 2) = '01') then 0
-        when (left(a.loc_no, 2) = '02') then 1
-        when (left(a.loc_no, 2) = '03') then 1
-        when (left(a.loc_no, 2) = '04') then 0
-        when (left(a.loc_no, 2) = '05') then 0
-        when (left(a.loc_no, 2) = '06') then 1
-        when (left(a.loc_no, 2) = '07') then 1
-        when (left(a.loc_no, 2) = '08') then 0
-        when (left(a.loc_no, 2) = '09') then 0
-        when (left(a.loc_no, 2) = '10') then 1
-        when (left(a.loc_no, 2) = '11') then 1
-        when (left(a.loc_no, 2) = '12') then 0
-        when (left(a.loc_no, 2) = '13') then 0
-        when (left(a.loc_no, 2) = '14') then 1
-        when (left(a.loc_no, 2) = '15') then 1
-        when (left(a.loc_no, 2) = '16') then 0
-        when (left(a.loc_no, 2) = '17') then 0
-        when (left(a.loc_no, 2) = '18') then 1
-        when (left(a.loc_no, 2) = '19') then 1
-        when (left(a.loc_no, 2) = '20') then 0
-        when (left(a.loc_no, 2) = '21') then 0
-        when (left(a.loc_no, 2) = '22') then 1
-        when (left(a.loc_no, 2) = '23') then 1
-        when (left(a.loc_no, 2) = '24') then 0
-        when (left(a.loc_no, 2) = '25') then 0
-        when (left(a.loc_no, 2) = '26') then 1
-        when (left(a.loc_no, 2) = '27') then 1
-        when (left(a.loc_no, 2) = '28') then 0
-        when (left(a.loc_no, 2) = '29') then 0
-        when (left(a.loc_no, 2) = '30') then 1
-        when (left(a.loc_no, 2) = '31') then 1
-        when (left(a.loc_no, 2) = '32') then 0
-        when (left(a.loc_no, 2) = '33') then 0
-        when (left(a.loc_no, 2) = '34') then 1
-        when (left(a.loc_no, 2) = '35') then 1
-        when (left(a.loc_no, 2) = '36') then 0
-        when (left(a.loc_no, 2) = '37') then 0
-        when (left(a.loc_no, 2) = '38') then 1
-        when (left(a.loc_no, 2) = '39') then 1
-        when (left(a.loc_no, 2) = '40') then 0
-        when (left(a.loc_no, 2) = '41') then 0
-        when (left(a.loc_no, 2) = '42') then 1
-        when (left(a.loc_no, 2) = '43') then 1
-        when (left(a.loc_no, 2) = '44') then 0
-        when (left(a.loc_no, 2) = '45') then 0
-        when (left(a.loc_no, 2) = '46') then 1
-        when (left(a.loc_no, 2) = '47') then 1
-        when (left(a.loc_no, 2) = '48') then 0
-        else 0
-        end
+        DATEPART(yyyy,a.appe_time),DATEPART(mm,a.appe_time),DATEPART(dd,a.appe_time), a.anfme
         desc
     </select>
 
@@ -322,5 +276,18 @@
         where loc_no=#{locNo}
     </select>
 
+    <select id="selectByMatnr" resultType="com.zy.asrs.entity.LocDetl">
+        select * from asr_loc_detl where matnr=#{matnr}
+    </select>
 
+    <select id="selectMatnrSpecs" resultMap="BaseResultMap">
+        select
+            top 1 *
+        from asr_loc_detl a
+                 left join asr_loc_mast b on a.loc_no = b.loc_no
+        where 1=1
+          and b.loc_no = #{locNo}
+          and a.matnr = #{matnr}
+          and a.specs = #{specs}
+    </select>
 </mapper>

--
Gitblit v1.9.1