From b7e08df5a07b3fa832a46ecc31983e16f2bccc8c Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期一, 24 七月 2023 14:56:01 +0800
Subject: [PATCH] # 出库作业,和库存明细管理 排序

---
 src/main/resources/mapper/LocDetlMapper.xml |  271 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 261 insertions(+), 10 deletions(-)

diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index ec9b6e1..230be50 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,7 +23,256 @@
         <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>
 
+    <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 mat_no like '%' + #{mat_no} + '%'
+    </if>
+    <if test="mat_name!=null and mat_name!='' ">
+        and mat_name like '%' + #{mat_name} + '%'
+    </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>
+
+    <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.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_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">
+        select
+        count(1)
+        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>
+
+    <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 * 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) allQty, specs,unit,color,qty_box,weight,str4,str5  from
+        (
+        select
+        mat_name,mat_no,str3,qty,all_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.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 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  from
+        (
+        select
+        mat_name,mat_no,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.str3,a.specs,a.unit,a.color,a.qty_box,a.weight,a.str4,a.str5
+        ) d
+<!--        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>
+
+<!--    <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