自动化立体仓库 - WMS系统
pang.jiabao
2025-04-27 203e2664c13883f8bb64f638cb1794c0b4480ec2
src/main/resources/mapper/WrkMastLogMapper.xml
@@ -57,11 +57,69 @@
        <result column="log_err_time" property="logErrTime" />
        <result column="log_err_memo" property="logErrMemo" />
        <result column="barcode" property="barcode" />
        <result column="Pdc_type" property="PdcType" />
        <result column="ctn_no" property="ctnNo" />
        <result column="full_plt" property="fullPlt" />
        <result column="pre_have" property="preHave" />
        <result column="take_none" property="takeNone" />
        <result column="rgv_no" property="rgvNo" />
        <result column="rgv_ssta_no" property="rgvSstaNo" />
        <result column="rgv_dsta_no" property="rgvDstaNo" />
        <result column="work_no_other" property="workNoOther" />
    </resultMap>
    <sql id="queryWhere">
        <where>
            <if test="param.wrk_no != null and param.wrk_no != ''"> and a.wrk_no = #{param.wrk_no}</if>
            <if test="param.io_type != null and param.io_type != ''"> and a.io_type = #{param.io_type}</if>
            <if test="param.matnr != null and param.matnr != ''"> and b.matnr = #{param.matnr}</if>
            <if test="param.maktx != null and  param.maktx != ''"> and b.maktx = #{param.maktx}</if>
            <if test="param.batch != null and  param.batch != ''"> and b.batch = #{param.batch}</if>
            <if test="param.zpallet != null and param.zpallet != ''"> and a.barcode = #{param.zpallet}</if>
            <if test="param.loc_no != null and param.loc_no != ''"> and (a.loc_no = #{param.loc_no} or a.source_loc_no = #{param.loc_no})</if>
            <if test="param.startTime != null and param.startTime != ''"> and a.io_time >= #{param.startTime}</if>
            <if test="param.endTime   != null and param.endTime   != ''"> and a.io_time &lt;= #{param.endTime}</if>
        </where>
    </sql>
    <select id="inventoryFlowList" resultType="com.zy.asrs.entity.InventoryFlowDto">
        select
            *
        from
            (
                select
                    ROW_NUMBER() over (order by a.modi_time desc) id,
                    a.wrk_no wrkNo,
                    a.io_type ioType,
                    a.io_time ioTime,
                    a.wrk_sts wrkSts,
                    a.source_loc_no sourceLocNo,
                    a.loc_no locNo,
                    a.barcode zpallet,
                    b.matnr ,
                    b.maktx ,
                    b.order_no orderNo,
                    b.batch ,
                    b.anfme ,
                    b.modi_time modiTime,
                    b.modi_user modiUser
                from
                    asr_wrk_mast_log a
                        inner join asr_wrk_detl_log b on
                                a.wrk_no = b.wrk_no
                            and a.io_time = b.io_time
                            and a.wrk_sts in(5, 15)
                            <include refid="queryWhere"></include>
            ) c
        where
            c.id BETWEEN (#{curr} - 1) * (#{limit} + 1) and #{curr} * #{limit}
    </select>
    <select id="inventoryFlowListCount" resultType="java.lang.Integer">
        select count(*)
        from
        asr_wrk_mast_log a
        inner join asr_wrk_detl_log b on
        a.wrk_no = b.wrk_no
        and a.io_time = b.io_time
        and a.wrk_sts in(5, 15)
        <include refid="queryWhere"></include>
    </select>
</mapper>