Merge remote-tracking branch 'origin/main'

This commit is contained in:
2025-12-30 10:48:03 +08:00
15 changed files with 450 additions and 164 deletions

View File

@@ -5,4 +5,7 @@ import java.util.Map;
public interface SyncDataMapper {
public List<Map> getEmployEEInfoList();//教职工
public List<Map> getSpecialtyInfoList(String zydm);//专业
public List<Map> getSpecialtyALLInfo();//所有专业
public List<Map> getClassInfoList();//班级
}

View File

@@ -117,8 +117,10 @@ public interface ICphTeacherService
public Map<String, Integer> teacherDataSync();
void sqlserverSynchronousMYSQL(List<Map> list);
void synchronousMYSQL(List<Map> list);
void Usertb();
void UsertbNew();
void insertUserrole(List<SysUser> insertUser);

View File

@@ -68,6 +68,7 @@ public interface ISrsMajorsService
public Map<String,Object> dataSync();
void sqlserverSynchronousMYSQL(List<Map> list);
void synchronousMYSQL(List<Map> list);
//根据专业名称获取专业id
public Long getMajorIdByName(String name);
//获取学生的专业名称

View File

@@ -5,4 +5,7 @@ import java.util.Map;
public interface SyncDataService {
List<Map> getEmployEEInfoList();//教职工
List<Map> getSpecialtyInfoList(String zydm);//专业
List<Map> getSpecialtyALLInfo();//所有专业
List<Map> getClassInfoList();//班级
}

View File

