From dc9228656b202a8f1ec7720d78eb0421a94a28c9 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期四, 23 十月 2025 16:20:14 +0800
Subject: [PATCH] 聚乳酸明细增加丙交酯含量,%指标

---
 src/main/resources/mapper/ManLocDetlMapper.xml |  243 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 236 insertions(+), 7 deletions(-)

diff --git a/src/main/resources/mapper/ManLocDetlMapper.xml b/src/main/resources/mapper/ManLocDetlMapper.xml
index 1b51a72..84cdcf6 100644
--- a/src/main/resources/mapper/ManLocDetlMapper.xml
+++ b/src/main/resources/mapper/ManLocDetlMapper.xml
@@ -28,9 +28,30 @@
         <result column="create_by" property="createBy" />
         <result column="create_time" property="createTime" />
         <result column="update_by" property="updateBy" />
-        <result column="update_time" property="modiTime" />
+        <result column="modi_time" property="modiTime" />
+        <result column="produce_time" property="produceTime" />
         <result column="memo" property="memo" />
+        <result column="owner" property="owner" />
+        <result column="payment" property="payment" />
+        <result column="real_anfme" property="realAnfme" />
+        <result column="order_no" property="orderNo" />
+        <result column="stock_freeze" property="stockFreeze" />
+    </resultMap>
 
+    <resultMap id="WarningResultMap" type="com.zy.asrs.entity.LocDetlWarningDTO">
+        <result column="loc_no" property="locNo" />
+        <result column="matnr" property="matnr" />
+        <result column="maktx" property="maktx" />
+        <result column="create_time" property="createTime" />
+        <result column="specs" property="specs" />
+        <result column="inventory_max" property="inventoryMax" />
+        <result column="inventory_min" property="inventoryMin" />
+        <result column="inventory_age_max" property="inventoryAgeMax" />
+        <result column="count_anfme" property="countAnfme" />
+        <result column="diff_time" property="diffTime" />
+        <result column="pageNumber" property="pageNumber" />
+        <result column="pageSize" property="pageSize" />
+        <result column="row" property="row" />
     </resultMap>
 
     <sql id="locDetlCondition">
