This commit is contained in:
zc
2026-03-20 18:06:45 +08:00
parent 18dbf7a042
commit 3b8d01b673
14 changed files with 578 additions and 73 deletions

View File

@@ -1,4 +1,62 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="top.wms.admin.materialProcess.mapper.MaterialProcessMapper">
<!-- 按流程名称批量更新 -->
<update id="updateByName">
UPDATE sys_material_process
<trim prefix="SET" suffixOverrides=",">
<if test="list != null and list.size() > 0">
process_code = CASE
<foreach collection="list" item="item" separator="">
<if test="item.processCode != null and item.processCode != ''">
WHEN process_name = #{item.processName} THEN #{item.processCode}
</if>
</foreach>
ELSE process_code
END,
update_user = CASE
<foreach collection="list" item="item" separator="">
<if test="item.updateUser != null">
WHEN process_name = #{item.processName} THEN #{item.updateUser}
</if>
</foreach>
ELSE update_user
END,
update_time = NOW()
</if>
</trim>
WHERE process_name IN
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item.processName}
</foreach>
</update>
<update id="updateByCode">
UPDATE sys_material_process
<trim prefix="SET" suffixOverrides=",">
<if test="list != null and list.size() > 0">
process_name = CASE
<foreach collection="list" item="item" separator="">
<if test="item.processName != null and item.processName != ''">
WHEN process_code = #{item.processCode} THEN #{item.processName}
</if>
</foreach>
ELSE process_name
END,
update_user = CASE
<foreach collection="list" item="item" separator="">
<if test="item.updateUser != null">
WHEN process_code = #{item.processCode} THEN #{item.updateUser}
</if>
</foreach>
ELSE update_user
END,
update_time = NOW()
</if>
</trim>
WHERE process_code IN
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item.processCode}
</foreach>
</update>
</mapper>

View File

@@ -4,46 +4,76 @@
<!-- 按物料名称批量更新 -->
<update id="updateByName">
<foreach collection="list" item="item" separator=";">
UPDATE sys_material_info
<set>
<if test="item.encoding != null and item.encoding != ''" >
encoding = #{item.encoding},
</if>
<if test="item.unitWeight != null">
unit_weight = #{item.unitWeight},
</if>
<if test="item.materialSpec != null and item.materialSpec != ''">
material_spec = #{item.materialSpec},
</if>
<if test="item.updateUser != null">
update_user = #{item.updateUser},
</if>
UPDATE sys_material_info
<trim prefix="SET" suffixOverrides=",">
<if test="list != null and list.size() > 0">
encoding = CASE
<foreach collection="list" item="item" separator="">
<if test="item.encoding != null and item.encoding != ''">
WHEN material_name = #{item.materialName} THEN #{item.encoding}
</if>
</foreach>
ELSE encoding
END,
unit_weight = CASE
<foreach collection="list" item="item" separator="">
<if test="item.unitWeight != null">
WHEN material_name = #{item.materialName} THEN #{item.unitWeight}
</if>
</foreach>
ELSE unit_weight
END,
update_user = CASE
<foreach collection="list" item="item" separator="">
<if test="item.updateUser != null">
WHEN material_name = #{item.materialName} THEN #{item.updateUser}
</if>
</foreach>
ELSE update_user
END,
update_time = NOW()
</set>
WHERE material_name = #{item.materialName}
</if>
</trim>
WHERE material_name IN
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item.materialName}
</foreach>
</update>
<update id="updateByCode">
<foreach collection="list" item="item" separator=";">
UPDATE sys_material_info
<set>
<if test="item.materialName != null and item.materialName != ''">
material_name = #{item.materialName},
</if>
<if test="item.unitWeight != null">
unit_weight = #{item.unitWeight},
</if>
<if test="item.materialSpec != null and item.materialSpec != ''">
material_spec = #{item.materialSpec},
</if>
<if test="item.updateUser != null ">
update_user = #{item.updateUser},
</if>
UPDATE sys_material_info
<trim prefix="SET" suffixOverrides=",">
<if test="list != null and list.size() > 0">
material_name = CASE
<foreach collection="list" item="item" separator="">
<if test="item.materialName != null and item.materialName != ''">
WHEN encoding = #{item.encoding} THEN #{item.materialName}
</if>
</foreach>
ELSE material_name
END,
unit_weight = CASE
<foreach collection="list" item="item" separator="">
<if test="item.unitWeight != null">
WHEN encoding = #{item.encoding} THEN #{item.unitWeight}
</if>
</foreach>
ELSE unit_weight
END,
update_user = CASE
<foreach collection="list" item="item" separator="">
<if test="item.updateUser != null">
WHEN encoding = #{item.encoding} THEN #{item.updateUser}
</if>
</foreach>
ELSE update_user
END,
update_time = NOW()
</set>
WHERE encoding = #{item.encoding}
</if>
</trim>
WHERE encoding IN
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item.encoding}
</foreach>
</update>
@@ -70,4 +100,4 @@
${ew.customSqlSegment}
</select>
</mapper>
</mapper>