@@ -354,116 +354,118 @@ public class CphTeacherServiceImpl implements ICphTeacherService
}
//同步辅导员
// @Override
// @Transactional(rollbackFor = Exception.class)
// public void sqlserverSynchronousMYSQL(List<Map> list) {
// //辅导员列表
// List<CphTeacher> cphTeachers = cphTeacherMapper.selectTeacherList();
// //查找重复值
// List<Map> updateMap = list.stream()
// .filter(obj1 -> cphTeachers
// .stream().anyMatch(obj2 -> {
// Object xhObj = obj1.get("zgh");
// if (xhObj != null) {
// String zgh = xhObj.toString();
// return obj2.getEmployeeId().equals(zgh);
// }
// return false;
// }))
// .collect(Collectors.toList());
//
// //添加需要
// List<String> kshList2 = cphTeachers.stream()
// .map(CphTeacher::getEmployeeId)
// .collect(Collectors.toList());
//
// List<Map> insertMap = list.stream()
// .filter(obj -> {
// Object xhObj = obj.get("zgh");
// return xhObj != null && !kshList2.contains(xhObj.toString());
// })
// .collect(Collectors.toList());
// //添加
// List<CphTeacher> insertStudentList = new ArrayList<>();
// for (Map map:insertMap){
// CphTeacher cphTeacher = new CphTeacher();
// Object xmObj = map.get("xm");
// if (xmObj != null) {
// cphTeacher.setName(xmObj.toString());
// }
// Object xbObj = map.get("xb");
// if (xbObj != null) {
// String s = xbObj.toString();
// if (!Objects.equals(s, "NULL") && !Objects.equals(s, "null")&&!Objects.equals(s," ")) {
// cphTeacher.setGender(xbObj.toString());
// }
// }
// Object zghObj = map.get("zgh");
// if (zghObj != null) {
// cphTeacher.setEmployeeId(zghObj.toString());
// }
// //学院id
// Object yxdmObj = map.get("yxdm");
// if (yxdmObj!=null) {
// Long deptId = cphTeacherMapper.selectDeptCode(yxdmObj.toString());
// if (deptId != null) {
// cphTeacher.setDeptId(deptId);
// }
// }
// cphTeacher.setStatus("1");
// cphTeacher.setCreateTime(DateUtils.getNowDate());
// insertStudentList.add(cphTeacher);
// }
// if (insertStudentList.size()!=0) {
// cphTeacherMapper.insertBatchSomeColumn(insertStudentList);
// }
// //修改
// List<CphTeacher> updateSrsStudent = new ArrayList<>();
// for (Map map:updateMap){
// CphTeacher cphTeacher = new CphTeacher();
// Object xmObj = map.get("xm");
// if (xmObj != null) {
// cphTeacher.setName(xmObj.toString());
// }
// Object xbObj = map.get("xb");
// if (xbObj != null) {
// String s = xbObj.toString();
// if (!Objects.equals(s, "NULL") && !Objects.equals(s, "null")&&!Objects.equals(s," ")) {
// cphTeacher.setGender(xbObj.toString());
// }
// }
// Object zghObj = map.get("zgh");
// if (zghObj != null) {
// cphTeacher.setEmployeeId(zghObj.toString());
// }
// //学院id
// Object yxdmObj = map.get("yxdm");
// if (yxdmObj!=null) {
// Long ksh = cphTeacherMapper.selectDeptCode(yxdmObj.toString());
// if (ksh != null) {
// cphTeacher.setDeptId(ksh);
// }
// }
// cphTeacher.setUpdateTime(DateUtils.getNowDate());
// updateSrsStudent.add(cphTeacher);
// }
// /*if (updateSrsStudent.size()!=0) {
// List<List<CphTeacher>> lists = ListSliceUtil.updateSlice(updateSrsStudent);
// if (lists != null) {
// for (List<CphTeacher> studentList : lists) {
// cphTeacherMapper.updateSrsClassList(studentList);
// }
// }
// }*/
//
//
//
// }
@Override
@Transactional(rollbackFor = Exception.class)
public void sqlserverSynchronousMYSQL(List<Map> list) {
//辅导员列表
List<CphTeacher> cphTeachers = cphTeacherMapper.selectTeacherList();
//查找重复值
List<Map> updateMap = list.stream()
.filter(obj1 -> cphTeachers
.stream().anyMatch(obj2 -> {
Object xhObj = obj1.get("zgh");
if (xhObj != null) {
String zgh = xhObj.toString();
return obj2.getEmployeeId().equals(zgh);
}
return false;
}))
.collect(Collectors.toList());
//添加需要
List<String> kshList2 = cphTeachers.stream()
.map(CphTeacher::getEmployeeId)
.collect(Collectors.toList());
List<Map> insertMap = list.stream()
.filter(obj -> {
Object xhObj = obj.get("zgh");
return xhObj != null && !kshList2.contains(xhObj.toString());
})
.collect(Collectors.toList());
//添加
List<CphTeacher> insertStudentList = new ArrayList<>();
for (Map map:insertMap){
CphTeacher cphTeacher = new CphTeacher();
Object xmObj = map.get("xm");
if (xmObj != null) {
cphTeacher.setName(xmObj.toString());
}
Object xbObj = map.get("xb");
if (xbObj != null) {
String s = xbObj.toString();
if (!Objects.equals(s, "NULL") && !Objects.equals(s, "null")&&!Objects.equals(s," ")) {
cphTeacher.setGender(xbObj.toString());
}
}
Object zghObj = map.get("zgh");
if (zghObj != null) {
cphTeacher.setEmployeeId(zghObj.toString());
}
//学院id
Object yxdmObj = map.get("yxdm");
if (yxdmObj!=null) {
Long deptId = cphTeacherMapper.selectDeptCode(yxdmObj.toString());
if (deptId != null) {
cphTeacher.setDeptId(deptId);
}
}
cphTeacher.setStatus("1");
cphTeacher.setCreateTime(DateUtils.getNowDate());
insertStudentList.add(cphTeacher);
}
if (insertStudentList.size()!=0) {
cphTeacherMapper.insertBatchSomeColumn(insertStudentList);
}
//修改
List<CphTeacher> updateSrsStudent = new ArrayList<>();
for (Map map:updateMap){
CphTeacher cphTeacher = new CphTeacher();
Object xmObj = map.get("xm");
if (xmObj != null) {
cphTeacher.setName(xmObj.toString());
}
Object xbObj = map.get("xb");
if (xbObj != null) {
String s = xbObj.toString();
if (!Objects.equals(s, "NULL") && !Objects.equals(s, "null")&&!Objects.equals(s," ")) {
cphTeacher.setGender(xbObj.toString());
}
}
Object zghObj = map.get("zgh");
if (zghObj != null) {
cphTeacher.setEmployeeId(zghObj.toString());
}
//学院id
Object yxdmObj = map.get("yxdm");
if (yxdmObj!=null) {
Long ksh = cphTeacherMapper.selectDeptCode(yxdmObj.toString());
if (ksh != null) {
cphTeacher.setDeptId(ksh);
}
}
cphTeacher.setUpdateTime(DateUtils.getNowDate());
updateSrsStudent.add(cphTeacher);
}
/*if (updateSrsStudent.size()!=0) {
List<List<CphTeacher>> lists = ListSliceUtil.updateSlice(updateSrsStudent);
if (lists != null) {
for (List<CphTeacher> studentList : lists) {
cphTeacherMapper.updateSrsClassList(studentList);
}
}
}*/
}
//同步教职工表
@Override
@Transactional(rollbackFor = Exception.class)
public void sqlserverSynchronousMYSQL(List<Map> list) {
public void synchronousMYSQL(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);
}
}
//同步到用户表
@@ -545,6 +555,77 @@ public class CphTeacherServiceImpl implements ICphTeacherService
System.out.println(updateUser.size());
}
//同步到用户表
@Override
@Transactional(rollbackFor = Exception.class)
public void UsertbNew(){
//同步到user表
List<QgzxTeacher> qgzxTeachers = qgzxTeacherMapper.selectTeacherList();//所有职工
List<SysUser> sysUserList = sysUserMapper.selectUserLisrS();//所以用户
List<SysUser> insertUser = new ArrayList<>();//需要添加的集合
List<SysUser> updateUser = new ArrayList<>();//需要修改的集合
for (QgzxTeacher qgzxTeacher:qgzxTeachers){
int i=0;//添加标记
for (SysUser sysUser:sysUserList){
//修改
if (Objects.equals(qgzxTeacher.getEmployeeId(), sysUser.getUserName())){
SysUser sysUser1 = new SysUser();
sysUser1.setUserName(qgzxTeacher.getEmployeeId());
sysUser1.setDeptId(qgzxTeacher.getDeptId());
if(qgzxTeacher.getStatus().equals("11")){
sysUser1.setStatus("0");
}
else if (qgzxTeacher.getStatus().equals("4")){
sysUser1.setStatus("0");
}else {
sysUser1.setStatus("1");
}
updateUser.add(sysUser1);
i=0;
break;
}
i=1;
}
//添加
if (i==1){
SysUser sysUser = new SysUser();
sysUser.setUserName(qgzxTeacher.getEmployeeId());
if (qgzxTeacher.getDeptId()!=null){
sysUser.setDeptId(qgzxTeacher.getDeptId());
}
sysUser.setSex(Objects.equals(qgzxTeacher.getGender(), "") ?"0":"1");
sysUser.setNickName(qgzxTeacher.getName());
sysUser.setPassword(SecurityUtils.encryptPassword("#A"+qgzxTeacher.getEmployeeId()+"A#"));
if(qgzxTeacher.getStatus().equals("11")){
sysUser.setStatus("0");
}
else if (qgzxTeacher.getStatus().equals("4")){
sysUser.setStatus("0");
}else {
sysUser.setStatus("1");
}
insertUser.add(sysUser);
}
i=0;
}
if (insertUser.size()!=0){
sysUserMapper.insertUserListInfo(insertUser);
insertUserroleNew(insertUser);
}
if (updateUser.size()!=0) {
List<List<SysUser>> listList1 = ListSliceUtil.updateSlice(updateUser);//切割修改集合
if (listList1 != null) {
for (List<SysUser> userList : listList1) {
sysUserMapper.updateUserListInfo(userList);
}
}
}
System.out.println(insertUser.size());
System.out.println(updateUser.size());
}
public void insertUserrole(List<SysUser> insertUser){
List<SysUserRole> userRoleList=new ArrayList<>();
for (SysUser sysUser:insertUser){
@@ -555,6 +636,16 @@ public class CphTeacherServiceImpl implements ICphTeacherService
}
sysUserRoleMapper.batchUserRole(userRoleList);
}
public void insertUserroleNew(List<SysUser> insertUser){
List<SysUserRole> userRoleList=new ArrayList<>();
for (SysUser sysUser:insertUser){
SysUserRole sysRole = new SysUserRole();
sysRole.setUserId(sysUser.getUserId());
sysRole.setRoleId(124L);//统一设为教职工角色
userRoleList.add(sysRole);
}
sysUserRoleMapper.batchUserRole(userRoleList);
}
@Override
public List<Map<String, Object>> exportSXZZ(CphExport param) {

View File

@@ -14,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.srs.comprehensive.domain.SrsMajors;
import com.srs.comprehensive.service.ISrsMajorsService;
import org.springframework.transaction.annotation.Transactional;
/**
* 【请填写功能名称】Service业务层处理
@@ -251,4 +252,98 @@ public class SrsMajorsServiceImpl implements ISrsMajorsService
}
}
//同步专业
@Override
public void synchronousMYSQL(List<Map> list) {
List<SrsMajors> srsMajors = srsMajorsMapper.selectSrsmajorsList();//数据库存在的专业列表
//查找重复值
List<Map> updateMap = list.stream()
.filter(obj1 -> srsMajors
.stream().anyMatch(obj2 -> {
Object xhObj = obj1.get("zydm");
if (xhObj != null) {
String xh = xhObj.toString();
return obj2.getMajorCode().equals(xh);
}
return false;
}))
.collect(Collectors.toList());
//添加需要
List<String> kshList2 = srsMajors.stream()
.map(SrsMajors::getMajorCode)
.collect(Collectors.toList());
List<Map> insertMap = list.stream()
.filter(obj -> {
Object xhObj = obj.get("zydm");
return xhObj != null && !kshList2.contains(xhObj.toString());
})
.collect(Collectors.toList());
//添加
List<SrsMajors> insertStudentList = new ArrayList<>();
for (Map map:insertMap){
SrsMajors srsMajors1 = new SrsMajors();
Object zydmobj=map.get("zydm");
if (zydmobj!=null) {
srsMajors1.setMajorCode(zydmobj.toString());
}
Object zymcobj=map.get("zymc");
if (zymcobj!=null) {
srsMajors1.setMajorName(zymcobj.toString());
}
srsMajors1.setStatus("0");
if (map.get("yxmc")!=null) {
//使用代码查询学院id
Long yxdm = srsMajorsMapper.selectOldDeptIdByDeptName(map.get("yxmc").toString());
if (yxdm != null) {
srsMajors1.setCollegeId(yxdm);//学院id
} else {
srsMajors1.setCollegeId(0L);
}
}else {
srsMajors1.setCollegeId(0L);
}
srsMajors1.setCreateTime(DateUtils.getNowDate());
insertStudentList.add(srsMajors1);
}
//修改
List<SrsMajors> updateSrsStudent = new ArrayList<>();
for (Map map:updateMap){
SrsMajors srsMajors1 = new SrsMajors();
Object zydmobj=map.get("zydm");
if (zydmobj!=null) {
srsMajors1.setMajorCode(zydmobj.toString());
}
Object zymcobj=map.get("zymc");
if (zymcobj!=null) {
srsMajors1.setMajorName(zymcobj.toString());
}
if (map.get("yxmc")!=null) {
//使用代码查询学院id
Long yxdm = srsMajorsMapper.selectOldDeptIdByDeptName(map.get("yxmc").toString());
if (yxdm != null) {
srsMajors1.setCollegeId(yxdm);//学院id
} else {
srsMajors1.setCollegeId(0L);
}
}else {
srsMajors1.setCollegeId(0L);
}
srsMajors1.setUpdateTime(DateUtils.getNowDate());
updateSrsStudent.add(srsMajors1);
}
if (insertStudentList.size()!=0) {
srsMajorsMapper.insertBatchSomeColumn(insertStudentList);
}
List<List<SrsMajors>> lists = ListSliceUtil.updateSlice(updateSrsStudent);
if (lists != null) {
for (List<SrsMajors> studentList : lists) {
srsMajorsMapper.updateSrsStudentList(studentList);
}
}
}
}

View File

@@ -1,5 +1,7 @@
package com.srs.comprehensive.service.impl;
import com.srs.common.annotation.DataSource;
import com.srs.common.enums.DataSourceType;
import com.srs.comprehensive.mapper.SyncDataMapper;
import com.srs.comprehensive.service.SyncDataService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -16,4 +18,16 @@ public class SyncDataServiceImpl implements SyncDataService {
public List<Map> getEmployEEInfoList() {
return syncDataMapper.getEmployEEInfoList();
}
@Override
public List<Map> getSpecialtyInfoList(String zydm) {
return syncDataMapper.getSpecialtyInfoList(zydm);
}
@Override
public List<Map> getSpecialtyALLInfo(){
return syncDataMapper.getSpecialtyALLInfo();
}
@Override
public List<Map> getClassInfoList(){
return syncDataMapper.getClassInfoList();
}
}

View File

@@ -11,4 +11,18 @@
END as xb,TBD.BMMC as ksmc,TBD.BMMC as yxmc,TBD.BMBH as ksh,TBA.ZGDQZTDM as zgzt from from_gxsdxyxxzx_teacher TBA LEFT JOIN from_gxsdxyxxzx_xzbm TBD ON TBA.SZBMBH=TBD.BMBH
WHERE TBA.ZGLBDM LIKE '1%'
</select>
<select id="getSpecialtyInfoList" resultType="java.util.Map" parameterType="String">
select b.JXZYBH as zydm,b.JXZYJC as zyjc,b.JXZYMC as zymc,a.BMMC yxmc from from_gxsdxyxxzx_xzbm a left join from_gxsdxyxxzx_zyxx b on a.BMBH=b.JXZYSSYXBBH
<where>
b.JXZYBH is not null
<if test="zydm != null and zydm!= '' ">and b.JXZYBH=#{zydm}</if>
</where>
</select>
<select id="getSpecialtyALLInfo" resultType="java.util.Map">
select b.JXZYBH as zydm,b.JXZYJC as zyjc,b.JXZYMC as zymc,a.BMMC yxmc from from_gxsdxyxxzx_xzbm a left join from_gxsdxyxxzx_zyxx b on a.BMBH=b.JXZYSSYXBBH
where b.JXZYBH is not null
</select>
<select id="getClassInfoList" resultType="java.util.Map">
select BJBH as bjdm,BJSSJXZYBH as zyid,BJMC as bjmc,BJSSNJ as njid from from_gxsdxyxxzx_class
</select>
</mapper>