王佳豪
2021-04-14 a4bbc17545f06018fcee7d55380084d069fbc863
src/main/resources/mapper/LocDetlMapper.xml
@@ -58,6 +58,33 @@
        </if>
    </sql>
    <sql id="sumLocDetlCondition">
        <if test="loc_no!=null and loc_no!='' ">
            and t.loc_no like '%' + #{loc_no} + '%'
        </if>
        <if test="matnr!=null and matnr!='' ">
            and t.matnr like '%' + #{matnr} + '%'
        </if>
        <if test="maktx!=null and maktx!='' ">
            and t.maktx like '%' + #{maktx} + '%'
        </if>
        <if test="type!=null and type!='' ">
            and t.type like '%' + #{type} + '%'
        </if>
        <if test="lgnum!=null and lgnum!='' ">
            and t.lgnum like '%' + #{lgnum} + '%'
        </if>
        <if test="anfme!=null and anfme!='' ">
            and t.anfme like '%' + #{anfme} + '%'
        </if>
        <if test="supplier!=null and supplier!=null">
            and t.supplier like '%' + #{supplier} + '%'
        </if>
        <if test="mnemonic!=null and mnemonic!=null">
            and t.mnemonic like '%' + #{mnemonic} + '%'
        </if>
    </sql>
    <select id="getStockOutPage" resultMap="BaseResultMap">
        select * from
        (
@@ -109,4 +136,35 @@
        </foreach>
        END;
    </update>
    <select id="queryAllMatDetl" resultMap="BaseResultMap">
        select * from
        (
        select ROW_NUMBER() over (order by c.matnr,c.loc_no) as row,* from (select a.loc_no,a.matnr, a.maktx, a.lgnum, a.type, a.mnemonic, a.supplier, a.anfme from asr_loc_detl a
        union
        select b.warehouse as loc_no,matnr, b.maktx, b.lgnum, b.type, b.mnemonic, b.supplier, b.anfme from asr_loc_normal b) c
        ) t where 1=1
        <if test="loc_no!=null and loc_no!='' ">
            and t.loc_no = #{loc_no}
        </if>
        <if test="matnr!=null and matnr!='' ">
            and t.matnr = #{matnr}
        </if>
        and t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
    </select>
    <select id="queryAllMatDetlPageCount" parameterType="java.util.Map" resultType="java.lang.Integer">
        select count(1) from
        (
        select ROW_NUMBER() over (order by c.matnr,c.loc_no) as row,* from (select a.loc_no,a.matnr, a.maktx, a.lgnum, a.type, a.mnemonic, a.supplier, a.anfme from asr_loc_detl a
        union
        select b.warehouse as loc_no,matnr, b.maktx, b.lgnum, b.type, b.mnemonic, b.supplier, b.anfme from asr_loc_normal b) c
        ) t where 1=1
        <if test="loc_no!=null and loc_no!='' ">
            and t.loc_no = #{loc_no}
        </if>
        <if test="matnr!=null and matnr!='' ">
            and t.matnr = #{matnr}
        </if>
    </select>
</mapper>