Merge remote-tracking branch 'origin/main'

This commit is contained in:
2025-12-30 18:04:19 +08:00
7 changed files with 171 additions and 22 deletions

View File

@@ -4,6 +4,7 @@ import com.srs.common.core.controller.BaseController;
import com.srs.common.core.domain.AjaxResult; import com.srs.common.core.domain.AjaxResult;
import com.srs.common.core.page.TableDataInfo; import com.srs.common.core.page.TableDataInfo;
import com.srs.comprehensive.service.ICphTeacherService; import com.srs.comprehensive.service.ICphTeacherService;
import com.srs.comprehensive.service.ISrsClassService;
import com.srs.comprehensive.service.ISrsMajorsService; import com.srs.comprehensive.service.ISrsMajorsService;
import com.srs.comprehensive.service.SyncDataService; import com.srs.comprehensive.service.SyncDataService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -24,6 +25,9 @@ public class SyncDataController extends BaseController {
ICphTeacherService iCphTeacherService; ICphTeacherService iCphTeacherService;
@Autowired @Autowired
ISrsMajorsService iSrsMajorsService; ISrsMajorsService iSrsMajorsService;
@Autowired
ISrsClassService iSrsClassService;
//中间表教职工信息
@RequestMapping("/getEmployEEInfoList") @RequestMapping("/getEmployEEInfoList")
public TableDataInfo getEmployEEInfoList(){ public TableDataInfo getEmployEEInfoList(){
startPage(); startPage();
@@ -54,9 +58,19 @@ public class SyncDataController extends BaseController {
} }
//中间表班级 //中间表班级
@RequestMapping("/classInfoList") @RequestMapping("/classInfoList")
public TableDataInfo classInfoList(){ public TableDataInfo classInfoList(String bjdm){
startPage(); startPage();
List<Map> list=syncDataService.getClassInfoList(); List<Map> list=syncDataService.getClassInfoList(bjdm);
return getDataTable(list); return getDataTable(list);
} }
//同步班级
@RequestMapping("/synchronousClass")
public AjaxResult synchronousClass(){
List<Map> list=syncDataService.getClassInfoList(null);
iSrsClassService.synchronousMYSQL(list);//同步班级
return success(list);
}
} }

View File

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

View File

@@ -107,6 +107,6 @@ public interface ISrsClassService extends IService<SrsClass>
public Map<String,Object> datasync(); public Map<String,Object> datasync();
void sqlserverSynchronousMYSQL(List<Map> list); void sqlserverSynchronousMYSQL(List<Map> list);
void synchronousMYSQL(List<Map> list);
} }

View File

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

View File

