From 76fe27b7b098cda720198aaa157edee4482351b8 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 12 十一月 2025 13:08:16 +0800
Subject: [PATCH] 成品判料改待判

---
 src/main/resources/mapper/LocDetlMapper.xml |  139 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 134 insertions(+), 5 deletions(-)

diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 3d1dedc..bcb05be 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -44,6 +44,7 @@
         <result column="appe_user" property="appeUser" />
         <result column="appe_time" property="appeTime" />
         <result column="memo" property="memo" />
+        <result column="roll_up" property="rollUp" />
     </resultMap>
 
     <sql id="batchSeq">
@@ -56,6 +57,39 @@
             </otherwise>
         </choose>
     </sql>
+    <insert id="batchDetls">
+        INSERT INTO
+        asr_loc_detl(loc_no,zpallet,barcode,batch,anfme,matnr,maktx,unit,specs,model,color,manu,sku,brand
+        ,origin,item_num,manu_date,weight,volume,length,modi_time,modi_user,appe_time,appe_user)
+        VALUES
+        <foreach collection="locDetls" item="item" index="index" separator=",">
+            (
+            #{item.locNo},
+            #{item.zpallet},
+            #{item.barcode},
+            #{item.batch},
+            #{item.anfme},
+            #{item.matnr},
+            #{item.maktx},
+            #{item.unit},
+            #{item.specs},
+            #{item.model},
+            #{item.color},
+            #{item.manu},
+            #{item.sku},
+            #{item.brand},
+            #{item.origin},
+            #{item.itemNum},
+            #{item.manuDate},
+            #{item.weight},
+            #{item.volume},
+            #{item.length},
+            #{item.modiTime},
+            #{item.modiUser},
+            #{item.appeTime},
+            #{item.appeUser}
+            )</foreach>
+    </insert>
 
     <select id="selectItem" resultMap="BaseResultMap">
         select top 1 *
@@ -83,25 +117,57 @@
         and matnr = #{matnr}
         <include refid="batchSeq"></include>
     </update>
+    <delete id="deleteItem2">
+        delete from asr_loc_detl
+        where 1=1
+        and loc_no = #{locNo}
+        and model = #{model}
+        <include refid="batchSeq"></include>
+    </delete>
+
+    <update id="updateAnfme2">
+        update asr_loc_detl
+        set anfme = #{anfme}
+        , modi_time = getdate()
+        where 1=1
+        and loc_no = #{locNo}
+        and model = #{model}
+        <include refid="batchSeq"></include>
+    </update>
 
     <sql id="stockOutCondition">
         <if test="loc_no!=null and loc_no!='' ">
-            and a.loc_no like '%' + #{loc_no} + '%'
+            and a.loc_no like concat('%' , #{loc_no} , '%')
         </if>
         <if test="matnr!=null and matnr!='' ">
-            and a.matnr like '%' + #{matnr} + '%'
+            and a.matnr like concat('%' , #{matnr} , '%')
         </if>
         <if test="maktx!=null and maktx!='' ">
-            and a.maktx like '%' + #{maktx} + '%'
+            and a.maktx like concat('%' , #{maktx} , '%')
         </if>
         <if test="anfme!=null and anfme!='' ">
-            and a.anfme like '%' + #{anfme} + '%'
+            and a.anfme like concat('%' , #{anfme} , '%')
         </if>
-        <if test="startTime!=null and endTime!=null">
+        <if test="startTime!=null and endTime!=null and endTime!=''">
             and a.modi_time between #{startTime} and #{endTime}
         </if>
         <if test="crnNo!=null and crnNo!='' ">
             and b.crn_no=#{crnNo}
+        </if>
+        <if test="batch!=null and batch!='' ">
+            and a.batch like concat('%' , #{batch} , '%')
+        </if>
+        <if test="specs!=null and specs!='' ">
+            and a.specs like concat('%' , #{specs} , '%')
+        </if>
+        <if test="brand!=null and brand!='' ">
+            and a.brand like concat('%' , #{brand} , '%')
+        </if>
+        <if test="model!=null and model!='' ">
+            and a.model like concat('%' , #{model} , '%')
+        </if>
+        <if test="unit!=null and unit!='' ">
+            and a.unit like concat('%' , #{unit} , '%')
         </if>
     </sql>
 
@@ -318,5 +384,68 @@
         from asr_loc_detl
         where loc_no=#{locNo}
     </select>
+    <select id="queryInLocTime" resultType="com.zy.asrs.entity.InLocTimeDto">
+        select
+            brand packageGroupNo,
+            DATEDIFF(day, appe_time , getdate()) diffDay
+        from
+            asr_loc_detl
+        where brand in
+        <foreach collection="param" index="index" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+        group by
+            brand,
+            appe_time
+    </select>
+    <select id="selectLocNoByGroupNo" resultType="com.zy.asrs.entity.LocDetl">
+        select distinct ald.loc_no as locNo,ald.brand from asr_loc_detl ald where ald.brand in
+        <foreach collection="packageGroupNos" item="item" index="index" open="(" close=")" separator=",">
+            #{item}
+        </foreach>
+    </select>
+    <select id="selectTallyGoosList" resultMap="BaseResultMap">
+        select
+            a.*
+        from
+            asr_loc_detl a
+        where
+                a.loc_no in(
+                select
+                    DISTINCT ald.loc_no
+                from
+                    asr_loc_mast alm
+                        inner join asr_loc_detl ald on
+                        alm.loc_no = ald.loc_no
+                where
+                    alm.loc_sts = 'F'
+                  and alm.bay1 > #{columnNum}
+                  and ald.dead_warn = 0
+                group by
+                    ald.loc_no ,
+                    ald.brand
+                HAVING
+                    count(ald.model) = 1
+            )
+        order by
+            a.manu_date asc
+    </select>
+
+    <update id="updateMatTurn">
+        UPDATE a
+        SET a.matnr=b.matnr,
+            a.specs=b.specs,
+            a.maktx=b.maktx,
+            a.unit=b.unit
+        FROM asr_loc_detl a
+        INNER JOIN man_mat b ON a.matnr=#{matnrOld} AND b.matnr=#{matnr};
+    </update>
+    <update id="updateLhStsByLocNo">
+        update asr_loc_detl set dead_warn = #{status},modi_time = getdate() where loc_no = #{locNo}
+    </update>
+    <update id="updateQualifiedByRollNo">
+        update asr_loc_detl set three_code = #{qualified} where model = #{rollNo}
+    </update>
+
 
 </mapper>

--
Gitblit v1.9.1