自动化立体仓库 - WMS系统
pang.jiabao
2025-04-22 93c73e8c232639d9e10afb7de07453974f9587e0
src/main/resources/mapper/OrderDetlMapper.xml
@@ -8,11 +8,11 @@
        <result column="order_id" property="orderId" />
        <result column="order_no" property="orderNo" />
        <result column="anfme" property="anfme" />
        <result column="work_qty" property="workQty" />
        <result column="qty" property="qty" />
        <result column="matnr" property="matnr" />
        <result column="maktx" property="maktx" />
        <result column="batch" property="batch" />
        <result column="specs" property="specs" />
        <result column="model" property="model" />
        <result column="color" property="color" />
@@ -37,15 +37,25 @@
        <result column="dead_time" property="deadTime" />
        <result column="dead_warn" property="deadWarn" />
        <result column="source" property="source" />
        <result column="check" property="check" />
        <result column="inspect" property="inspect" />
        <result column="danger" property="danger" />
        <result column="status" property="status" />
        <result column="create_by" property="createBy" />
        <result column="create_time" property="createTime" />
        <result column="update_by" property="updateBy" />
        <result column="update_time" property="updateTime" />
        <result column="memo" property="memo" />
        <result column="owner" property="owner" />
        <result column="payment" property="payment" />
        <result column="uuid" property="uuid" />
        <result column="finger_melting_min" property="fingerMeltingMin" />
        <result column="finger_melting_max" property="fingerMeltingMax" />
        <result column="fusing_point_min" property="fusingPointMin" />
        <result column="fusing_point_max" property="fusingPointMax" />
        <result column="yellowness_min" property="yellownessMin" />
        <result column="yellowness_max" property="yellownessMax" />
        <result column="opacity_min" property="opacityMin" />
        <result column="opacity_max" property="opacityMax" />
    </resultMap>
@@ -69,14 +79,9 @@
        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>
<!--        <if test="batch!=null and batch!=''">-->
<!--            and batch = #{batch}-->
<!--        </if>-->
    </select>
    <select id="selectWorkingDetls" resultMap="BaseResultMap">
@@ -86,9 +91,89 @@
        and qty &lt; anfme
    </select>
    <sql id="pakOutPageCondition">
        <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>
        <if test="maktx!=null and maktx!='' ">
            and mod.maktx like '%' + #{maktx} + '%'
        </if>
        <if test="batch!=null and batch!='' ">
            and mod.batch like '%' + #{batch} + '%'
        </if>
    </sql>
    <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>
    <select id="getPakoutPageCount" parameterType="java.util.Map" resultType="java.lang.Integer">
        select
        count(1)
        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>
    </select>
    <select id="checkAllDetlFinish" resultType="java.lang.Integer">
        SELECT count(*) From man_order_detl WHERE qty &lt; anfme and order_no = #{orderNo}
    </select>
    <select id="sameOrderComb" resultType="java.lang.Integer">
        SELECT SUM(anfme) FROM cust_wait_pakin WHERE  1=1
        <if test="orderNo!=null and orderNo!='' ">
            and order_no like '%' + #{orderNo} + '%'
        </if>
        and matnr = #{matnr}
        and batch = #{batch}
    </select>
    <select id="selectExportExcelAllDataList" resultType="com.zy.asrs.entity.OrderDetlExcelVo">
        select
            mo.order_no orderNo,
            md.anfme ,
            md.work_qty workQty,
            md.qty ,
            md.matnr ,
            md.maktx ,
            md.specs ,
            md.weight ,
            md.owner ,
            md.payment
        from
            man_order mo
                left join man_order_detl md on
                mo.id = md.order_id
        where mo.status = 1
        <if test="userId != null and userId != ''">
            and mo.create_by = #{userId}
        </if>
        order by
            mo.settle asc,
            mo.create_time desc
    </select>
    <update id="increase">
        update man_order_detl
        set qty = qty + #{qty}
        set work_qty = work_qty + #{workQty}
        where 1=1
        and order_id = #{orderId}
        and matnr = #{matnr}
@@ -104,7 +189,34 @@
    <update id="decrease">
        update man_order_detl
        set qty = qty - #{qty}
        set work_qty = work_qty - #{workQty}
        where 1=1
        and order_no = #{orderNo}
        and matnr = #{matnr}
        <choose>
            <when test="batch != null">
                and batch = #{batch}
            </when>
            <otherwise>
                and (batch IS NULL )
            </otherwise>
        </choose>
    </update>
    <update id="modifyStatus">
        update man_order_detl
        set status = #{status}
        where 1=1
        and order_id = #{orderId}
    </update>
    <insert id="addToLogTable">
        INSERT INTO man_order_detl_log SELECT * FROM man_order_detl WHERE id = #{id}
    </insert>
    <update id="increaseQtyByOrderNo">
        update man_order_detl
        set qty = qty + #{qty}
        where 1=1
        and order_no = #{orderNo}
        and matnr = #{matnr}
@@ -118,11 +230,20 @@
        </choose>
    </update>
    <update id="modifyStatus">
    <update id="increaseWorkQty">
        update man_order_detl
        set status = #{status}
        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>
    </update>
</mapper>