From 6a7b8832aadccd2930ccf9b4e09890b78887e65e Mon Sep 17 00:00:00 2001
From: qlsxk <qlsxk@qq.com>
Date: 星期四, 16 十月 2025 14:34:22 +0800
Subject: [PATCH] #

---
 src/main/resources/mapper/LocDetlMapper.xml |  148 ++++++++++++++++++++----------------------------
 1 files changed, 62 insertions(+), 86 deletions(-)

diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 5b323a7..7335503 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -97,26 +97,37 @@
         <if test="anfme!=null and anfme!='' ">
             and a.anfme like '%' + #{anfme} + '%'
         </if>
+        <if test="batch!=null and batch!='' ">
+            and a.batch like  '%' + #{batch} + '%'
+        </if>
         <if test="startTime!=null and endTime!=null">
             and a.modi_time between #{startTime} and #{endTime}
         </if>
         <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,
-            a.*
-            from asr_loc_detl a
-            left join asr_loc_mast b on a.loc_no = b.loc_no
-            where 1=1
-            and b.loc_sts = 'F'
-            <include refid="stockOutCondition"></include>
+        select
+        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
+        where 1=1
+        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">
@@ -129,22 +140,31 @@
         <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">
         select * from
         (
-            select
-            ROW_NUMBER() over (order by sum(a.anfme) desc) as row
-            , a.matnr
-            , sum(a.anfme) as anfme
-            from asr_loc_detl a
-            where 1=1
-            <include refid="stockOutCondition"></include>
-            group by a.matnr
-         ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
+        select
+        ROW_NUMBER() over (order by sum(a.anfme) desc) as row
+        , a.matnr
+        , sum(a.anfme) as anfme
+        from asr_loc_detl a
+        where 1=1
+        <include refid="stockOutCondition"></include>
+        group by a.matnr
+        ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
     </select>
 
     <select id="getStockStatisCount" parameterType="java.util.Map" resultType="java.lang.Integer">
-     select count(1) as count from
+        select count(1) as count from
         (
         select
         a.matnr
@@ -152,7 +172,7 @@
         where 1=1
         <include refid="stockOutCondition"></include>
         group by a.matnr
-     ) b
+        ) b
     </select>
 
     <select id="getStockStatisExcel" resultType="com.zy.asrs.entity.LocDetl">
@@ -202,90 +222,27 @@
         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.orderNo = #{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>
 
     <select id="queryStockAnfme" resultType="java.lang.Double">
         select sum(anfme) as count from man_loc_detl
-         where 1=1
-         and matnr = #{matnr}
+        where 1=1
+        and matnr = #{matnr}
         <if test="batch != null and batch != ''">
             and batch = #{batch}
         </if>
@@ -313,5 +270,24 @@
             batch LIKE '%[a-z]%'
     </select>
 
+    <select id="selectLocDetlSumQty" resultType="double">
+        select SUM(anfme) anfme
+        from asr_loc_detl
+        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