From 4dffb4cbf5febb2e8f7436f28ca3470a35bee5d4 Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期一, 28 四月 2025 12:43:04 +0800
Subject: [PATCH] #

---
 src/main/resources/mapper/LocDetlMapper.xml |  112 ++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 80 insertions(+), 32 deletions(-)

diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 2ef13d2..61c2dc6 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -97,22 +97,28 @@
         <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>
     </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.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>
 
@@ -129,19 +135,19 @@
     <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
@@ -149,7 +155,7 @@
         where 1=1
         <include refid="stockOutCondition"></include>
         group by a.matnr
-     ) b
+        ) b
     </select>
 
     <select id="getStockStatisExcel" resultType="com.zy.asrs.entity.LocDetl">
@@ -199,19 +205,30 @@
         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="orderNo != null and orderNo != ''">
-            and a.orderNo = #{orderNo}
+        <!--        <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)
+        DATEPART(yyyy,a.modi_time),DATEPART(mm,a.modi_time),DATEPART(dd,a.modi_time), a.anfme
         desc,
         NEWID(),
         case
@@ -270,11 +287,42 @@
 
     <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>
     </select>
 
+    <select id="queryStockTotal" resultType="com.zy.asrs.entity.result.StockVo">
+        select
+        matnr,
+        batch,
+        count(anfme) as count
+        from asr_loc_detl
+        where 1=1
+        group by matnr,batch
+    </select>
+    <select id="sum" resultType="java.lang.Integer">
+        SELECT SUM(anfme) FROM asr_loc_detl
+    </select>
+    <select id="unreason" resultMap="BaseResultMap">
+        SELECT
+            *
+        FROM
+            [dbo].[asr_loc_detl]
+        WHERE
+            DATALENGTH( batch ) != 11 or
+            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>
 </mapper>

--
Gitblit v1.9.1