王佳豪
2021-04-14 a4bbc17545f06018fcee7d55380084d069fbc863
src/main/resources/mapper/LocDetlMapper.xml
@@ -4,25 +4,25 @@
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.LocDetl">
        <result column="loc_no" property="locNo" />
        <result column="matnr" property="matnr" />
        <result column="maktx" property="maktx" />
        <result column="lgnum" property="lgnum" />
        <result column="type" property="type" />
        <result column="mnemonic" property="mnemonic" />
        <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="modi_user" property="modiUser" />
        <result column="modi_time" property="modiTime" />
        <result column="appe_user" property="appeUser" />
        <result column="appe_time" property="appeTime" />
        <result column="mat_status" property="matStatus" />
        <result column="loc_no" property="locNo"/>
        <result column="matnr" property="matnr"/>
        <result column="maktx" property="maktx"/>
        <result column="lgnum" property="lgnum"/>
        <result column="type" property="type"/>
        <result column="mnemonic" property="mnemonic"/>
        <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="modi_user" property="modiUser"/>
        <result column="modi_time" property="modiTime"/>
        <result column="appe_user" property="appeUser"/>
        <result column="appe_time" property="appeTime"/>
        <result column="mat_status" property="matStatus"/>
    </resultMap>
    <sql id="stockOutCondition">
@@ -58,17 +58,44 @@
        </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
        (
            select
            ROW_NUMBER() over (order by a.appe_time,a.matnr,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>
        select
        ROW_NUMBER() over (order by a.appe_time,a.matnr,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})
    </select>
@@ -87,10 +114,10 @@
        brand,anfme,altme,zpallet,bname,memo,modi_user, modi_time,appe_user,
        appe_time,mat_status from asr_loc_detl where 1 = 1
        <if test="loc_no!=null and loc_no!='' ">
           and loc_no = #{loc_no,jdbcType=VARCHAR}
            and loc_no = #{loc_no,jdbcType=VARCHAR}
        </if>
        <if test="matnr!=null and matnr!='' ">
           and matnr = #{matnr,jdbcType=VARCHAR}
            and matnr = #{matnr,jdbcType=VARCHAR}
        </if>
    </select>
@@ -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>