diff --git a/srs-admin/src/main/java/com/srs/web/controller/comprehensive/SyncDataController.java b/srs-admin/src/main/java/com/srs/web/controller/comprehensive/SyncDataController.java index d26c4e3..d980ce8 100644 --- a/srs-admin/src/main/java/com/srs/web/controller/comprehensive/SyncDataController.java +++ b/srs-admin/src/main/java/com/srs/web/controller/comprehensive/SyncDataController.java @@ -4,6 +4,7 @@ import com.srs.common.core.controller.BaseController; import com.srs.common.core.domain.AjaxResult; import com.srs.common.core.page.TableDataInfo; import com.srs.comprehensive.service.ICphTeacherService; +import com.srs.comprehensive.service.ISrsClassService; import com.srs.comprehensive.service.ISrsMajorsService; import com.srs.comprehensive.service.SyncDataService; import org.springframework.beans.factory.annotation.Autowired; @@ -24,6 +25,9 @@ public class SyncDataController extends BaseController { ICphTeacherService iCphTeacherService; @Autowired ISrsMajorsService iSrsMajorsService; + @Autowired + ISrsClassService iSrsClassService; + //中间表教职工信息 @RequestMapping("/getEmployEEInfoList") public TableDataInfo getEmployEEInfoList(){ startPage(); @@ -54,9 +58,19 @@ public class SyncDataController extends BaseController { } //中间表班级 @RequestMapping("/classInfoList") - public TableDataInfo classInfoList(){ + public TableDataInfo classInfoList(String bjdm){ startPage(); - List list=syncDataService.getClassInfoList(); + List list=syncDataService.getClassInfoList(bjdm); return getDataTable(list); } + + //同步班级 + @RequestMapping("/synchronousClass") + public AjaxResult synchronousClass(){ + List list=syncDataService.getClassInfoList(null); + iSrsClassService.synchronousMYSQL(list);//同步班级 + return success(list); + } + + } diff --git a/srs-comprehensive/src/main/java/com/srs/comprehensive/mapper/SyncDataMapper.java b/srs-comprehensive/src/main/java/com/srs/comprehensive/mapper/SyncDataMapper.java index 8e0b68f..3cdeee3 100644 --- a/srs-comprehensive/src/main/java/com/srs/comprehensive/mapper/SyncDataMapper.java +++ b/srs-comprehensive/src/main/java/com/srs/comprehensive/mapper/SyncDataMapper.java @@ -7,5 +7,5 @@ public interface SyncDataMapper { public List getEmployEEInfoList();//教职工 public List getSpecialtyInfoList(String zydm);//专业 public List getSpecialtyALLInfo();//所有专业 - public List getClassInfoList();//班级 + public List getClassInfoList(String bjdm);//班级 } diff --git a/srs-comprehensive/src/main/java/com/srs/comprehensive/service/ISrsClassService.java b/srs-comprehensive/src/main/java/com/srs/comprehensive/service/ISrsClassService.java index 3e1535d..0971dd2 100644 --- a/srs-comprehensive/src/main/java/com/srs/comprehensive/service/ISrsClassService.java +++ b/srs-comprehensive/src/main/java/com/srs/comprehensive/service/ISrsClassService.java @@ -13,7 +13,7 @@ import com.srs.comprehensive.domain.Vo.CphSearch; /** * 班级信息 Service接口 - * + * * @author srs * @date 2023-06-27 */ @@ -27,7 +27,7 @@ public interface ISrsClassService extends IService /** * 查询班级信息 - * + * * @param classId 班级信息 主键 * @return 班级信息 @@ -38,7 +38,7 @@ public interface ISrsClassService extends IService /** * 查询班级信息 列表 - * + * * @param srsClass 班级信息 * @return 班级信息 @@ -63,7 +63,7 @@ public interface ISrsClassService extends IService /** * 新增班级信息 - * + * * @param srsClass 班级信息 * @return 结果 @@ -73,7 +73,7 @@ public interface ISrsClassService extends IService /** * 修改班级信息 - * + * * @param srsClass 班级信息 * @return 结果 @@ -83,7 +83,7 @@ public interface ISrsClassService extends IService /** * 批量删除班级信息 - * + * * @param classIds 需要删除的班级信息 主键集合 * @return 结果 @@ -93,7 +93,7 @@ public interface ISrsClassService extends IService /** * 删除班级信息 信息 - * + * * @param classId 班级信息 主键 * @return 结果 @@ -107,6 +107,6 @@ public interface ISrsClassService extends IService public Map datasync(); void sqlserverSynchronousMYSQL(List list); - + void synchronousMYSQL(List list); } diff --git a/srs-comprehensive/src/main/java/com/srs/comprehensive/service/SyncDataService.java b/srs-comprehensive/src/main/java/com/srs/comprehensive/service/SyncDataService.java index 0aafaea..e07e9c7 100644 --- a/srs-comprehensive/src/main/java/com/srs/comprehensive/service/SyncDataService.java +++ b/srs-comprehensive/src/main/java/com/srs/comprehensive/service/SyncDataService.java @@ -7,5 +7,5 @@ public interface SyncDataService { List getEmployEEInfoList();//教职工 List getSpecialtyInfoList(String zydm);//专业 List getSpecialtyALLInfo();//所有专业 - List getClassInfoList();//班级 + List getClassInfoList(String bjdm);//班级 } diff --git a/srs-comprehensive/src/main/java/com/srs/comprehensive/service/impl/SrsClassServiceImpl.java b/srs-comprehensive/src/main/java/com/srs/comprehensive/service/impl/SrsClassServiceImpl.java index 379ac26..697aab7 100644 --- a/srs-comprehensive/src/main/java/com/srs/comprehensive/service/impl/SrsClassServiceImpl.java +++ b/srs-comprehensive/src/main/java/com/srs/comprehensive/service/impl/SrsClassServiceImpl.java @@ -24,7 +24,7 @@ import org.springframework.stereotype.Service; /** * 班级信息 Service业务层处理 - * + * * @author srs * @date 2023-06-27 */ @@ -63,7 +63,7 @@ public class SrsClassServiceImpl extends ServiceImpl im /** * 查询班级信息 - * + * * @param classId 班级信息 主键 * @return 班级信息 @@ -78,7 +78,7 @@ public class SrsClassServiceImpl extends ServiceImpl im /** * 查询班级信息 列表 - * + * * @param srsClass 班级信息 * @return 班级信息 @@ -118,7 +118,7 @@ public class SrsClassServiceImpl extends ServiceImpl im } /** * 新增班级信息 - * + * * @param srsClass 班级信息 * @return 结果 @@ -132,7 +132,7 @@ public class SrsClassServiceImpl extends ServiceImpl im /** * 修改班级信息 - * + * * @param srsClass 班级信息 * @return 结果 */ @@ -145,7 +145,7 @@ public class SrsClassServiceImpl extends ServiceImpl im /** * 批量删除班级信息 - * + * * @param classIds 需要删除的班级信息主键 * @return 结果 */ @@ -157,7 +157,7 @@ public class SrsClassServiceImpl extends ServiceImpl im /** * 删除班级信息信息 - * + * * @param classId 班级信息主键 * @return 结果 */ @@ -341,6 +341,138 @@ public class SrsClassServiceImpl extends ServiceImpl im } } + //同步班级信息 + @Override + public void synchronousMYSQL(List list) { + //班级列表 + List srsClasses = srsClassMapper.selectSrsClassInfoList(); + //查找重复值 + List 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 kshList2 = srsClasses.stream() + .map(SrsClass::getClassCode) + .collect(Collectors.toList()); + + List insertMap = list.stream() + .filter(obj -> { + Object xhObj = obj.get("bjdm"); + return xhObj != null && !kshList2.contains(xhObj.toString()); + }) + .collect(Collectors.toList()); + //添加 + List 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 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> lists = ListSliceUtil.updateSlice(updateSrsStudent); + if (lists != null) { + for (List studentList:lists){ + srsClassMapper.updateSrsClassList(studentList); + } + } + } + @DataSource(DataSourceType.DATABASE) public String gets(Long njdm){ return sqlServerDataService.gets(njdm); diff --git a/srs-comprehensive/src/main/java/com/srs/comprehensive/service/impl/SyncDataServiceImpl.java b/srs-comprehensive/src/main/java/com/srs/comprehensive/service/impl/SyncDataServiceImpl.java index 511268a..28c334b 100644 --- a/srs-comprehensive/src/main/java/com/srs/comprehensive/service/impl/SyncDataServiceImpl.java +++ b/srs-comprehensive/src/main/java/com/srs/comprehensive/service/impl/SyncDataServiceImpl.java @@ -27,7 +27,7 @@ public class SyncDataServiceImpl implements SyncDataService { return syncDataMapper.getSpecialtyALLInfo(); } @Override - public List getClassInfoList(){ - return syncDataMapper.getClassInfoList(); + public List getClassInfoList(String bjdm){ + return syncDataMapper.getClassInfoList(bjdm); } } diff --git a/srs-comprehensive/src/main/resources/mapper/comprehensive/SyncDataMapper.xml b/srs-comprehensive/src/main/resources/mapper/comprehensive/SyncDataMapper.xml index 830fffb..bc2a4a9 100644 --- a/srs-comprehensive/src/main/resources/mapper/comprehensive/SyncDataMapper.xml +++ b/srs-comprehensive/src/main/resources/mapper/comprehensive/SyncDataMapper.xml @@ -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 where b.JXZYBH is not null - select BJBH as bjdm,BJSSJXZYBH as zyid,BJMC as bjmc,BJSSNJ as njid from from_gxsdxyxxzx_class + + and BJBH=#{bjdm} +