自动化立体仓库 - WMS系统
#
whycq
2025-07-03 f9e742b17c47d9f0df3a56caa09f18c8f99aa3f8
src/main/resources/mapper/OrderDetlMapper.xml
@@ -45,6 +45,7 @@
        <result column="update_by" property="updateBy" />
        <result column="update_time" property="updateTime" />
        <result column="memo" property="memo" />
        <result column="bom_code" property="bomCode" />
    </resultMap>
@@ -68,8 +69,24 @@
        where 1=1
        and order_no = #{orderNo}
        and matnr = #{matnr}
        <if test="batch!=null">
        <if test="batch!=null and batch!='' ">
            and batch = #{batch}
        </if>
    </select>
    <select id="selectItemByOrderNo2" resultMap="BaseResultMap">
        select * from man_order_detl
        where 1=1
        and order_no = #{orderNo}
        and matnr = #{matnr}
        <if test="batch!=null and batch!='' ">
            and batch = #{batch}
        </if>
        <if test="bomCode!=null and bomCode!='' ">
            and bom_code = #{bomCode}
        </if>
        <if test="threeCode!=null and threeCode!='' ">
            and three_code = #{threeCode}
        </if>
    </select>
@@ -133,17 +150,36 @@
            and order_no like '%' + #{orderNo} + '%'
        </if>
        and matnr = #{matnr}
        and batch = #{batch}
        <choose>
            <when test="batch != null and batch!=''  ">
                and batch = #{batch}
            </when>
            <otherwise>
                and (batch IS NULL OR batch = '')
            </otherwise>
        </choose>
    </select>
    <select id="selectCountToAsrByMatnr" resultType="java.lang.Long">
        SELECT ISNULL(SUM(anfme), 0) FROM asr_loc_detl WHERE matnr = #{matnr}
        <if test="batch!=null and batch!='' ">
            and batch = #{batch}
        </if>
    </select>
    <select id="selectCountToManByMatnr" resultType="java.lang.Long">
        SELECT ISNULL(SUM(anfme), 0) FROM man_loc_detl WHERE matnr = #{matnr}
        <if test="batch!=null and batch!='' ">
            and batch = #{batch}
        </if>
    </select>
    <update id="increase">
        update man_order_detl
        set qty = qty + #{qty}
        set work_qty = work_qty + #{qty}
        where 1=1
        and order_id = #{orderId}
        and matnr = #{matnr}
        <choose>
            <when test="batch != null and batch != ''">
            <when test="batch != null and batch!=''  ">
                and batch = #{batch}
            </when>
            <otherwise>
@@ -154,12 +190,12 @@
    <update id="decrease">
        update man_order_detl
        set qty = qty - #{qty}
        set work_qty = work_qty - #{qty}
        where 1=1
        and order_no = #{orderNo}
        and matnr = #{matnr}
        <choose>
            <when test="batch != null">
            <when test="batch != null ">
                and batch = #{batch}
            </when>
            <otherwise>
@@ -195,6 +231,38 @@
        </choose>
    </update>
    <update id="increaseQtyByOrderNo2">
        update man_order_detl
        set qty = qty + #{qty}
        where 1=1
        and order_no = #{orderNo}
        and matnr = #{matnr}
        <choose>
            <when test="batch != null and batch != ''">
                and batch = #{batch}
            </when>
            <otherwise>
                and (batch IS NULL OR batch = '')
            </otherwise>
        </choose>
        <choose>
            <when test="bomCode != null and bomCode != ''">
                and bom_code = #{bomCode}
            </when>
            <otherwise>
                and (bom_code IS NULL OR bom_code = '')
            </otherwise>
        </choose>
        <choose>
            <when test="threeCode != null and threeCode != ''">
                and three_code = #{threeCode}
            </when>
            <otherwise>
                and (three_code IS NULL OR three_code = '')
            </otherwise>
        </choose>
    </update>
    <update id="increaseWorkQty">
        update man_order_detl
        set work_qty = work_qty + #{workQty}
@@ -211,4 +279,90 @@
        </choose>
    </update>
    <update id="increaseWorkQty2">
        update man_order_detl
        set work_qty = work_qty + #{workQty}
        where 1=1
        and order_id = #{orderId}
        and matnr = #{matnr}
        <choose>
            <when test="batch != null and batch != ''">
                and batch = #{batch}
            </when>
            <otherwise>
                and (batch IS NULL OR batch = '')
            </otherwise>
        </choose>
        <choose>
            <when test="bomCode != null and bomCode != ''">
                and bom_code = #{bomCode}
            </when>
            <otherwise>
                and (bom_code IS NULL OR bom_code = '')
            </otherwise>
        </choose>
        <choose>
            <when test="threeCode != null and threeCode != ''">
                and three_code = #{threeCode}
            </when>
            <otherwise>
                and (three_code IS NULL OR three_code = '')
            </otherwise>
        </choose>
    </update>
    <update id="increaseAnfme">
        update man_order_detl
        set anfme = anfme + #{qty}
        where 1=1
        and order_id = #{orderId}
        and matnr = #{matnr}
        <choose>
            <when test="batch != null and batch != ''">
                and batch = #{batch}
            </when>
            <otherwise>
                and (batch IS NULL OR batch = '')
            </otherwise>
        </choose>
    </update>
    <update id="increaseAnfme2">
        update man_order_detl
        set anfme = anfme + #{qty}
        where 1=1
        and order_id = #{orderId}
        and matnr = #{matnr}
        <choose>
            <when test="batch != null and batch != ''">
                and batch = #{batch}
            </when>
            <when test="bumNum != null and bumNum != ''">
                and bom_code = #{bumNum}
            </when>
            <when test="threeCode != null and threeCode != ''">
                and three_code = #{threeCode}
            </when>
            <otherwise>
                and (batch IS NULL OR batch = '')
            </otherwise>
        </choose>
    </update>
    <update id="increaseWorkQtyByOrderNo">
        update man_order_detl
        set work_qty = work_qty + #{qty}
        where 1=1
        and order_no = #{orderNo}
        and matnr = #{matnr}
        <choose>
            <when test="batch != null and batch != ''">
                and batch = #{batch}
            </when>
            <otherwise>
                and (batch IS NULL OR batch = '')
            </otherwise>
        </choose>
    </update>
</mapper>