@@ -341,6 +341,138 @@ public class SrsClassServiceImpl extends ServiceImpl<SrsClassMapper,SrsClass> im
} }
} }
//同步班级信息
@Override
public void synchronousMYSQL(List<Map> list) {
//班级列表
List<SrsClass> srsClasses = srsClassMapper.selectSrsClassInfoList();
//查找重复值
List<Map> updateMap = list.stream()
.filter(obj1 -> srsClasses
.stream().anyMatch(obj2 -> {
Object xhObj = obj1.get("bjdm");
if (xhObj != null) {
String zgh = xhObj.toString();
return obj2.getClassCode().equals(zgh);
}
return false;
}))
.collect(Collectors.toList());
//添加需要
List<String> kshList2 = srsClasses.stream()
.map(SrsClass::getClassCode)
.collect(Collectors.toList());
List<Map> insertMap = list.stream()
.filter(obj -> {
Object xhObj = obj.get("bjdm");
return xhObj != null && !kshList2.contains(xhObj.toString());
})
.collect(Collectors.toList());
//添加
List<SrsClass> insertStudentList = new ArrayList<>();
for (Map map:insertMap){
SrsClass srsClass = new SrsClass();
Object bjdmobj=map.get("bjdm");
if (bjdmobj!=null) {
srsClass.setClassCode(bjdmobj.toString());
}
Object njid=map.get("njid");
if (njid!=null) {
String njdm =njid.toString();//年级代码
Long gradeId = srsClassMapper.getGradeId(njdm);//使用年级代码查询本地年级id
if (gradeId!=null) {
srsClass.setGradeId(gradeId);//年级编号
}
}
srsClass.setStatus("0");
Object zyidobj=map.get("zyid");
if (zyidobj!=null) {
String zydm =zyidobj.toString();//专业代码
//使用专业代码查询本地专业id
if (zydm!=null) {
Long zyid = srsMajorsMapper.selectMajorId(zydm);
if (zyid!=null) {
srsClass.setMajorId(zyid);
}
}
}
//使用辅导员工号查询辅导员id
Object bjdmsobj=map.get("bjdm");
if (bjdmsobj!=null) {
String gh =bjdmsobj.toString();//辅导员职工号
if (gh!=null) {
CphTeacher fdy = cphTeacherMapper.selectCphTeacher(gh);//辅导员
if (fdy!=null) {
srsClass.setTeacherId(fdy.getTeacherId());//辅导员id
}
}
}
Object bjmcobj=map.get("bjmc");
if(bjmcobj!=null) {
srsClass.setClassName(bjmcobj.toString());
}
srsClass.setCreateTime(DateUtils.getNowDate());
insertStudentList.add(srsClass);
}
//修改
List<SrsClass> updateSrsStudent = new ArrayList<>();
for (Map map:updateMap){
SrsClass srsClass = new SrsClass();
Object bjdmobj=map.get("bjdm");
if (bjdmobj!=null) {
srsClass.setClassCode(bjdmobj.toString());
}
Object njid=map.get("njid");
if (njid!=null) {
//通过sqlserver数据库的年级id查询年级代码使用年级代码查询mysql的年级id
String njdm = gets(Long.valueOf(njid.toString()));//年级代码
Long gradeId = srsClassMapper.getGradeId(njdm);//使用年级代码查询本地年级id
if (gradeId!=null) {
srsClass.setGradeId(gradeId);//年级编号
}
}
srsClass.setStatus("0");
Object zyidobj=map.get("zyid");
if (zyidobj!=null) {
String zydm = getzydm(Long.valueOf(zyidobj.toString()));//专业代码
//使用专业代码查询本地专业id
if (zydm!=null) {
Long zyid = srsMajorsMapper.selectMajorId(zydm);
if (zyid!=null) {
srsClass.setMajorId(zyid);
}
}
}
//使用辅导员工号查询辅导员id
Object bjdmsobj=map.get("bjdm");
if (bjdmsobj!=null) {
String gh = getfdy(bjdmsobj.toString());//辅导员职工号
if (gh!=null) {
CphTeacher fdy = cphTeacherMapper.selectCphTeacher(gh);//辅导员
if (fdy!=null) {
srsClass.setTeacherId(fdy.getTeacherId());//辅导员id
}
}
}
Object bjmcobj=map.get("bjmc");
if(bjmcobj!=null) {
srsClass.setClassName(bjmcobj.toString());
}
srsClass.setUpdateTime(DateUtils.getNowDate());
updateSrsStudent.add(srsClass);
}
if (insertStudentList.size()!= 0) {
srsClassMapper.insertBatchSomeColumn(insertStudentList);
}
List<List<SrsClass>> lists = ListSliceUtil.updateSlice(updateSrsStudent);
if (lists != null) {
for (List<SrsClass> studentList:lists){
srsClassMapper.updateSrsClassList(studentList);
}
}
}
@DataSource(DataSourceType.DATABASE) @DataSource(DataSourceType.DATABASE)
public String gets(Long njdm){ public String gets(Long njdm){
return sqlServerDataService.gets(njdm); return sqlServerDataService.gets(njdm);

View File

@@ -27,7 +27,7 @@ public class SyncDataServiceImpl implements SyncDataService {
return syncDataMapper.getSpecialtyALLInfo(); return syncDataMapper.getSpecialtyALLInfo();
} }
@Override @Override
public List<Map> getClassInfoList(){ public List<Map> getClassInfoList(String bjdm){
return syncDataMapper.getClassInfoList(); return syncDataMapper.getClassInfoList(bjdm);
} }
} }

View File

@@ -22,7 +22,10 @@
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 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 where b.JXZYBH is not null
</select> </select>
<select id="getClassInfoList" resultType="java.util.Map"> <select id="getClassInfoList" resultType="java.util.Map" parameterType="String">
select BJBH as bjdm,BJSSJXZYBH as zyid,BJMC as bjmc,BJSSNJ as njid from from_gxsdxyxxzx_class select BJBH as bjdm,BJSSJXZYBH as zyid,BJMC as bjmc,BJSSNJ as njid from from_gxsdxyxxzx_class
<where>
<if test="bjdm != null and bjdm!= '' ">and BJBH=#{bjdm}</if>
</where>
</select> </select>
</mapper> </mapper>