From dc9228656b202a8f1ec7720d78eb0421a94a28c9 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期四, 23 十月 2025 16:20:14 +0800
Subject: [PATCH] 聚乳酸明细增加丙交酯含量,%指标

---
 src/main/resources/mapper/LocDetlMapper.xml |  114 +++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 91 insertions(+), 23 deletions(-)

diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 05abd0f..58f259c 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -122,6 +122,9 @@
         <if test="crnNo!=null and crnNo!='' ">
             and b.crn_no=#{crnNo}
         </if>
+        <if test="owner!=null and owner!='' ">
+            and a.owner=#{owner}
+        </if>
     </sql>
 
     <select id="getStockOutPage" resultMap="BaseResultMap">
@@ -573,10 +576,11 @@
         ROW_NUMBER() over (order by sum(a.anfme) desc) as row
         , a.matnr
         , sum(a.anfme) as anfme
+        , a.owner
         from asr_loc_detl_all a
         where 1=1
         <include refid="stockOutCondition"></include>
-        group by a.matnr
+        group by a.matnr, a.owner
         ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
     </select>
 
@@ -584,13 +588,81 @@
         select count(1) as count from
         (
         select
-        a.matnr
+        a.matnr, a.owner
+        from asr_loc_detl_all a
+        where 1=1
+        <include refid="stockOutCondition"></include>
+        group by a.matnr, a.owner
+        ) b
+    </select>
+
+<!--    鏁伴噺棰勮-->
+    <select id="getWarningNumList" resultType="com.zy.asrs.entity.result.LocDetlAll">
+        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_all a
         where 1=1
         <include refid="stockOutCondition"></include>
         group by a.matnr
-        ) b
+        ) t
+        LEFT JOIN man_mat m ON t.matnr = m.matnr
+        WHERE t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
+        and t.anfme > m.inventory_max or t.anfme &lt; m.inventory_min
+
+
+<!--        select * from-->
+<!--        (-->
+<!--        select-->
+<!--        ROW_NUMBER() over (order by sum(a.anfme) desc) as row-->
+<!--        , a.matnr-->
+<!--        , sum(a.anfme) as anfme-->
+<!--        ,m.inventory_max-->
+<!--        ,m.inventory_min-->
+<!--        from asr_loc_detl_all a-->
+<!--        LEFT JOIN man_mat m on a.matnr = m.matnr-->
+<!--        where 1=1-->
+<!--        <include refid="stockOutCondition"></include>-->
+<!--        group by a.matnr,m.inventory_max,m.inventory_min-->
+<!--        ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})-->
+<!--        and t.anfme>t.inventory_max or t.anfme &lt; t.inventory_min-->
     </select>
+
+    <select id="getWarningNumListCount" parameterType="java.util.Map" resultType="java.lang.Integer">
+<!--        select count(1) from-->
+<!--        (-->
+<!--        select-->
+<!--        ROW_NUMBER() over (order by sum(a.anfme) desc) as row-->
+<!--        , a.matnr-->
+<!--        , sum(a.anfme) as anfme-->
+<!--        ,m.inventory_max-->
+<!--        ,m.inventory_min-->
+<!--        from asr_loc_detl_all a-->
+<!--        LEFT JOIN man_mat m on a.matnr = m.matnr-->
+<!--        where 1=1-->
+<!--        <include refid="stockOutCondition"></include>-->
+<!--        group by a.matnr,m.inventory_max,m.inventory_min-->
+<!--        ) t-->
+
+        select count(1) from
+        (
+        select
+        ROW_NUMBER() over (order by sum(a.anfme) desc) as row
+        , a.matnr
+        , sum(a.anfme) as anfme
+        from asr_loc_detl_all a
+        where 1=1
+        <include refid="stockOutCondition"></include>
+        group by a.matnr
+        ) t
+        LEFT JOIN man_mat m ON t.matnr = m.matnr
+    </select>
+
+
+
 
     <select id="sumAll" resultType="java.lang.Double">
         SELECT SUM(anfme) FROM asr_loc_detl_all
@@ -616,17 +688,19 @@
         FROM
         (
         SELECT
-        loc_no,
+        DISTINCT loc_no,
         locd.matnr,
         locd.maktx,
-        create_time,
+        locd.owner,
+        locd.batch,
+        produce_time as create_time,
+        produce_time,
         locd.specs,
         locd.unit,
         inventory_max,
         inventory_min,
         inventory_age_max,
-        count_anfme,
-        DATEDIFF( DAY, create_time, GETDATE( ) ) AS [diff_time]
+        DATEDIFF( DAY, produce_time, GETDATE( ) ) AS [diff_time]
         FROM
         man_loc_detl locd
         LEFT JOIN (
@@ -641,12 +715,10 @@
         count_anfme
         FROM
         man_mat
-        RIGHT JOIN ( SELECT matnr, SUM ( anfme ) AS count_anfme FROM man_loc_detl loc GROUP BY matnr ) aa ON aa.matnr = man_mat.matnr
+        RIGHT JOIN ( SELECT matnr,batch,owner, SUM ( anfme ) AS count_anfme FROM man_loc_detl loc GROUP BY matnr,batch,owner ) aa ON aa.matnr = man_mat.matnr
         ) warn ON locd.matnr = warn.matnr
         WHERE
-        DATEDIFF( DAY, create_time, GETDATE( ) ) > inventory_age_max
-        OR count_anfme > inventory_max
-        OR count_anfme &lt; inventory_min
+        DATEDIFF( DAY, produce_time, GETDATE( ) ) > inventory_age_max
         ) t
         WHERE
         1 = 1
@@ -665,17 +737,19 @@
         FROM
         (
         SELECT
-        loc_no,
+        DISTINCT loc_no,
         locd.matnr,
         locd.maktx,
-        create_time,
+        locd.owner,
+        locd.batch,
+        produce_time as create_time,
+        produce_time,
         locd.specs,
         locd.unit,
         inventory_max,
         inventory_min,
         inventory_age_max,
-        count_anfme,
-        DATEDIFF( DAY, create_time, GETDATE( ) ) AS [diff_time]
+        DATEDIFF( DAY, produce_time, GETDATE( ) ) AS [diff_time]
         FROM
         man_loc_detl locd
         LEFT JOIN (
@@ -690,21 +764,15 @@
         count_anfme
         FROM
         man_mat
-        RIGHT JOIN ( SELECT matnr, SUM ( anfme ) AS count_anfme FROM man_loc_detl loc GROUP BY matnr ) aa ON aa.matnr = man_mat.matnr
+        RIGHT JOIN ( SELECT matnr,batch,owner, SUM ( anfme ) AS count_anfme FROM man_loc_detl loc GROUP BY matnr,batch,owner ) aa ON aa.matnr = man_mat.matnr
         ) warn ON locd.matnr = warn.matnr
         WHERE
-        DATEDIFF( DAY, create_time, GETDATE( ) ) > inventory_age_max
-        OR count_anfme > inventory_max
-        OR count_anfme &lt; inventory_min
+        DATEDIFF( DAY, produce_time, GETDATE( ) ) > inventory_age_max
         ) t
         WHERE
         1 = 1
         <include refid="selectAllWarningSql"></include>
         ) a
-
-
-
-
     </select>
 
 

--
Gitblit v1.9.1