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 | 523 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 511 insertions(+), 12 deletions(-)
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 2ef13d2..58f259c 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -44,15 +44,34 @@
<result column="appe_user" property="appeUser" />
<result column="appe_time" property="appeTime" />
<result column="memo" property="memo" />
+ <result column="owner" property="owner" />
+ <result column="payment" property="payment" />
+
+ </resultMap>
+
+ <resultMap id="WarningResultMap" type="com.zy.asrs.entity.LocDetlWarningDTO">
+ <result column="loc_no" property="locNo" />
+ <result column="matnr" property="matnr" />
+ <result column="maktx" property="maktx" />
+ <result column="create_time" property="createTime" />
+ <result column="specs" property="specs" />
+ <result column="inventory_max" property="inventoryMax" />
+ <result column="inventory_min" property="inventoryMin" />
+ <result column="inventory_age_max" property="inventoryAgeMax" />
+ <result column="count_anfme" property="countAnfme" />
+ <result column="diff_time" property="diffTime" />
+ <result column="pageNumber" property="pageNumber" />
+ <result column="pageSize" property="pageSize" />
+ <result column="row" property="row" />
</resultMap>
<sql id="batchSeq">
<choose>
- <when test="batch != null and batch != ''">
+ <when test="batch != null">
and batch = #{batch}
</when>
<otherwise>
- and (batch IS NULL OR batch = '')
+ and (batch IS NULL)
</otherwise>
</choose>
</sql>
@@ -100,6 +119,12 @@
<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="owner!=null and owner!='' ">
+ and a.owner=#{owner}
+ </if>
</sql>
<select id="getStockOutPage" resultMap="BaseResultMap">
@@ -123,6 +148,62 @@
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>
+
+ <select id="getStockOutPage2" 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_merge a
+ left join asr_loc_mast_man_node_merge b on a.loc_no = b.loc_no
+ where 1=1
+ and b.loc_sts = 'F'
+ <choose>
+ <when test="owner != null and owner != 0">
+ and owner = #{owner}
+ </when>
+ <otherwise>
+ and 1!=1
+ </otherwise>
+ </choose>
+<!-- <choose>-->
+<!-- <when test="payment != null and payment != 0">-->
+<!-- and payment = #{payment}-->
+<!-- </when>-->
+<!-- <otherwise>-->
+<!-- and 1!=1-->
+<!-- </otherwise>-->
+<!-- </choose>-->
+ <include refid="stockOutCondition"></include>
+ ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
+ </select>
+
+ <select id="getStockOutPageCount2" parameterType="java.util.Map" resultType="java.lang.Integer">
+ select
+ count(1)
+ from asr_loc_detl_merge a
+ left join asr_loc_mast_man_node_merge b on a.loc_no = b.loc_no
+ where 1=1
+ and b.loc_sts = 'F'
+ <choose>
+ <when test="owner != null and owner != 0">
+ and owner = #{owner}
+ </when>
+ <otherwise>
+ and 1!=1
+ </otherwise>
+ </choose>
+<!-- <choose>-->
+<!-- <when test="payment != null and payment != 0">-->
+<!-- and payment = #{payment}-->
+<!-- </when>-->
+<!-- <otherwise>-->
+<!-- and 1!=1-->
+<!-- </otherwise>-->
+<!-- </choose>-->
<include refid="stockOutCondition"></include>
</select>
@@ -157,7 +238,7 @@
ROW_NUMBER() over (order by sum(a.anfme) desc) as row
, a.matnr
, sum(a.anfme) as anfme
- from asr_loc_detl a
+ from asr_loc_detl_all a
where 1=1
group by a.matnr
</select>
@@ -194,24 +275,32 @@
<select id="queryStock" resultMap="BaseResultMap">
select a.*
- from asr_loc_detl a
- left join asr_loc_mast b on a.loc_no = b.loc_no
+ from asr_loc_detl_merge a
+ left join asr_loc_mast_man_node_merge b on a.loc_no = b.loc_no
where 1=1
and b.loc_sts = 'F'
and a.matnr = #{matnr}
+ and a.payment = 1
+<!-- <choose>-->
+<!-- <when test="batch != null and batch != ''">-->
+<!-- and a.batch = #{batch}-->
+<!-- </when>-->
+<!-- <otherwise>-->
+<!-- and (a.batch IS NULL OR a.batch = '')-->
+<!-- </otherwise>-->
+<!-- </choose>-->
+
<choose>
- <when test="batch != null and batch != ''">
- and a.batch = #{batch}
+ <when test="owner != null and owner !=0">
+ and a.owner = #{owner}
</when>
<otherwise>
- and (a.batch IS NULL OR a.batch = '')
+ and 1!=1
</otherwise>
</choose>
- <if test="orderNo != null and orderNo != ''">
- and a.orderNo = #{orderNo}
- </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
@@ -277,4 +366,414 @@
</if>
</select>
+ <select id="queryStockTotal" resultType="com.zy.asrs.entity.result.StockVo">
+ select
+ matnr,
+ batch,
+ sum(anfme) as count
+ from asr_loc_detl
+ where 1=1
+ <if test="batch != null and batch != ''">
+ and batch = #{batch}
+ </if>
+ <if test="matnr != null and matnr != ''">
+ and matnr = #{matnr}
+ </if>
+ 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="queryStockViewMerge" resultMap="BaseResultMap">
+ select a.*
+ from asr_loc_detl_merge a
+ left join asr_loc_mast_man_node_merge b on a.loc_no = b.loc_no
+ where 1=1
+ and a.loc_no = #{locNo}
+ </select>
+ <select id="queryStockViewMergeCount" resultType="java.lang.Integer">
+ select count(1) from asr_loc_mast_man_node_merge
+ where 1=1
+ and row1 = #{row}
+ and lev1 = #{lev}
+ </select>
+
+ <select id="searchByLike" resultMap="BaseResultMap">
+ select *
+ from asr_loc_detl_merge
+ where
+ 1 = 1
+ <if test="orderNo != null and orderNo != ''">
+ and order_no like '%' + #{orderNo} + '%'
+ </if>
+ <if test="locNo != null and locNo != ''">
+ and loc_no like '%' + #{locNo} + '%'
+ </if>
+ <if test="specs != null and specs != ''">
+ and specs like '%' + #{specs} + '%'
+ </if>
+ <if test="matnr != null and matnr != ''">
+ and matnr like '%' + #{matnr} + '%'
+ </if>
+ <if test="maktx != null and maktx != ''">
+ and maktx like '%' + #{maktx} + '%';
+ </if>
+ </select>
+ <select id="queryStock2" resultMap="BaseResultMap">
+ select a.*
+ from asr_loc_detl_merge a
+ left join asr_loc_detl_F_view b on a.loc_no = b.loc_no
+ 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>-->
+
+<!-- <choose>-->
+<!-- <when test="owner != null and owner !=0">-->
+<!-- and a.owner = #{owner}-->
+<!-- </when>-->
+<!-- <otherwise>-->
+<!-- and 1!=1-->
+<!-- </otherwise>-->
+<!-- </choose>-->
+
+ order by
+ a.manu,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
+ desc
+ </select>
+ <sql id="selectAllSql">
+ <if test="locNo!=null and locNo!='' ">
+ and t.loc_no like '%' + #{locNo} + '%'
+ </if>
+ <if test="matnr != null and matnr !='' ">
+ and t.matnr like '%' + #{matnr} + '%'
+ </if>
+
+ </sql>
+ <select id="selectAllOwner" resultType="com.zy.asrs.entity.result.LocDetlAll" parameterType="com.zy.asrs.entity.result.LocDetlDTO">
+ SELECT * FROM (
+ SELECT ROW_NUMBER() over(order by matnr) as row,* FROM (
+ SELECT * FROM asr_loc_detl_all
+ ) t
+ WHERE 1=1
+ <include refid="selectAllSql"></include>
+ ) a
+ WHERE a.row BETWEEN ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
+ </select>
+ <select id="selectAllCount" resultType="java.lang.Integer" parameterType="com.zy.asrs.entity.result.LocDetlDTO">
+ SELECT count(*) FROM (
+ SELECT ROW_NUMBER() over(order by matnr) as row,* FROM (
+ SELECT * FROM asr_loc_detl_all
+ ) t
+ WHERE 1=1
+ <include refid="selectAllSql"></include>
+ ) a
+
+ </select>
+ <select id="selectAllPyment" resultType="com.zy.asrs.entity.result.LocDetlAll" parameterType="com.zy.asrs.entity.result.LocDetlDTO">
+ SELECT * FROM (
+ SELECT ROW_NUMBER() over(order by matnr) as row,* FROM (
+ SELECT * FROM asr_loc_detl_all
+ ) t
+ WHERE 1=1
+ <include refid="selectAllSql"></include>
+ ) a
+ WHERE a.row BETWEEN ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
+ </select>
+
+
+
+ <select id="selectAllPymentcount" resultType="java.lang.Integer" parameterType="com.zy.asrs.entity.result.LocDetlDTO">
+ SELECT count(*) FROM (
+ SELECT ROW_NUMBER() over(order by matnr) as row,* FROM (
+ SELECT * FROM asr_loc_detl_all
+ ) t
+ WHERE 1=1
+ <include refid="selectAllSql"></include>
+ ) a
+
+ </select>
+ <select id="getStockStatisAll" 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
+ , a.owner
+ from asr_loc_detl_all a
+ where 1=1
+ <include refid="stockOutCondition"></include>
+ group by a.matnr, a.owner
+ ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
+ </select>
+
+ <select id="getStockStatisCountAll" parameterType="java.util.Map" resultType="java.lang.Integer">
+ select count(1) as count from
+ (
+ select
+ 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
+ ) 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 < 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 < 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
+ </select>
+ <!-- mapper涓嶆敮鎸乻ql璇彞宓屽鏃讹紝閲囩敤sql鐗囨鍖呭惈鏂瑰紡锛岃В鍐硏ml鏍囩闂 -->
+ <sql id="selectAllWarningSql">
+ <if test="locNo!=null and locNo!='' ">
+ and t.loc_no like '%' + #{locNo} + '%'
+ </if>
+ <if test="matnr != null and matnr !='' ">
+ and t.matnr like '%' + #{matnr} + '%'
+ </if>
+
+ </sql>
+
+ <select id="selectAllWarning" resultMap="WarningResultMap" parameterType="com.zy.asrs.entity.LocDetlWarningDTO">
+ SELECT
+ *
+ FROM
+ (
+ SELECT
+ ROW_NUMBER ( ) OVER ( ORDER BY matnr ) AS row,*
+ FROM
+ (
+ SELECT
+ DISTINCT loc_no,
+ locd.matnr,
+ locd.maktx,
+ locd.owner,
+ locd.batch,
+ produce_time as create_time,
+ produce_time,
+ locd.specs,
+ locd.unit,
+ inventory_max,
+ inventory_min,
+ inventory_age_max,
+ DATEDIFF( DAY, produce_time, GETDATE( ) ) AS [diff_time]
+ FROM
+ man_loc_detl locd
+ LEFT JOIN (
+ SELECT
+ man_mat.matnr,
+ maktx,
+ specs,
+ unit,
+ inventory_max,
+ inventory_min,
+ inventory_age_max,
+ count_anfme
+ FROM
+ man_mat
+ 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, produce_time, GETDATE( ) ) > inventory_age_max
+ ) t
+ WHERE
+ 1 = 1
+ <include refid="selectAllWarningSql"></include>
+ ) a
+ WHERE a.row BETWEEN ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
+
+ </select>
+ <select id="getAllWarningCount" resultType="java.lang.Integer">
+ SELECT
+ COUNT(1)
+ FROM
+ (
+ SELECT
+ ROW_NUMBER ( ) OVER ( ORDER BY matnr ) AS row,*
+ FROM
+ (
+ SELECT
+ DISTINCT loc_no,
+ locd.matnr,
+ locd.maktx,
+ locd.owner,
+ locd.batch,
+ produce_time as create_time,
+ produce_time,
+ locd.specs,
+ locd.unit,
+ inventory_max,
+ inventory_min,
+ inventory_age_max,
+ DATEDIFF( DAY, produce_time, GETDATE( ) ) AS [diff_time]
+ FROM
+ man_loc_detl locd
+ LEFT JOIN (
+ SELECT
+ man_mat.matnr,
+ maktx,
+ specs,
+ unit,
+ inventory_max,
+ inventory_min,
+ inventory_age_max,
+ count_anfme
+ FROM
+ man_mat
+ 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, produce_time, GETDATE( ) ) > inventory_age_max
+ ) t
+ WHERE
+ 1 = 1
+ <include refid="selectAllWarningSql"></include>
+ ) a
+ </select>
+
+
</mapper>
--
Gitblit v1.9.1