重新同步教职工数据修改

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") @RequestMapping("/syncdata")
public class SyncDataController extends BaseController { public class SyncDataController extends BaseController {
@Autowired @Autowired
private SyncDataService syncDataService; SyncDataService syncDataService;
@Autowired @Autowired
private ICphTeacherService iCphTeacherService; ICphTeacherService iCphTeacherService;
@RequestMapping("/getEmployEEInfoList") @RequestMapping("/getEmployEEInfoList")
public TableDataInfo getEmployEEInfoList(){ public TableDataInfo getEmployEEInfoList(){
startPage(); startPage();

View File

@@ -464,6 +464,8 @@ public class CphTeacherServiceImpl implements ICphTeacherService
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void sqlserverSynchronousMYSQL(List<Map> list) { public void sqlserverSynchronousMYSQL(List<Map> list) {
List<QgzxTeacher> insertTeacherList = new ArrayList<>();//添加集合
List<QgzxTeacher> updateTeacherList = new ArrayList<>();//修改集合
for (Map<String, Object> map : list) { for (Map<String, Object> map : list) {
String zgh = (String) map.get("zgh"); String zgh = (String) map.get("zgh");
String xm=(String) map.get("xm"); String xm=(String) map.get("xm");
@@ -482,13 +484,21 @@ public class CphTeacherServiceImpl implements ICphTeacherService
entity.setStatus(zgzt); entity.setStatus(zgzt);
entity.setCreateTime(DateUtils.getNowDate()); entity.setCreateTime(DateUtils.getNowDate());
if(qgzxTeacher==null){ if(qgzxTeacher==null){
qgzxTeacherMapper.insertQgzxTeacher(entity); //qgzxTeacherMapper.insertQgzxTeacher(entity);
insertTeacherList.add(entity);
}else{ }else{
entity.setEmployeeId(zgh); 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 updateQgzxTeacher(QgzxTeacher qgzxTeacher);
int updateQgzxTeacherNew(QgzxTeacher qgzxTeacher); int updateQgzxTeacherNew(QgzxTeacher qgzxTeacher);
/** /**
* 删除教职工信息 * 删除教职工信息
* *
@@ -66,4 +65,5 @@ public interface QgzxTeacherMapper extends BaseMapper<QgzxTeacher> {
public List<QgzxTeacher> selectTeacherList(); public List<QgzxTeacher> selectTeacherList();
Long selectDeptCode(String ksh); Long selectDeptCode(String ksh);
Integer insertBatchSomeColumn(@Param("list")List<QgzxTeacher> entityList); 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> <if test="updateTime != null">#{updateTime},</if>
</trim> </trim>
</insert> </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) insert into qgzx_teacher(name,gender,age,employee_id,dept_id,status,create_time)
values 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.name != null and entity.name != ''">#{entity.name},</if>
<if test="entity.gender != null and entity.gender != ''">#{entity.gender},</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> </trim>
where employee_id = #{employeeId} where employee_id = #{employeeId}
</update> </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 id="deleteQgzxTeacherByTeacherId" parameterType="Long">
delete from qgzx_teacher where teacher_id = #{teacherId} delete from qgzx_teacher where teacher_id = #{teacherId}