重新同步教职工数据修改

This commit is contained in:
2025-12-24 12:57:23 +08:00
parent f328cf9109
commit 594c88924d
4 changed files with 56 additions and 8 deletions

View File

@@ -46,7 +46,6 @@ public interface QgzxTeacherMapper extends BaseMapper<QgzxTeacher> {
*/
int updateQgzxTeacher(QgzxTeacher qgzxTeacher);
int updateQgzxTeacherNew(QgzxTeacher qgzxTeacher);
/**
* 删除教职工信息
*
@@ -66,4 +65,5 @@ public interface QgzxTeacherMapper extends BaseMapper<QgzxTeacher> {
public List<QgzxTeacher> selectTeacherList();
Long selectDeptCode(String ksh);
Integer insertBatchSomeColumn(@Param("list")List<QgzxTeacher> entityList);
Integer updateBatchSomeColumn(@Param("list")List<QgzxTeacher> entityList);
}

View File

@@ -76,10 +76,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<insert id="insertBatchSomeColumn">
<insert id="insertBatchSomeColumn" parameterType="java.util.List">
insert into qgzx_teacher(name,gender,age,employee_id,dept_id,status,create_time)
values
<foreach item="entity" collection="List" separator="," open="(" close=")">
<foreach item="entity" collection="list" separator="," open="(" close=")">
(
<if test="entity.name != null and entity.name != ''">#{entity.name},</if>
<if test="entity.gender != null and entity.gender != ''">#{entity.gender},</if>
@@ -122,6 +122,44 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</trim>
where employee_id = #{employeeId}
</update>
<update id="updateBatchSomeColumn" parameterType="java.util.List">
UPDATE qgzx_teacher
<set>
<!-- 批量更新姓名字段:根据主键匹配对应值 -->
name = CASE
<foreach collection="list" item="item" separator="">
WHEN employee_id = #{item.employeeId} THEN #{item.name}
</foreach>
END,
<!-- 批量更新性别编码字段:可同时更新多个字段 -->
gender = CASE
<foreach collection="list" item="item" separator="">
WHEN employee_id = #{item.employeeId} THEN #{item.gender}
</foreach>
END,
<!-- 批量更新所属部门编码字段 -->
dept_id = CASE
<foreach collection="list" item="item" separator="">
WHEN employee_id = #{item.employeeId} THEN #{item.deptId}
</foreach>
END,
status = CASE
<foreach collection="list" item="item" separator="">
WHEN employee_id = #{item.employeeId} THEN #{item.status}
</foreach>
END,
update_time = CASE
<foreach collection="list" item="item" separator="">
WHEN employee_id = #{item.employeeId} THEN #{item.updateTime}
</foreach>
END
</set>
<!-- 关键:通过主键过滤,只更新传入的数据集 -->
WHERE employee_id IN
<foreach collection="list" item="item" open="(" separator="," close=")">
#{item.employeeId}
</foreach>
</update>
<delete id="deleteQgzxTeacherByTeacherId" parameterType="Long">
delete from qgzx_teacher where teacher_id = #{teacherId}