From 07c572bea979dbd3ee46ec24083cb1bdcc014e3a Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期五, 05 七月 2024 13:56:50 +0800
Subject: [PATCH] 一期找库位方法修改
---
src/main/resources/mapper/LocDetlMapper.xml | 401 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 384 insertions(+), 17 deletions(-)
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index b2228fd..13ecce2 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -5,15 +5,17 @@
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
<resultMap id="BaseResultMap" type="com.zy.asrs.entity.LocDetl">
<result column="loc_no" property="locNo" />
- <result column="matnr" property="matnr" />
- <result column="lgnum" property="lgnum" />
- <result column="tbnum" property="tbnum" />
- <result column="tbpos" property="tbpos" />
- <result column="zmatid" property="zmatid" />
- <result column="maktx" property="maktx" />
- <result column="werks" property="werks" />
- <result column="anfme" property="anfme" />
- <result column="altme" property="altme" />
+ <result column="mat_no" property="matNo" />
+ <result column="mat_name" property="matName" />
+ <result column="specs" property="specs" />
+ <result column="size" property="size" />
+ <result column="color" property="color" />
+ <result column="weight" property="weight" />
+ <result column="supplier" property="supplier" />
+ <result column="warehouse" property="warehouse" />
+ <result column="brand" property="brand" />
+ <result column="qty" property="qty" />
+ <result column="unit" property="unit" />
<result column="zpallet" property="zpallet" />
<result column="bname" property="bname" />
<result column="memo" property="memo" />
@@ -21,23 +23,154 @@
<result column="modi_time" property="modiTime" />
<result column="appe_user" property="appeUser" />
<result column="appe_time" property="appeTime" />
-
+ <result column="all_qty" property="allQty"/>
+ <result column="all_weight" property="allWeight"/>
+ <result column="source" property="source" />
+ <result column="vendor" property="vendor" />
+ <result column="qty_box" property="qtyBox"/>
+ <result column="str3" property="str3" />
+ <result column="str4" property="str4" />
+ <result column="str5" property="str5"/>
</resultMap>
- <select id="getStockOutPage" parameterType="java.util.Map" resultMap="BaseResultMap">
+ <sql id="stockOutCondition">
+ <if test="loc_no!=null and loc_no!='' ">
+ and a.loc_no like '%' + #{loc_no} + '%'
+ </if>
+ <if test="mat_no!=null and mat_no!='' ">
+ and a.mat_no like '%' + #{mat_no} + '%'
+ </if>
+ <if test="mat_name!=null and mat_name!='' ">
+ and a.mat_name like '%' + #{mat_name} + '%'
+ </if>
+ <if test="str3!=null and str3!=''" >
+ and a.str3 like '%'+#{str3}+'%'
+ </if>
+ <if test="qty!=null and qty!='' ">
+ and a.qty = #{qty}
+ </if>
+ <if test="altme!=null and altme!='' ">
+ and a.unit like '%' + #{unit} + '%'
+ </if>
+ <if test="startTime!=null and endTime!=null">
+ and a.modi_time between #{startTime} and #{endTime}
+ </if>
+ <if test="memo!=null and memo!='' ">
+ and (
+ a.loc_no like '%' + #{memo} + '%'
+ or a.mat_no like '%' + #{memo} + '%'
+ or a.mat_name like '%' + #{memo} + '%'
+ or a.qty like '%' + #{memo} + '%'
+ or a.str3 like '%' + #{memo} + '%'
+ or a.unit like '%' + #{memo} + '%'
+ or a.specs like '%' + #{memo} + '%'
+ or a.size like '%' + #{memo} + '%'
+ or a.color like '%' + #{memo} + '%'
+ or a.supplier like '%' + #{memo} + '%'
+ or a.zpallet like '%' + #{memo} + '%'
+ or a.source like '%' + #{memo} + '%'
+ or a.vendor like '%' + #{memo} + '%'
+ or a.qty_box like '%' + #{memo} + '%'
+ or a.str3 like '%' + #{memo} + '%'
+ or a.str4 like '%' + #{memo} + '%'
+ or a.str5 like '%' + #{memo} + '%'
+ or a.memo like '%' + #{memo} + '%'
+ )
+ </if>
+ <if test="crnNo!=null and crnNo!='' ">
+ and b.crn_no=#{crnNo}
+ </if>
+ </sql>
+
+ <sql id="stockOutCondition1">
+ <if test="mat_no!=null and mat_no!='' ">
+ and c.mat_no like '%' + #{mat_no} + '%'
+ </if>
+ <if test="mat_name!=null and mat_name!='' ">
+ and c.mat_name like '%' + #{mat_name} + '%'
+ </if>
+ <if test="supplier!=null and supplier!=''" >
+ and c.supplier like '%'+#{supplier}+'%'
+ </if>
+ <if test="str3!=null and str3!=''" >
+ and c.str3 like '%'+#{str3}+'%'
+ </if>
+ <if test="str4!=null and str4!=''" >
+ and c.str4 like '%'+#{str4}+'%'
+ </if>
+ <if test="memo!=null and memo!='' ">
+ and (
+ c.mat_no like '%' + #{memo} + '%'
+ or c.mat_name like '%' + #{memo} + '%'
+ or c.qty like '%' + #{memo} + '%'
+ or c.str3 like '%' + #{memo} + '%'
+ or c.unit like '%' + #{memo} + '%'
+ or c.specs like '%' + #{memo} + '%'
+ or c.size like '%' + #{memo} + '%'
+ or c.color like '%' + #{memo} + '%'
+ or c.supplier like '%' + #{memo} + '%'
+ or c.source like '%' + #{memo} + '%'
+ or c.vendor like '%' + #{memo} + '%'
+ or c.qty_box like '%' + #{memo} + '%'
+ or c.str3 like '%' + #{memo} + '%'
+ or c.str4 like '%' + #{memo} + '%'
+ or c.str5 like '%' + #{memo} + '%'
+ or c.memo like '%' + #{memo} + '%'
+ )
+ </if>
+ </sql>
+
+ <sql id="stockOutCondition2">
+ <if test="matNo!=null and matNo!='' ">
+ and mat_no like '%' + #{matNo} + '%'
+ </if>
+ <if test="matName!=null and matName!='' ">
+ and mat_name like '%' + #{matName} + '%'
+ </if>
+ <if test="supplier!=null and supplier!=''" >
+ and supplier like '%'+#{supplier}+'%'
+ </if>
+ <if test="str3!=null and str3!=''" >
+ and str3 like '%'+#{str3}+'%'
+ </if>
+ <if test="str4!=null and str4!=''" >
+ and str4 like '%'+#{str4}+'%'
+ </if>
+ <if test="memo!=null and memo!='' ">
+ and (
+ mat_no like '%' + #{memo} + '%'
+ or mat_name like '%' + #{memo} + '%'
+ or qty like '%' + #{memo} + '%'
+ or str3 like '%' + #{memo} + '%'
+ or unit like '%' + #{memo} + '%'
+ or specs like '%' + #{memo} + '%'
+ or size like '%' + #{memo} + '%'
+ or color like '%' + #{memo} + '%'
+ or supplier like '%' + #{memo} + '%'
+ or source like '%' + #{memo} + '%'
+ or vendor like '%' + #{memo} + '%'
+ or qty_box like '%' + #{memo} + '%'
+ or str3 like '%' + #{memo} + '%'
+ or str4 like '%' + #{memo} + '%'
+ or str5 like '%' + #{memo} + '%'
+ or memo like '%' + #{memo} + '%'
+ )
+ </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.supplier,a.mat_no,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_type = 'F'
- <if test="loc_no!=null and loc_no!='' ">
- and a.loc_no like '%' + #{loc_no} + '%'
- </if>
+ and b.loc_sts = 'F'
+ <include refid="stockOutCondition"></include>
) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
+ order by supplier,appe_time,loc_no
</select>
<select id="getStockOutPageCount" parameterType="java.util.Map" resultType="java.lang.Integer">
@@ -46,6 +179,240 @@
from asr_loc_detl a
left join asr_loc_mast b on a.loc_no = b.loc_no
where 1=1
- and b.loc_type = 'F'
+ and b.loc_sts = 'F'
+ <include refid="stockOutCondition"></include>
</select>
+
+ <select id="selectLocDetlList" resultMap="BaseResultMap">
+ select 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' and a.mat_no= #{mat_no}
+ order by a.appe_time
+ </select>
+ <select id="selectLocDetlSumQty" resultType="double">
+ select SUM(qty) qty
+ from asr_loc_detl
+ where loc_no=#{locNo}
+ </select>
+ <select id="getStockStatis" resultMap="BaseResultMap">
+ select * ,str6 as qty_box,(qty * str6) as all_qty from
+ (
+ select ROW_NUMBER() over (order by a.mat_no) as row,
+ a.mat_name,a.mat_no,a.str3,sum(a.qty) qty, specs,unit,color,weight,str4,str5,num1,str6 from
+ (
+ select
+ c.mat_name,c.mat_no,c.str3,c.qty,c.all_qty,c.specs,c.unit,c.color,c.weight,c.str4,c.str5,m.num1,m.str6
+ from asr_loc_detl c
+ LEFT JOIN bas_mat_code m ON c.mat_no = m.mat_no
+ where 1=1
+ <include refid="stockOutCondition1"></include>
+ ) a
+ group by a.mat_no,a.mat_name,a.str3,a.specs,a.unit,a.color,a.weight,a.str4,a.str5,num1,str6
+ ) d
+ where 1=1
+ and row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
+ order by mat_no,specs
+<!-- select * from-->
+<!-- (-->
+<!-- select ROW_NUMBER() over (order by a.mat_no) as row,-->
+<!-- a.mat_name,a.mat_no,a.supplier,a.str3,sum(a.qty) qty,specs,unit,color,qty_box,weight,str4,str5 from-->
+<!-- (-->
+<!-- select-->
+<!-- mat_name,mat_no,supplier,str3,qty,specs,unit,color,qty_box,weight,str4,str5-->
+<!-- from asr_loc_detl c-->
+<!-- where 1=1-->
+<!-- <include refid="stockOutCondition1"></include>-->
+<!-- ) a-->
+<!-- group by a.mat_no,a.mat_name,a.supplier,a.str3,a.specs,a.unit,a.color,a.qty_box,a.weight,a.str4,a.str5-->
+<!-- ) d-->
+<!-- where 1=1-->
+<!-- and row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})-->
+<!-- order by a.mat_no,a.supplier-->
+ </select>
+ <select id="getStockStatisCount" resultType="integer">
+ select count(1) from
+ (
+ select ROW_NUMBER() over (order by a.mat_no) as row,
+ a.mat_name,a.mat_no,a.str3,sum(a.qty) qty, specs,unit,color,qty_box,weight,str4,str5,num1,str6 from
+ (
+ select
+ c.mat_name,c.mat_no,c.str3,c.qty,c.all_qty,c.specs,c.unit,c.color,c.qty_box,c.weight,c.str4,c.str5,m.num1,m.str6
+ from asr_loc_detl c
+ LEFT JOIN bas_mat_code m ON c.mat_no = m.mat_no
+ where 1=1
+ <include refid="stockOutCondition1"></include>
+ ) a
+ group by a.mat_no,a.mat_name,a.str3,a.specs,a.unit,a.color,a.qty_box,a.weight,a.str4,a.str5,num1,str6
+ ) d
+ where 1=1
+
+<!-- select count(1) from-->
+<!-- (-->
+<!-- select ROW_NUMBER() over (order by a.mat_no) as row,-->
+<!-- a.mat_name,a.mat_no,a.supplier,a.str3,sum(a.qty) qty,specs,unit,color,qty_box,weight,str4,str5 from-->
+<!-- (-->
+<!-- select-->
+<!-- mat_name,mat_no,supplier,str3,qty,specs,unit,color,qty_box,weight,str4,str5-->
+<!-- from asr_loc_detl c-->
+<!-- where 1=1-->
+<!-- <include refid="stockOutCondition1"></include>-->
+<!-- ) a-->
+<!-- group by a.mat_no,a.mat_name,a.supplier,a.str3,a.specs,a.unit,a.color,a.qty_box,a.weight,a.str4,a.str5-->
+<!-- ) d-->
+ </select>
+<!-- <select id="getStockStatisExcel" resultType="com.zy.asrs.entity.LocDetl">-->
+ <select id="getStockStatisExcel" resultMap="BaseResultMap">
+ select
+ ROW_NUMBER() over (order by a.mat_no, sum(a.qty) desc) as row
+ , a.mat_no, a.mat_name,a.supplier,str3,specs,unit,color,qty_box as qtyBox,weight,str4,str5
+ , sum(a.qty) as qty
+ from asr_loc_detl a
+ where 1=1
+ <include refid="stockOutCondition2"></include>
+ group by a.mat_no,a.mat_name,a.supplier,a.str3,a.specs,a.unit,a.color,a.qty_box,a.weight,a.str4,a.str5
+ </select>
+
+ <sql id="selectAllWarningSql">
+ <if test="mat_name != null and mat_name != '' ">
+ and c.mat_name like '%' + #{mat_name} + '%'
+ </if>
+ <if test="mat_no != null and mat_no !='' ">
+ and c.mat_no like '%' + #{mat_no} + '%'
+ </if>
+
+ </sql>
+ <select id="selectAllWarning" resultType="com.zy.asrs.entity.LocDetlWarningDTO">
+ SELECT
+ *,(qty * str6) as all_qty
+ FROM
+ (
+ SELECT
+ ROW_NUMBER ( ) OVER ( ORDER BY a.mat_no ) AS row,
+ a.mat_name,
+ a.mat_no,
+ a.str3,
+ SUM ( a.qty ) qty,
+ specs,
+ unit,
+ color,
+ qty_box,
+ weight,
+ str4,
+ str5,
+ num1,
+ str6
+ FROM
+ (
+ SELECT
+ c.mat_name,
+ c.mat_no,
+ c.str3,
+ c.qty,
+ c.all_qty,
+ c.specs,
+ c.unit,
+ c.color,
+ c.qty_box,
+ c.weight,
+ c.str4,
+ c.str5,
+ m.num1,
+ str6
+ FROM
+ asr_loc_detl c
+ LEFT JOIN bas_mat_code m ON c.mat_no = m.mat_no
+ WHERE
+ 1 = 1
+ <include refid="selectAllWarningSql"></include>
+ ) a
+ GROUP BY
+ a.mat_no,
+ a.mat_name,
+ a.str3,
+ a.specs,
+ a.unit,
+ a.color,
+ a.qty_box,
+ a.weight,
+ a.str4,
+ a.str5,
+ a.num1,
+ str6
+ ) d
+ WHERE
+ 1 = 1
+ AND qty <= num1
+ AND d.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 a.mat_no ) AS row,
+ a.mat_name,
+ a.mat_no,
+ a.str3,
+ SUM ( a.qty ) qty,
+ SUM ( all_qty ) all_qty,
+ specs,
+ unit,
+ color,
+ qty_box,
+ weight,
+ str4,
+ str5,
+ num1
+ FROM
+ (
+ SELECT
+ c.mat_name,
+ c.mat_no,
+ c.str3,
+ c.qty,
+ c.all_qty,
+ c.specs,
+ c.unit,
+ c.color,
+ c.qty_box,
+ c.weight,
+ c.str4,
+ c.str5,
+ m.num1
+ FROM
+ asr_loc_detl c
+ LEFT JOIN bas_mat_code m ON c.mat_no = m.mat_no
+ WHERE
+ 1 = 1
+ <include refid="selectAllWarningSql"></include>
+ ) a
+ GROUP BY
+ a.mat_no,
+ a.mat_name,
+ a.str3,
+ a.specs,
+ a.unit,
+ a.color,
+ a.qty_box,
+ a.weight,
+ a.str4,
+ a.str5,
+ a.num1
+ ) d
+ WHERE
+ 1 = 1
+ AND qty <= num1
+ </select>
+
+
+
+ <!-- <select id="getStockSum" resultMap="BaseResultMap">-->
+<!-- select mat_no,mat_name,sum(qty) qty from asr_loc_detl-->
+<!-- group by mat_no,mat_name-->
+<!-- </select>-->
+
</mapper>
--
Gitblit v1.9.1