自动化立体仓库 - WMS系统
1
zhang
2025-09-13 25c7cdf3ea9c4e63f16bbb52ce40e28bc65dc87c
src/main/resources/mapper/OrderDetlMapper.xml
@@ -45,6 +45,8 @@
        <result column="update_by" property="updateBy" />
        <result column="update_time" property="updateTime" />
        <result column="memo" property="memo" />
        <result column="tk_type" property="tkType" />
        <result column="roll_up" property="rollUp" />
    </resultMap>
@@ -84,8 +86,8 @@
        <if test="order_id!=null and order_id!='' ">
            and mod.order_id like '%' + #{order_id} + '%'
        </if>
        <if test="matnr!=null and matnr!='' ">
            and mod.matnr like '%' + #{matnr} + '%'
        <if test="brand!=null and brand!='' ">
            and mod.brand like '%' + #{brand} + '%'
        </if>
        <if test="maktx!=null and maktx!='' ">
            and mod.maktx like '%' + #{maktx} + '%'
@@ -98,19 +100,22 @@
    <select id="getPakoutPage" resultMap="BaseResultMap">
        select * from
        (
            select
            ROW_NUMBER() over (order by mo.create_time desc) as row,
            mod.*
            from man_order_detl mod
            inner join man_order mo on mod.order_id = mo.id
            inner join man_doc_type mdt on mo.doc_type = mdt.doc_id
            where 1=1
            and mo.settle &lt;= 2
            and mo.status = 1
            and mdt.pakout = 1
            <include refid="pakOutPageCondition"></include>
        ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
        select
        ROW_NUMBER() over (order by mo.create_time desc) as row,
        mod.*
        from man_order_detl mod
        inner join man_order mo on mod.order_id = mo.id
        inner join man_doc_type mdt on mo.doc_type = mdt.doc_id
        where 1=1
        and mo.settle &lt;= 2
        and mo.status =
        case when mo.doc_type = 25 then 0 else 1 end
        and mdt.pakout = 1
        <include refid="pakOutPageCondition"></include>
        ) t
        where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
    </select>
    <select id="getPakoutPageCount" parameterType="java.util.Map" resultType="java.lang.Integer">
        select
@@ -123,6 +128,21 @@
        and mo.status = 1
        and mdt.pakout = 1
        <include refid="pakOutPageCondition"></include>
    </select>
    <select id="selectMoveLocDetl" resultMap="BaseResultMap">
        select
        md.*
        from
        man_order mo
        left join man_order_detl md on
        mo.order_no = md.order_no
        where
        mo.doc_type = 24
        and mo.settle &lt;= 2
        and md.danger = 0
    </select>
    <select id="selectDetlList" resultType="java.lang.String">
        select brand from man_order_detl where order_no = #{orderNo}
    </select>
    <update id="increase">
@@ -167,13 +187,35 @@
    <insert id="addToLogTable">
        INSERT INTO man_order_detl_log SELECT * FROM man_order_detl WHERE id = #{id}
    </insert>
    <insert id="batchDetls">
        INSERT INTO
        man_order_detl(brand,batch,order_id,order_no,specs,model,be_batch,create_by,create_time,status,qty,anfme,supp,memo)
        VALUES
        <foreach collection="list" item="item" index="index" separator=",">
            (
            #{item.brand},
            #{item.batch},
            #{item.orderId},
            #{item.orderNo},
             #{item.specs},
             #{item.model},
             #{item.beBatch},
            #{item.createBy},
            #{item.createTime},
            #{item.status},
            #{item.qty},
            #{item.anfme},
             #{item.supp},
             #{item.memo}
            )</foreach>
    </insert>
    <update id="increaseQtyByOrderNo">
        update man_order_detl
        set qty = qty + #{qty}
        where 1=1
        and order_no = #{orderNo}
        and matnr = #{matnr}
        and model = #{matnr}
        <choose>
            <when test="batch != null and batch != ''">
                and batch = #{batch}
@@ -199,5 +241,44 @@
            </otherwise>
        </choose>
    </update>
    <update id="updateOrderDetlByGroupNo">
        update man_order_detl
        set work_qty = #{count}
        where 1=1
          and order_no= #{orderNo} and brand = #{brand}
    </update>
    <update id="updateOrderDetlQtyByGroupNo">
        update man_order_detl
        set qty = 1
        where 1=1
        and order_no = #{orderNo}
        and brand = #{brand}
    </update>
    <update id="updateCheckExceptionByGroup">
        update man_order_detl set source = 1 where 1 = 1 and brand in
        <foreach collection="groups" item="item" separator="," open="(" close=")">
            #{item}
        </foreach>
    </update>
    <update id="updateOrderDetlStatusByPackageNo">
        update man_order_detl set inspect = #{status} where brand in
        <foreach collection="brands" open="(" separator="," close=")" item="item"  index="index">
            #{item}
        </foreach>
    </update>
    <select id="selectByBrand" resultMap="BaseResultMap">
        select *
        from man_order_detl
        where brand = #{brand}
    </select>
    <select id="selectByOrderNoAndPkgGroupNoAndVolumeNo" resultMap="BaseResultMap">
        select *
        from man_order_detl
        where order_no = #{orderNo}
        and brand = #{brand}
        and model = #{model}
    </select>
</mapper>