From ae2fb12ff5a4740417d3ba6d6dfad990a7456307 Mon Sep 17 00:00:00 2001 From: lty <876263681@qq.com> Date: 星期三, 23 四月 2025 11:00:46 +0800 Subject: [PATCH] #库存盘点页面完成 --- src/main/resources/mapper/LocDetlMapper.xml | 281 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 257 insertions(+), 24 deletions(-) diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml index 6ee3578..e96e5c2 100644 --- a/src/main/resources/mapper/LocDetlMapper.xml +++ b/src/main/resources/mapper/LocDetlMapper.xml @@ -5,26 +5,93 @@ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> <resultMap id="BaseResultMap" type="com.zy.asrs.entity.LocDetl"> <result column="loc_no" property="locNo" /> + <result column="zpallet" property="zpallet" /> + <result column="anfme" property="anfme" /> <result column="matnr" property="matnr" /> <result column="maktx" property="maktx" /> <result column="batch" property="batch" /> <result column="order_no" property="orderNo" /> - <result column="lgnum" property="lgnum" /> - <result column="type" property="type" /> + + <result column="specs" property="specs" /> + <result column="model" property="model" /> <result column="color" property="color" /> - <result column="supplier" property="supplier" /> - <result column="warehouse" property="warehouse" /> <result column="brand" property="brand" /> - <result column="anfme" property="anfme" /> - <result column="altme" property="altme" /> - <result column="zpallet" property="zpallet" /> - <result column="bname" property="bname" /> - <result column="memo" property="memo" /> + <result column="unit" property="unit" /> + <result column="price" property="price" /> + <result column="sku" property="sku" /> + <result column="units" property="units" /> + <result column="barcode" property="barcode" /> + <result column="origin" property="origin" /> + <result column="manu" property="manu" /> + <result column="manu_date" property="manuDate" /> + <result column="item_num" property="itemNum" /> + <result column="safe_qty" property="safeQty" /> + <result column="weight" property="weight" /> + <result column="length" property="length" /> + <result column="volume" property="volume" /> + <result column="three_code" property="threeCode" /> + <result column="supp" property="supp" /> + <result column="supp_code" property="suppCode" /> + <result column="be_batch" property="beBatch" /> + <result column="dead_time" property="deadTime" /> + <result column="dead_warn" property="deadWarn" /> + <result column="source" property="source" /> + <result column="inspect" property="inspect" /> + <result column="danger" property="danger" /> + <result column="modi_user" property="modiUser" /> <result column="modi_time" property="modiTime" /> <result column="appe_user" property="appeUser" /> <result column="appe_time" property="appeTime" /> + <result column="memo" property="memo" /> </resultMap> + + <resultMap id="CheckResultMap" type="com.zy.asrs.entity.CheckDetl"> + <result column="anfme" property="anfme" /> + <result column="matnr" property="matnr" /> + <result column="maktx" property="maktx" /> + <result column="specs" property="specs" /> + <result column="batch" property="batch" /> + <result column="create_time" property="createTime"/> + </resultMap> + + <sql id="batchSeq"> + <choose> + <when test="batch != null and batch != ''"> + and batch = #{batch} + </when> + <otherwise> + and (batch IS NULL OR batch = '') + </otherwise> + </choose> + </sql> + + <select id="selectItem" resultMap="BaseResultMap"> + select top 1 * + from asr_loc_detl + where 1=1 + and loc_no = #{locNo} + and matnr = #{matnr} + <include refid="batchSeq"></include> + </select> + + <delete id="deleteItem"> + delete from asr_loc_detl + where 1=1 + and loc_no = #{locNo} + and matnr = #{matnr} + <include refid="batchSeq"></include> + </delete> + + <update id="updateAnfme"> + update asr_loc_detl + set anfme = #{anfme} + , modi_time = getdate() + where 1=1 + and loc_no = #{locNo} + and matnr = #{matnr} + <include refid="batchSeq"></include> + </update> <sql id="stockOutCondition"> <if test="loc_no!=null and loc_no!='' "> @@ -39,11 +106,17 @@ <if test="anfme!=null and anfme!='' "> and a.anfme like '%' + #{anfme} + '%' </if> - <if test="altme!=null and altme!='' "> - and a.altme like '%' + #{altme} + '%' - </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="batch!=null and batch!='' "> + and a.batch like '%' + #{batch} + '%' + </if> + <if test="specs!=null and specs!='' "> + and a.specs like '%' + #{specs} + '%' </if> </sql> @@ -77,13 +150,57 @@ select ROW_NUMBER() over (order by sum(a.anfme) desc) as row , a.matnr + , a.batch , sum(a.anfme) as anfme from asr_loc_detl a where 1=1 <include refid="stockOutCondition"></include> - group by a.matnr + group by a.matnr, a.batch ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) </select> + + <select id="getAnfmeByMatnr" resultType="com.zy.asrs.entity.LocDetl"> + select + sum(a.anfme) as anfme + from asr_loc_detl a + <where> + a.matnr = #{matnr} + <if test="batch != null and batch != ''"> + and a.batch = #{batch} + </if> + <if test="specs != null and specs != ''"> + and a.specs = #{specs} + </if> + </where> + </select> + + <select id="getStockCheck" resultMap="CheckResultMap"> + select * from ( + select + ROW_NUMBER() over (order by a.create_time desc) as row, + a.anfme, + a.matnr, + a.maktx, + a.specs, + a.batch, + a.create_time + from asr_check_detl a + where 1=1 + <include refid="stockOutCondition" /> + ) t + where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) + </select> + + + <select id="getStockCheckCount" parameterType="java.util.Map" resultType="java.lang.Integer"> + select count(1) + from asr_check_detl a + where 1=1 + <include refid="stockOutCondition" /> + </select> + + + <select id="getStockStatisCount" parameterType="java.util.Map" resultType="java.lang.Integer"> select count(1) as count from @@ -144,20 +261,32 @@ 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 when (left(a.loc_no, 2) = '01') then 0 when (left(a.loc_no, 2) = '02') then 1 @@ -221,4 +350,108 @@ </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> + + <update id="updateMatTurn"> + UPDATE a + SET a.matnr=b.matnr, + a.specs=b.specs, + a.maktx=b.maktx, + a.unit=b.unit + FROM asr_loc_detl a + INNER JOIN man_mat b ON a.matnr=#{matnrOld} AND b.matnr=#{matnr}; + </update> + + <select id="selectSameDetlTodayBatch" 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.row1 >= #{start} + AND lm.row1 <= #{end} + AND lm.loc_sts = 'F' + AND DateDiff(dd, ld.appe_time, getdate()) = 0 + <choose> + <when test="batch != null and batch != ''"> + and ld.batch = #{batch} + </when> + <otherwise> + and (ld.batch IS NULL OR ld.batch = '') + </otherwise> + </choose> + ORDER BY ld.appe_time ASC + </select> + + <select id="selectLocDetlUnilateralMoveShuttleMapY" resultType="java.util.Map"> + select ld.matnr,ld.batch,ld.brand,count(*) count from asr_loc_mast lm + left join asr_loc_detl ld + on lm.loc_no = ld.loc_no + where lm.row1 in (1) + and loc_sts = 'F' + and loc_type3 = 0 + group by ld.matnr,ld.batch,ld.brand + </select> + + <select id="selectLocDetlUnilateralMoveShuttleMapN" resultType="java.util.Map"> + select ld.matnr,ld.batch,ld.brand,count(*) count from asr_loc_mast lm + left join asr_loc_detl ld + on lm.loc_no = ld.loc_no + where lm.row1 in (31,32) + and loc_sts = 'F' + and loc_type3 = 0 + group by ld.matnr,ld.batch,ld.brand + </select> + + <select id="selectLocDetlUnilateralMoveShuttleY" resultMap="BaseResultMap"> + select ld.* from asr_loc_mast lm + left join asr_loc_detl ld + on lm.loc_no = ld.loc_no + where loc_sts = 'F' + and ld.matnr = #{matnr} + and ld.batch = #{batch} + and ld.brand = #{grade} + and lm.loc_type3 = 0 + and lm.row1 in (1) + order by row1 + </select> + + <select id="selectLocDetlUnilateralMoveShuttleN" resultMap="BaseResultMap"> + select ld.* from asr_loc_mast lm + left join asr_loc_detl ld + on lm.loc_no = ld.loc_no + where loc_sts = 'F' + and ld.matnr = #{matnr} + and ld.batch = #{batch} + and ld.brand = #{grade} + and lm.loc_type3 = 0 + and lm.row1 in (31,32) + order by row1 + </select> + </mapper> -- Gitblit v1.9.1