重新同步教职工数据修改

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

@@ -17,9 +17,9 @@ import java.util.Map;
@RequestMapping("/syncdata")
public class SyncDataController extends BaseController {
@Autowired
private SyncDataService syncDataService;
SyncDataService syncDataService;
@Autowired
private ICphTeacherService iCphTeacherService;
ICphTeacherService iCphTeacherService;
@RequestMapping("/getEmployEEInfoList")
public TableDataInfo getEmployEEInfoList(){
startPage();

View File

@@ -464,6 +464,8 @@ public class CphTeacherServiceImpl implements ICphTeacherService
@Override
@Transactional(rollbackFor = Exception.class)
public void sqlserverSynchronousMYSQL(List<Map> list) {
List<QgzxTeacher> insertTeacherList = new ArrayList<>();//添加集合
List<QgzxTeacher> updateTeacherList = new ArrayList<>();//修改集合
for (Map<String, Object> map : list) {
String zgh = (String) map.get("zgh");
String xm=(String) map.get("xm");
@@ -482,13 +484,21 @@ public class CphTeacherServiceImpl implements ICphTeacherService
entity.setStatus(zgzt);
entity.setCreateTime(DateUtils.getNowDate());
if(qgzxTeacher==null){
qgzxTeacherMapper.insertQgzxTeacher(entity);
//qgzxTeacherMapper.insertQgzxTeacher(entity);
insertTeacherList.add(entity);
}else{
entity.setEmployeeId(zgh);
qgzxTeacherMapper.updateQgzxTeacherNew(entity);
entity.setUpdateTime(DateUtils.getNowDate());
//qgzxTeacherMapper.updateQgzxTeacherNew(entity);
updateTeacherList.add(entity);
}
}
if(insertTeacherList.size()!=0){
qgzxTeacherMapper.insertBatchSomeColumn(insertTeacherList);
}
if(updateTeacherList.size()!=0){
qgzxTeacherMapper.updateBatchSomeColumn(updateTeacherList);
}
}
//同步到用户表

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}