自动化立体仓库 - WMS系统
1
zhang
2025-11-18 9609e2b096fac01efaa56958042b4175bbc25d5b
src/main/resources/mapper/WrkMastLogMapper.xml
@@ -5,6 +5,7 @@
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.WrkMastLog">
        <id column="id" property="id" />
        <result column="task_type" property="taskType" />
        <result column="wrk_no" property="wrkNo" />
        <result column="inv_wh" property="invWh" />
        <result column="ymd" property="ymd" />
@@ -51,7 +52,7 @@
        <result column="error_memo" property="errorMemo" />
        <result column="ctn_kind" property="ctnKind" />
        <result column="manu_type" property="manuType" />
        <result column="memo_m" property="memoM" />
        <result column="memo" property="memo" />
        <result column="sc_weight" property="scWeight" />
        <result column="log_mk" property="logMk" />
        <result column="log_err_time" property="logErrTime" />
@@ -62,5 +63,60 @@
        <result column="pre_have" property="preHave" />
        <result column="take_none" property="takeNone" />
    </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>