@@ -40,18 +61,44 @@
         <if test="loc_no != null and loc_no != ''">
             and mld.loc_no like concat('%',#{loc_no},'%')
         </if>
+        <if test="locNo != null and locNo != ''">
+            and mld.loc_no like concat('%',#{loc_no},'%')
+        </if>
         <if test="matnr != null and matnr != ''">
             and mld.matnr like concat('%',#{matnr},'%')
         </if>
         <if test="maktx != null and maktx != ''">
             and mld.maktx like concat('%',#{maktx},'%')
         </if>
+        <if test="zpallet != null and zpallet != ''">
+            and mld.zpallet like concat('%',#{zpallet},'%')
+        </if>
         <if test="startTime!=null and endTime!=null">
             and mld.update_time between #{startTime} and #{endTime}
         </if>
     </sql>
+    <sql id="locDetlCondition2">
+        <if test="host_id != null and host_id != ''">
+            and v.host_id = #{host_id}
+        </if>
+        <if test="loc_no != null and loc_no != ''">
+            and v.loc_no like concat('%',#{loc_no},'%')
+        </if>
+        <if test="locNo != null and locNo != ''">
+            and v.loc_no like concat('%',#{loc_no},'%')
+        </if>
+        <if test="matnr != null and matnr != ''">
+            and v.matnr like concat('%',#{matnr},'%')
+        </if>
+        <if test="maktx != null and maktx != ''">
+            and v.maktx like concat('%',#{maktx},'%')
+        </if>
+        <if test="startTime!=null and endTime!=null">
+            and v.update_time between #{startTime} and #{endTime}
+        </if>
+    </sql>
 
-    <select id="listByPage" resultMap="BaseResultMap">
+    <select id="listByPage" resultMap="BaseResultMap" parameterType="java.util.Map">
         select * from
         (
         SELECT
@@ -62,8 +109,7 @@
         LEFT JOIN man_mat mm ON mld.matnr = mm.matnr
         LEFT JOIN man_tag mt ON mm.tag_id = mt.id
         WHERE 1=1
-        AND (CHARINDEX(','+#{node_id}+',', ','+mn.path+',') > 0 OR mn.id = #{node_id})
-        AND (CHARINDEX(','+#{tag_id}+',', ','+mt.path+',') > 0 OR mt.id = #{tag_id})
+         AND (CHARINDEX(#{node_id}, mn.path) > 0 OR mn.id = #{node_id})
         <include refid="locDetlCondition"></include>
         ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
     </select>
@@ -76,8 +122,7 @@
         LEFT JOIN man_mat mm ON mld.matnr = mm.matnr
         LEFT JOIN man_tag mt ON mm.tag_id = mt.id
         WHERE 1=1
-        AND (CHARINDEX(','+#{node_id}+',', ','+mn.path+',') > 0 OR mn.id = #{node_id})
-        AND (CHARINDEX(','+#{tag_id}+',', ','+mt.path+',') > 0 OR mt.id = #{tag_id})
+        AND (CHARINDEX(#{node_id}, mn.path) > 0 OR mn.id = #{node_id})
         <include refid="locDetlCondition"></include>
     </select>
 
@@ -224,10 +269,64 @@
         where loc_no = #{locNo}
         and matnr = #{matnr}
     </select>
-    <select id="selectItem0" resultType="com.zy.asrs.entity.ManLocDetl">
+    <select id="selectItem" resultMap="BaseResultMap">
         select top 1 * from man_loc_detl
         where loc_no = #{locNo}
         and matnr = #{matnr}
+        <if test="batch!=null and batch!='' ">
+            and batch = #{batch}
+        </if>
+        <!--        <choose>-->
+        <!--            <when test="batch != null and batch != ''">-->
+        <!--                and batch = #{batch}-->
+        <!--            </when>-->
+        <!--            <otherwise>-->
+        <!--                and (batch IS NULL OR batch = '')-->
+        <!--            </otherwise>-->
+        <!--        </choose>-->
+    </select>
+
+    <select id="listByOutPage" resultMap="BaseResultMap">
+        select * from
+        (
+        SELECT
+        ROW_NUMBER() over (order by mld.create_time desc) as row,
+        mld.*
+        FROM man_loc_detl mld
+        LEFT JOIN man_node mn ON mld.node_id = mn.id
+        LEFT JOIN man_mat mm ON mld.matnr = mm.matnr
+        LEFT JOIN man_tag mt ON mm.tag_id = mt.id
+        WHERE 1=1
+        <include refid="locDetlCondition"></include>
+        ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
+    </select>
+    <select id="listByOutPageCount" resultType="java.lang.Long">
+        select
+        count(1)
+        FROM man_loc_detl mld
+        LEFT JOIN man_node mn ON mld.node_id = mn.id
+        LEFT JOIN man_mat mm ON mld.matnr = mm.matnr
+        LEFT JOIN man_tag mt ON mm.tag_id = mt.id
+        WHERE 1=1
+        <include refid="locDetlCondition"></include>
+    </select>
+    <select id="selectAllPage" resultMap="BaseResultMap">
+        select * from
+        (
+        SELECT
+        ROW_NUMBER() over (order by v.loc_no desc) as row,
+            v.*
+        FROM [dbo].[man_view_asrs_saas] v
+        WHERE 1=1
+        <include refid="locDetlCondition2"></include>
+        ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
+    </select>
+    <select id="selectAllPageSize" resultType="java.lang.Long">
+        select
+        count(1)
+        FROM [dbo].[man_view_asrs_saas] v
+        WHERE 1=1
+        <include refid="locDetlCondition2"></include>
     </select>
 
 
@@ -247,4 +346,134 @@
         where node_id = #{nodeId} ;
     </update>
 
+    <select id="selectInventory" resultMap="BaseResultMap">
+        select top 1 * from man_loc_detl
+        where loc_no=#{LocNo}
+        and 1=1
+        and matnr=#{matnr}
+        <if test="batch != null and batch !='' ">
+          and  batch like '%' + #{batch} + '%'
+        </if>
+    </select>
+    <sql id="selectAllWarningSql">
+        <if test="locNo!=null and locNo!='' ">
+            and t.loc_no like '%' + #{locNo} + '%'
+        </if>
+        <if test="matnr != null and matnr !='' ">
+            and t.matnr like '%' + #{matnr} + '%'
+        </if>
+
+    </sql>
+    <select id="selectAllWarning" resultMap="WarningResultMap" parameterType="com.zy.asrs.entity.LocDetlWarningDTO">
+        SELECT
+        *
+        FROM
+        (
+        SELECT
+        ROW_NUMBER ( ) OVER ( ORDER BY matnr ) AS row,*
+        FROM
+        (
+        SELECT
+        DISTINCT loc_no,
+        locd.matnr,
+        locd.maktx,
+        locd.owner,
+        locd.batch,
+        produce_time as create_time,
+        produce_time,
+        locd.specs,
+        locd.unit,
+        inventory_max,
+        inventory_min,
+        inventory_age_max,
+        DATEDIFF( DAY, produce_time, GETDATE( ) ) AS [diff_time]
+        FROM
+        man_loc_detl locd
+        LEFT JOIN (
+        SELECT
+        man_mat.matnr,
+        maktx,
+        specs,
+        unit,
+        inventory_max,
+        inventory_min,
+        inventory_age_max,
+        count_anfme
+        FROM
+        man_mat
+        RIGHT JOIN ( SELECT matnr,batch,owner, SUM ( anfme ) AS count_anfme FROM man_loc_detl loc GROUP BY matnr,batch,owner ) aa ON aa.matnr = man_mat.matnr
+        ) warn ON locd.matnr = warn.matnr
+        WHERE
+        DATEDIFF( DAY, produce_time, GETDATE( ) ) > inventory_age_max
+        OR count_anfme > inventory_max
+        OR count_anfme &lt; inventory_min
+        ) t
+        WHERE
+        1 = 1
+        <include refid="selectAllWarningSql"></include>
+        ) a
+
+
+    </select>
+    <select id="queryStock"  resultMap="BaseResultMap">
+        select a.*
+        from asr_loc_detl_merge a
+        left join asr_loc_detl_F_view b on a.loc_no = b.loc_no
+        where 1=1
+        and b.loc_sts = 'F'
+        and a.matnr = #{matnr}
+        <if test="batch != null || batch != ''">
+            and a.batch = #{batch}
+        </if>
+
+    </select>
+    <delete id="deleteDatailed">
+        delete from man_loc_detl
+        where loc_no = #{locNo}
+        and matnr = #{matnr}
+        <choose>
+            <when test="batch != null and batch != ''">
+                and batch = #{batch}
+            </when>
+            <otherwise>
+                and (batch IS NULL OR batch = '')
+            </otherwise>
+        </choose>
+    </delete>
+
+    <update id="increase">
+        update man_loc_detl
+        set  anfme= #{anfme}
+        , modi_time = getdate()
+        ,weight=#{weight}
+        where 1=1
+        and loc_no = #{locNo}
+        and matnr = #{matnr}
+        <if test="batch != null || batch != ''">
+            and batch = #{batch}
+        </if>
+<!--        <choose>-->
+<!--            <when test="batch != null and batch!=''  ">-->
+<!--                and batch = #{batch}-->
+<!--            </when>-->
+<!--            <otherwise>-->
+<!--                and (batch IS NULL OR batch = '')-->
+<!--            </otherwise>-->
+<!--        </choose>-->
+    </update>
+    <select id="selectByLocNo" resultMap="BaseResultMap">
+        select * from man_loc_detl
+        where 1=1
+          and loc_no = #{locNo}
+    </select>
+
+    <update id="updateStockFreeze">
+        update man_loc_detl
+        set stock_freeze = #{stockFreeze}
+          , modi_time = getdate()
+        where 1=1
+          and loc_no = #{locNo}
+          and matnr = #{matnr}
+    </update>
+
 </mapper>

--
Gitblit v1.9.1