From 25c7cdf3ea9c4e63f16bbb52ce40e28bc65dc87c Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期六, 13 九月 2025 11:08:50 +0800
Subject: [PATCH] 1

---
 src/main/resources/mapper/OrderDetlMapper.xml |  253 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 247 insertions(+), 6 deletions(-)

diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml
index beef24a..169eb4d 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/OrderDetlMapper.xml
@@ -6,27 +6,47 @@
     <resultMap id="BaseResultMap" type="com.zy.asrs.entity.OrderDetl">
         <id column="id" property="id" />
         <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="name" property="name" />
+        <result column="batch" property="batch" />
         <result column="specs" property="specs" />
         <result column="model" property="model" />
-        <result column="batch" property="batch" />
+        <result column="color" property="color" />
+        <result column="brand" property="brand" />
         <result column="unit" property="unit" />
+        <result column="price" property="price" />
+        <result column="sku" property="sku" />
+        <result column="units" property="units" />
         <result column="barcode" property="barcode" />
-        <result column="supplier" property="supplier" />
-        <result column="unit_price" property="unitPrice" />
+        <result column="origin" property="origin" />
+        <result column="manu" property="manu" />
+        <result column="manu_date" property="manuDate" />
         <result column="item_num" property="itemNum" />
-        <result column="count" property="count" />
+        <result column="safe_qty" property="safeQty" />
         <result column="weight" property="weight" />
+        <result column="length" property="length" />
+        <result column="volume" property="volume" />
+        <result column="three_code" property="threeCode" />
+        <result column="supp" property="supp" />
+        <result column="supp_code" property="suppCode" />
+        <result column="be_batch" property="beBatch" />
+        <result column="dead_time" property="deadTime" />
+        <result column="dead_warn" property="deadWarn" />
+        <result column="source" property="source" />
+        <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="tk_type" property="tkType" />
+        <result column="roll_up" property="rollUp" />
 
     </resultMap>
 
@@ -35,9 +55,230 @@
         where 1=1
         and order_id = #{orderId}
         and matnr = #{matnr}
-        <if test="batch != null and batch != ''">
+        <choose>
+            <when test="batch != null and batch != ''">
+                and batch = #{batch}
+            </when>
+            <otherwise>
+                and (batch IS NULL OR batch = '')
+            </otherwise>
+        </choose>
+    </select>
+
+    <select id="selectItemByOrderNo" 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>
     </select>
 
+    <select id="selectWorkingDetls" resultMap="BaseResultMap">
+        select * from man_order_detl
+        where 1=1
+        and order_id = #{orderId}
+        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="brand!=null and brand!='' ">
+            and mod.brand like '%' + #{brand} + '%'
+        </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 =
+        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
+        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="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">
+        update man_order_detl
+        set qty = qty + #{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="decrease">
+        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>
+
+    <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>
+    <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 model = #{matnr}
+        <choose>
+            <when test="batch != null and batch != ''">
+                and batch = #{batch}
+            </when>
+            <otherwise>
+                and (batch IS NULL OR batch = '')
+            </otherwise>
+        </choose>
+    </update>
+
+    <update id="increaseWorkQty">
+        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>
+    </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>

--
Gitblit v1.9.1