From b4a8d50e3d97fc9e893b554a60134e4eceb012eb Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期一, 05 一月 2026 08:58:08 +0800
Subject: [PATCH] #

---
 src/main/resources/mapper/LocNormalMapper.xml |  116 +++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 95 insertions(+), 21 deletions(-)

diff --git a/src/main/resources/mapper/LocNormalMapper.xml b/src/main/resources/mapper/LocNormalMapper.xml
index e37045b..f8dcebe 100644
--- a/src/main/resources/mapper/LocNormalMapper.xml
+++ b/src/main/resources/mapper/LocNormalMapper.xml
@@ -11,6 +11,7 @@
         <result column="mnemonic" property="mnemonic"/>
         <result column="supplier" property="supplier"/>
         <result column="warehouse" property="warehouse"/>
+        <result column="warehouseName" property="warehouseName"/>
         <result column="brand" property="brand"/>
         <result column="anfme" property="anfme"/>
         <result column="bname" property="bname"/>
@@ -20,6 +21,7 @@
         <result column="appe_user" property="appeUser"/>
         <result column="appe_time" property="appeTime"/>
         <result column="state" property="state"/>
+        <result column="mat_status" property="matStatus"/>
     </resultMap>
 
     <select id="getLocNormalData" resultMap="BaseResultMap">
@@ -30,47 +32,64 @@
     <update id="updateLocNormal">
         update asr_loc_normal set anfme = #{anfme,jdbcType=DECIMAL},
         modi_user = #{modiUser, jdbcType=DECIMAL}, modi_time = #{modiTime, jdbcType=TIMESTAMP}
-        where matnr = #{matnr,jdbcType=VARCHAR}
+        where matnr = #{matnr,jdbcType=VARCHAR} and id = #{id, jdbcType=DECIMAL}
     </update>
 
     <update id="outLocNormal">
         update asr_loc_normal set state = '2',modi_user = #{modiUser, jdbcType=DECIMAL},
-        modi_time = #{modiTime, jdbcType=TIMESTAMP} where matnr = #{matnr,jdbcType=VARCHAR}
+        modi_time = #{modiTime, jdbcType=TIMESTAMP} where matnr = #{matnr,jdbcType=VARCHAR} and id = #{id, jdbcType=DECIMAL}
     </update>
 
     <update id="removeLocNormal">
         update asr_loc_normal set state = '3',modi_user = #{modiUser, jdbcType=DECIMAL},
-        modi_time = #{modiTime, jdbcType=TIMESTAMP} where matnr = #{matnr,jdbcType=VARCHAR}
+        modi_time = #{modiTime, jdbcType=TIMESTAMP} where matnr = #{matnr,jdbcType=VARCHAR} and id = #{id, jdbcType=DECIMAL}
     </update>
-
-    <insert id="locNormalIn">
-        BEGIN
-        <foreach collection="list" item="item" index="index">
-            INSERT INTO asr_loc_normal (matnr, maktx, anfme, altme, lgnum, type, supplier, brand, warehouse, state,
-            appe_user, appe_time)
-            VALUES (#{item.matnr,jdbcType=VARCHAR}, #{item.maktx,jdbcType=VARCHAR}, #{item.anfme,jdbcType=DECIMAL},
-            #{item.altme,jdbcType=VARCHAR},#{item.lgnum, jdbcType=VARCHAR}, #{item.type, jdbcType=VARCHAR},
-            #{item.supplier, jdbcType=VARCHAR},#{item.brand, jdbcType=VARCHAR},
-            #{item.warehouse,jdbcType=VARCHAR}, '1', #{item.appeUser,jdbcType=DECIMAL},
-            #{item.appeTime,jdbcType=TIMESTAMP})
-        </foreach>
-        END;
-    </insert>
 
     <insert id="pdaLocNormalIn">
         BEGIN
         <foreach collection="list" item="item" index="index">
-            INSERT INTO asr_loc_normal (matnr, maktx, anfme, warehouse, state, appe_user, appe_time)
+            INSERT INTO asr_loc_normal (matnr, maktx, anfme, mnemonic, supplier, warehouse, state, lgnum, type, altme,
+            appe_user, appe_time)
             VALUES (#{item.matnr,jdbcType=VARCHAR}, #{item.maktx,jdbcType=VARCHAR}, #{item.anfme,jdbcType=DECIMAL},
-            #{item.warehouse,jdbcType=VARCHAR}, '1', #{item.appeUser,jdbcType=DECIMAL},
-            #{item.appeTime,jdbcType=TIMESTAMP})
+            #{item.mnemonic, jdbcType=VARCHAR}, #{item.supplier, jdbcType=VARCHAR},
+            #{item.warehouse,jdbcType=VARCHAR}, '1',
+            #{item.lgnum, jdbcType=VARCHAR}, #{item.type, jdbcType=VARCHAR},
+            #{item.altme, jdbcType=VARCHAR},
+            #{item.appeUser,jdbcType=DECIMAL},#{item.appeTime,jdbcType=TIMESTAMP})
         </foreach>
         END;
     </insert>
 
+    <update id="pdaLocNormalUpdate">
+        BEGIN
+        <foreach collection="list" item="item" index="index">
+            update asr_loc_normal set anfme = #{item.anfme,jdbcType=DECIMAL}
+            where supplier = #{item.supplier,jdbcType=VARCHAR} and state = '1' and warehouse = #{item.warehouse,jdbcType=VARCHAR} and matnr = #{item.matnr,jdbcType=VARCHAR}
+        </foreach>
+        END;
+    </update>
+
+    <update id="withoutSupplierLocNormalUpdate">
+        BEGIN
+        <foreach collection="list" item="item" index="index">
+            update asr_loc_normal set anfme = #{item.anfme,jdbcType=DECIMAL}
+            where matnr = #{item.matnr,jdbcType=VARCHAR} and state = '1' and warehouse = #{item.warehouse,jdbcType=VARCHAR} and mnemonic = #{item.mnemonic, jdbcType=VARCHAR}
+        </foreach>
+        END;
+    </update>
+
     <select id="pdaLocNormalQuery" resultMap="BaseResultMap">
         select id, matnr,maktx, warehouse,anfme from asr_loc_normal
-        where warehouse = #{warehouse,jdbcType=VARCHAR} and matnr =#{matnr,jdbcType=VARCHAR}
+        where 1 = 1
+        <if test="warehouse != null and warehouse != ''">
+            and warehouse = #{warehouse,jdbcType=VARCHAR}
+        </if>
+        <if test="matnr != null and matnr != ''">
+            and matnr =#{matnr,jdbcType=VARCHAR}
+        </if>
+        <if test="billNo != null and billNo != ''">
+            and supplier = #{billNo, jdbcType=VARCHAR}
+        </if>
         and state = '1' COLLATE Chinese_PRC_CS_AS
     </select>
 
@@ -83,4 +102,59 @@
         update asr_loc_normal set anfme = #{anfme, jdbcType=DECIMAL},modi_user = #{modiUser, jdbcType=DECIMAL},modi_time = #{modiTime, jdbcType=TIMESTAMP}
         where matnr = #{matnr,jdbcType=VARCHAR} and warehouse = #{warehouse,jdbcType=VARCHAR} and id = #{id,jdbcType=DECIMAL}
     </update>
+
+    <select id="pdaLocNormalWarehouseQuery" resultMap="BaseResultMap">
+        select id,matnr, maktx, warehouse from asr_loc_normal
+        where warehouse = #{warehouse, jdbcType=VARCHAR}
+        and state = '1'
+        <if test="matnr != ''">
+            and matnr = #{matnr, jdbcType=VARCHAR}
+        </if>
+        COLLATE Chinese_PRC_CS_AS
+    </select>
+
+    <update id="pdaLocNormalMove">
+        BEGIN
+        <foreach collection="list" item="item" index="index">
+            update asr_loc_normal set warehouse = #{item.warehouse,jdbcType=VARCHAR},
+            modi_user = #{item.modiUser, jdbcType=DECIMAL},modi_time = #{item.modiTime, jdbcType=TIMESTAMP}
+            where id = #{item.id,jdbcType=DECIMAL}
+        </foreach>
+        END;
+    </update>
+
+    <select id="queryLocNorlMatnr" resultMap="BaseResultMap">
+        select a.*,b.name as warehouseName from asr_loc_normal a left join asr_loc_area b on a.warehouse = b.uuid
+        where matnr = #{matnr} and state = '1'
+        <if test="mnemonic != null and mnemonic != ''">
+            and mnemonic = #{mnemonic}
+        </if>
+    </select>
+
+    <select id="getAllLocDetlData" resultMap="BaseResultMap">
+        select * from asr_loc_normal where 1 = 1
+        <if test="supplier!=null and supplier!='' ">
+            and supplier = #{supplier,jdbcType=VARCHAR}
+        </if>
+        <if test="matnr!=null and matnr!='' ">
+            and matnr = #{matnr,jdbcType=VARCHAR}
+        </if>
+    </select>
+
+    <update id="updateMatStatus">
+        BEGIN
+        <foreach collection="list" item="item" index="index">
+            update dbo.asr_loc_normal
+            set mat_status = #{item.matStatus,jdbcType=VARCHAR}
+            where 1 = 1
+            <if test="item.supplier!=null and item.supplier!='' ">
+                and supplier = #{item.supplier,jdbcType=VARCHAR}
+            </if>
+            <if test="item.matnr!=null and item.matnr!='' ">
+                and matnr = #{item.matnr,jdbcType=VARCHAR}
+            </if>
+        </foreach>
+        END;
+    </update>
+
 </mapper>

--
Gitblit v1.9.1