学号等
This commit is contained in:
@@ -145,12 +145,11 @@ public class SchStudentController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("searchTransferOut")
|
@GetMapping("searchTransferOut")
|
||||||
public PageVO<SchStudentVO> searchTransferOutStudent(@RequestParam(required = false) Integer schId,
|
public PageVO<SchStudentVO> searchTransferOutStudent(@RequestParam(required = false) Integer gradeId,
|
||||||
@RequestParam(required = false) Integer gradeId,
|
|
||||||
@RequestParam(required = false) Integer classId,
|
@RequestParam(required = false) Integer classId,
|
||||||
@RequestParam(required = false) String keyword,
|
@RequestParam(required = false) String keyword,
|
||||||
Pageable pageable) {
|
Pageable pageable) {
|
||||||
return schStudentService.searchTransferOutStudent(schId,gradeId,classId,keyword,pageable);
|
return schStudentService.searchTransferOutStudent(UserContext.getSchId(),gradeId,classId,keyword,pageable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -172,7 +171,6 @@ public class SchStudentController extends BaseController {
|
|||||||
column.setGender("示例:男");
|
column.setGender("示例:男");
|
||||||
stuList.add(column);
|
stuList.add(column);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<SelectIntVO> gradeList=baseSchsystemGradeService.getGradeSelect(schId,null,null)
|
List<SelectIntVO> gradeList=baseSchsystemGradeService.getGradeSelect(schId,null,null)
|
||||||
.stream().collect(Collectors.toList());
|
.stream().collect(Collectors.toList());
|
||||||
|
|
||||||
@@ -222,7 +220,7 @@ public class SchStudentController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("studentClassNoTemplate")
|
@GetMapping("studentClassNoTemplate")
|
||||||
public void studentClassNoTemplate(HttpServletResponse response, Integer schId,
|
public void studentClassNoTemplate(HttpServletResponse response,Integer schId,
|
||||||
@RequestParam(required = false) Integer schsystemId,
|
@RequestParam(required = false) Integer schsystemId,
|
||||||
@RequestParam(required = false) Integer gradeId,
|
@RequestParam(required = false) Integer gradeId,
|
||||||
@RequestParam(required = false) Integer classId){
|
@RequestParam(required = false) Integer classId){
|
||||||
@@ -234,7 +232,7 @@ public class SchStudentController extends BaseController {
|
|||||||
@RequestParam(required = false) Integer schsystemId,
|
@RequestParam(required = false) Integer schsystemId,
|
||||||
@RequestParam(required = false) Integer gradeId,
|
@RequestParam(required = false) Integer gradeId,
|
||||||
@RequestParam(required = false) Integer classId) {
|
@RequestParam(required = false) Integer classId) {
|
||||||
schStudentService.importStudents(UserContext.getCurrentUser(),file);
|
schStudentService.importStudents(UserContext.getCurrentUser(),file,schsystemId,gradeId,classId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("importStudentClassNo")
|
@PostMapping("importStudentClassNo")
|
||||||
|
|||||||
@@ -52,6 +52,13 @@ public interface ISchClassService {
|
|||||||
String keyword,
|
String keyword,
|
||||||
Pageable pageable);
|
Pageable pageable);
|
||||||
|
|
||||||
|
List<HigherSchClassVO> searcHigherSchClass(Integer schId,
|
||||||
|
Integer year,
|
||||||
|
Integer campusId,
|
||||||
|
Integer divisionId,
|
||||||
|
Integer majorsId,
|
||||||
|
String keyword);
|
||||||
|
|
||||||
void saveHigherSchClass(UserContext.UserInfo user, SchClass entity);
|
void saveHigherSchClass(UserContext.UserInfo user, SchClass entity);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.yunhai.bschclassmanage.service;
|
|||||||
import com.yunhai.bschclassmanage.entity.BaseDicGrade;
|
import com.yunhai.bschclassmanage.entity.BaseDicGrade;
|
||||||
import com.yunhai.bschclassmanage.entity.SchInfo;
|
import com.yunhai.bschclassmanage.entity.SchInfo;
|
||||||
import com.yunhai.bschclassmanage.model.dto.SchInfoDto;
|
import com.yunhai.bschclassmanage.model.dto.SchInfoDto;
|
||||||
|
import com.yunhai.bschclassmanage.model.vo.HigherSchClassVO;
|
||||||
import com.yunhai.bschclassmanage.model.vo.oa.SchInfoVO;
|
import com.yunhai.bschclassmanage.model.vo.oa.SchInfoVO;
|
||||||
import com.yunhai.bschclassmanage.utils.UserContext;
|
import com.yunhai.bschclassmanage.utils.UserContext;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -21,4 +22,10 @@ public interface ISchInfoService {
|
|||||||
SchInfoVO GetSchFirst(Integer schId);
|
SchInfoVO GetSchFirst(Integer schId);
|
||||||
|
|
||||||
void addSchool(UserContext.UserInfo user, SchInfoDto dto);
|
void addSchool(UserContext.UserInfo user, SchInfoDto dto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询高等教育班级列表(返回全部匹配的 VO 列表)
|
||||||
|
*/
|
||||||
|
List<HigherSchClassVO> searcHigherSchClass(Integer schId, Integer year, Integer campusId,
|
||||||
|
Integer divisionId, Integer majorsId, String keyword);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ public interface ISchStudentService {
|
|||||||
|
|
||||||
List<SelectIntVO> transferOutSchSelect();
|
List<SelectIntVO> transferOutSchSelect();
|
||||||
|
|
||||||
void importStudents(UserContext.UserInfo user,MultipartFile file);
|
void importStudents(UserContext.UserInfo user, MultipartFile file, Integer schsystemId, Integer gradeId, Integer classId);
|
||||||
|
|
||||||
void studentClassNoTemplate(HttpServletResponse response, Integer schId, Integer systemId, Integer gradeId, Integer classId);
|
void studentClassNoTemplate(HttpServletResponse response, Integer schId, Integer systemId, Integer gradeId, Integer classId);
|
||||||
|
|
||||||
|
|||||||
@@ -93,6 +93,12 @@ public class SchClassService implements ISchClassService {
|
|||||||
return queryService.searcHigherSchClass(schId, year, campusId, divisionId, majorsId,keyword, pageable);
|
return queryService.searcHigherSchClass(schId, year, campusId, divisionId, majorsId,keyword, pageable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<HigherSchClassVO> searcHigherSchClass(Integer schId, Integer year, Integer campusId,
|
||||||
|
Integer divisionId, Integer majorsId,String keyword) {
|
||||||
|
return queryService.searcHigherSchClass(schId, year, campusId, divisionId, majorsId,keyword);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SelectIntVO> getClassSelect(Integer schId, Integer gradeId) {
|
public List<SelectIntVO> getClassSelect(Integer schId, Integer gradeId) {
|
||||||
return queryService.getClassSelect(schId, gradeId);
|
return queryService.getClassSelect(schId, gradeId);
|
||||||
|
|||||||
@@ -6,11 +6,13 @@ import com.yunhai.bschclassmanage.entity.SchInfo;
|
|||||||
import com.yunhai.bschclassmanage.enums.NodeType;
|
import com.yunhai.bschclassmanage.enums.NodeType;
|
||||||
import com.yunhai.bschclassmanage.model.dto.SchInfoDto;
|
import com.yunhai.bschclassmanage.model.dto.SchInfoDto;
|
||||||
import com.yunhai.bschclassmanage.model.entityField.EntityFieldNames;
|
import com.yunhai.bschclassmanage.model.entityField.EntityFieldNames;
|
||||||
|
import com.yunhai.bschclassmanage.model.vo.HigherSchClassVO;
|
||||||
import com.yunhai.bschclassmanage.model.vo.SelectIntVO;
|
import com.yunhai.bschclassmanage.model.vo.SelectIntVO;
|
||||||
import com.yunhai.bschclassmanage.model.vo.oa.SchInfoVO;
|
import com.yunhai.bschclassmanage.model.vo.oa.SchInfoVO;
|
||||||
import com.yunhai.bschclassmanage.service.IComSchTreeService;
|
import com.yunhai.bschclassmanage.service.IComSchTreeService;
|
||||||
import com.yunhai.bschclassmanage.service.ISchInfoService;
|
import com.yunhai.bschclassmanage.service.ISchInfoService;
|
||||||
import com.yunhai.bschclassmanage.service.ISendUserBaseService;
|
import com.yunhai.bschclassmanage.service.ISendUserBaseService;
|
||||||
|
import com.yunhai.bschclassmanage.service.impl.classes.SchClassQueryService;
|
||||||
import com.yunhai.bschclassmanage.utils.LogContextHolder;
|
import com.yunhai.bschclassmanage.utils.LogContextHolder;
|
||||||
import com.yunhai.bschclassmanage.utils.OtherUtil;
|
import com.yunhai.bschclassmanage.utils.OtherUtil;
|
||||||
import com.yunhai.bschclassmanage.utils.RedisUtil;
|
import com.yunhai.bschclassmanage.utils.RedisUtil;
|
||||||
@@ -44,6 +46,9 @@ public class SchInfoService implements ISchInfoService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private RedisUtil redisUtil;
|
private RedisUtil redisUtil;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SchClassQueryService schClassQueryService;
|
||||||
|
|
||||||
public List<SchInfo> getSchList(){
|
public List<SchInfo> getSchList(){
|
||||||
return schInfoRepository.findAll();
|
return schInfoRepository.findAll();
|
||||||
}
|
}
|
||||||
@@ -161,4 +166,10 @@ public class SchInfoService implements ISchInfoService {
|
|||||||
LogContextHolder.setDescription("添加学校" + dto.getName() + "(初始化)成功");
|
LogContextHolder.setDescription("添加学校" + dto.getName() + "(初始化)成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<HigherSchClassVO> searcHigherSchClass(Integer schId, Integer year, Integer campusId,
|
||||||
|
Integer divisionId, Integer majorsId, String keyword) {
|
||||||
|
return schClassQueryService.searcHigherSchClass(schId, year, campusId, divisionId, majorsId, keyword);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -125,8 +125,8 @@ public class SchStudentService implements ISchStudentService {
|
|||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@Override
|
@Override
|
||||||
public void importStudents(UserContext.UserInfo user, MultipartFile file) {
|
public void importStudents(UserContext.UserInfo user, MultipartFile file, Integer schsystemId, Integer gradeId, Integer classId) {
|
||||||
importService.importStudents(user, file);
|
importService.importStudents(user, file, schsystemId, gradeId, classId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+22
@@ -203,6 +203,28 @@ public class SchClassQueryService {
|
|||||||
return vo;
|
return vo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询高等教育班级列表(不传分页,返回全部匹配的 VO 列表)
|
||||||
|
*/
|
||||||
|
public List<HigherSchClassVO> searcHigherSchClass(Integer schId, Integer year, Integer campusId,
|
||||||
|
Integer divisionId, Integer majorsId, String keyword) {
|
||||||
|
List<Integer> years = new ArrayList<>();
|
||||||
|
if (year != null && year > 0) years.add(year);
|
||||||
|
years = years.isEmpty() ? null : years;
|
||||||
|
|
||||||
|
Page<SchClass> classPage = schClassRepository.findClassesByConditions(schId, campusId, divisionId, majorsId, years, keyword, Pageable.unpaged());
|
||||||
|
|
||||||
|
Map<Integer, String> campusNameMap = schDicCampusService.toIdAndNameMap(schId);
|
||||||
|
Map<Integer, String> divisionsNameMap = schDicDivisionService.toIdAndNameMap(schId);
|
||||||
|
Map<Integer, String> majorssNameMap = schDicMajorsService.toIdAndNameMap(schId);
|
||||||
|
Map<Integer, String> teacherNameMap = schTeacherService.toIdAndNameMap(schId);
|
||||||
|
return classPage.getContent().stream()
|
||||||
|
.map(clazz -> convertHigherSchClassToVO(clazz, campusNameMap, divisionsNameMap, majorssNameMap,teacherNameMap))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// ---------- 下拉列表 ----------
|
// ---------- 下拉列表 ----------
|
||||||
public List<SelectIntVO> getClassSelect(Integer schId, Integer gradeId) {
|
public List<SelectIntVO> getClassSelect(Integer schId, Integer gradeId) {
|
||||||
List<SchClass> schClassList = getSchClassCacheFilter(schId, gradeId, null);
|
List<SchClass> schClassList = getSchClassCacheFilter(schId, gradeId, null);
|
||||||
|
|||||||
+57
-37
@@ -8,20 +8,15 @@ import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
|
|||||||
import com.yunhai.bschclassmanage.Repository.SchStudentRepository;
|
import com.yunhai.bschclassmanage.Repository.SchStudentRepository;
|
||||||
import com.yunhai.bschclassmanage.entity.SchClass;
|
import com.yunhai.bschclassmanage.entity.SchClass;
|
||||||
import com.yunhai.bschclassmanage.entity.SchStudent;
|
import com.yunhai.bschclassmanage.entity.SchStudent;
|
||||||
import com.yunhai.bschclassmanage.enums.StuAbnormalStatus;
|
import com.yunhai.bschclassmanage.enums.*;
|
||||||
import com.yunhai.bschclassmanage.enums.TransferStatus;
|
|
||||||
import com.yunhai.bschclassmanage.enums.UserGender;
|
|
||||||
import com.yunhai.bschclassmanage.enums.UserStatus;
|
|
||||||
import com.yunhai.bschclassmanage.model.dto.SchStudentDTO;
|
import com.yunhai.bschclassmanage.model.dto.SchStudentDTO;
|
||||||
import com.yunhai.bschclassmanage.model.excel.ErrorExcelColumn;
|
import com.yunhai.bschclassmanage.model.excel.ErrorExcelColumn;
|
||||||
import com.yunhai.bschclassmanage.model.excel.StudentClassNoExcelColumn;
|
import com.yunhai.bschclassmanage.model.excel.StudentClassNoExcelColumn;
|
||||||
import com.yunhai.bschclassmanage.model.excel.StudentExcelColumn;
|
import com.yunhai.bschclassmanage.model.excel.StudentExcelColumn;
|
||||||
import com.yunhai.bschclassmanage.model.vo.BaseSchClassVO;
|
import com.yunhai.bschclassmanage.model.vo.BaseSchClassVO;
|
||||||
|
import com.yunhai.bschclassmanage.model.vo.HigherSchClassVO;
|
||||||
import com.yunhai.bschclassmanage.model.vo.SelectIntVO;
|
import com.yunhai.bschclassmanage.model.vo.SelectIntVO;
|
||||||
import com.yunhai.bschclassmanage.service.IBaseSchsystemGradeService;
|
import com.yunhai.bschclassmanage.service.*;
|
||||||
import com.yunhai.bschclassmanage.service.IComSchTreeService;
|
|
||||||
import com.yunhai.bschclassmanage.service.ISchClassService;
|
|
||||||
import com.yunhai.bschclassmanage.service.ISendUserBaseService;
|
|
||||||
import com.yunhai.bschclassmanage.utils.EasyPoiUtils;
|
import com.yunhai.bschclassmanage.utils.EasyPoiUtils;
|
||||||
import com.yunhai.bschclassmanage.utils.UserContext;
|
import com.yunhai.bschclassmanage.utils.UserContext;
|
||||||
import com.yunhai.bschclassmanage.utils.ValidateUtil;
|
import com.yunhai.bschclassmanage.utils.ValidateUtil;
|
||||||
@@ -63,6 +58,8 @@ public class SchStudentImportService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IComSchTreeService comSchTreeService;
|
private IComSchTreeService comSchTreeService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISchBinSchsystemService schBinSchsystemService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISendUserBaseService sendUserBaseService;
|
private ISendUserBaseService sendUserBaseService;
|
||||||
@@ -76,7 +73,7 @@ public class SchStudentImportService {
|
|||||||
/**
|
/**
|
||||||
* 导入学生数据
|
* 导入学生数据
|
||||||
*/
|
*/
|
||||||
public void importStudents(UserContext.UserInfo user, MultipartFile file) {
|
public void importStudents(UserContext.UserInfo user, MultipartFile file, Integer schsystemId, Integer gradeId, Integer classId) {
|
||||||
List<ErrorExcelColumn> errorMsgArr = new ArrayList<>();
|
List<ErrorExcelColumn> errorMsgArr = new ArrayList<>();
|
||||||
ImportParams params = new ImportParams();
|
ImportParams params = new ImportParams();
|
||||||
params.setTitleRows(1);
|
params.setTitleRows(1);
|
||||||
@@ -91,7 +88,7 @@ public class SchStudentImportService {
|
|||||||
// 使用 try-with-resources 确保流关闭
|
// 使用 try-with-resources 确保流关闭
|
||||||
try (InputStream is = file.getInputStream()) {
|
try (InputStream is = file.getInputStream()) {
|
||||||
// 1. 加载基础数据(放在 try 内,若加载失败也回滚)
|
// 1. 加载基础数据(放在 try 内,若加载失败也回滚)
|
||||||
List<SelectIntVO> gradeList = baseSchsystemGradeService.getGradeSelect(schId, null, null);
|
List<SelectIntVO> gradeList = baseSchsystemGradeService.getGradeSelect(schId, schsystemId, gradeId);
|
||||||
List<SchClass> schClassList = schClassService.getSchClassCacheList(schId);
|
List<SchClass> schClassList = schClassService.getSchClassCacheList(schId);
|
||||||
Set<Integer> classIds = new HashSet<>();
|
Set<Integer> classIds = new HashSet<>();
|
||||||
|
|
||||||
@@ -161,7 +158,7 @@ public class SchStudentImportService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Integer gradeId;
|
Integer gradeId2;
|
||||||
// 年级
|
// 年级
|
||||||
{
|
{
|
||||||
Optional<Integer> gradeIdOpt = gradeList.stream()
|
Optional<Integer> gradeIdOpt = gradeList.stream()
|
||||||
@@ -170,7 +167,11 @@ public class SchStudentImportService {
|
|||||||
.findFirst();
|
.findFirst();
|
||||||
|
|
||||||
if (gradeIdOpt.isPresent()) {
|
if (gradeIdOpt.isPresent()) {
|
||||||
gradeId = gradeIdOpt.get();
|
gradeId2 = gradeIdOpt.get();
|
||||||
|
if (gradeId != null && !gradeId2.equals(gradeId)) {
|
||||||
|
errorMsgArr.add(new ErrorExcelColumn(currentRow, item.getGradeName(), StudentExcelColumn.GRADE_NAME + "参数年级与模板年级不一致!"));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
errorMsgArr.add(new ErrorExcelColumn(currentRow, item.getGradeName(), StudentExcelColumn.GRADE_NAME + "不存在!"));
|
errorMsgArr.add(new ErrorExcelColumn(currentRow, item.getGradeName(), StudentExcelColumn.GRADE_NAME + "不存在!"));
|
||||||
continue;
|
continue;
|
||||||
@@ -179,9 +180,13 @@ public class SchStudentImportService {
|
|||||||
// 班级
|
// 班级
|
||||||
{
|
{
|
||||||
Optional<SchClass> schClassOpt = schClassList.stream()
|
Optional<SchClass> schClassOpt = schClassList.stream()
|
||||||
.filter(s -> gradeId.equals(s.getGradeId()) && s.getName().equals(item.getClazzName()))
|
.filter(s -> gradeId2.equals(s.getGradeId()) && s.getName().equals(item.getClazzName()))
|
||||||
.findFirst();
|
.findFirst();
|
||||||
if (schClassOpt.isPresent()) {
|
if (schClassOpt.isPresent()) {
|
||||||
|
if (classId != null && !schClassOpt.get().getClassId().equals(classId)) {
|
||||||
|
errorMsgArr.add(new ErrorExcelColumn(currentRow, item.getClazzName(), StudentExcelColumn.CLAZZ_NAME + "参数班级与模板班级不一致!"));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
stu.setClassId(schClassOpt.get().getClassId());
|
stu.setClassId(schClassOpt.get().getClassId());
|
||||||
stu.setGroupId(schClassOpt.get().getClassId());
|
stu.setGroupId(schClassOpt.get().getClassId());
|
||||||
} else {
|
} else {
|
||||||
@@ -397,18 +402,31 @@ public class SchStudentImportService {
|
|||||||
|
|
||||||
List<SchStudent> schStudentList= cacheService.getSchGradeClassStudentCacheList(schId,systemId,gradeId,classId);
|
List<SchStudent> schStudentList= cacheService.getSchGradeClassStudentCacheList(schId,systemId,gradeId,classId);
|
||||||
|
|
||||||
List<BaseSchClassVO> schClassdentList= schClassService.searcBaseSchClass(schId,systemId,gradeId,classId);
|
// 班级信息映射(classId -> 年级名 / 班级名),按学校类型区分基础教育与职业教育
|
||||||
|
Integer schType=schBinSchsystemService.getSchType(schId);
|
||||||
|
Map<Integer, String> gradeNameMap = new HashMap<>();
|
||||||
|
Map<Integer, String> classNameMap = new HashMap<>();
|
||||||
|
|
||||||
|
if(SchType.BASICEDUCATION.getKey().equals(schType))
|
||||||
|
{
|
||||||
|
List<BaseSchClassVO> schClassdentList= schClassService.searcBaseSchClass(schId,systemId,gradeId,classId);
|
||||||
|
for (BaseSchClassVO clazz : schClassdentList) {
|
||||||
|
gradeNameMap.put(clazz.getClassId(), clazz.getGradeName());
|
||||||
|
classNameMap.put(clazz.getClassId(), clazz.getName());
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
List<HigherSchClassVO> schHigherClassdentList=schClassService.searcHigherSchClass(schId,gradeId,null,null,null,null);
|
||||||
|
for (HigherSchClassVO clazz : schHigherClassdentList) {
|
||||||
|
gradeNameMap.put(clazz.getClassId(), clazz.getGradeName());
|
||||||
|
classNameMap.put(clazz.getClassId(), clazz.getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for (SchStudent stu: schStudentList)
|
for (SchStudent stu: schStudentList)
|
||||||
{
|
{
|
||||||
Optional<BaseSchClassVO> stuClassOpt= schClassdentList.stream()
|
|
||||||
.filter(s->s.getClassId().equals(stu.getClassId())).findFirst();
|
|
||||||
|
|
||||||
|
|
||||||
StudentClassNoExcelColumn column=new StudentClassNoExcelColumn();
|
StudentClassNoExcelColumn column=new StudentClassNoExcelColumn();
|
||||||
column.setGradeName(stuClassOpt.isPresent()?stuClassOpt.get().getGradeName():"未知");
|
column.setGradeName(gradeNameMap.getOrDefault(stu.getClassId(), "未知"));
|
||||||
column.setClazzName(stuClassOpt.isPresent()?stuClassOpt.get().getName():"未知");
|
column.setClazzName(classNameMap.getOrDefault(stu.getClassId(), "未知"));
|
||||||
column.setStuName(stu.getName());
|
column.setStuName(stu.getName());
|
||||||
column.setAccount(stu.getAccount());
|
column.setAccount(stu.getAccount());
|
||||||
column.setClazzNo(stu.getStuClassNo());
|
column.setClazzNo(stu.getStuClassNo());
|
||||||
@@ -531,30 +549,32 @@ public class SchStudentImportService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 班级
|
// 班级(按学校类型区分班级来源:基础教育走班级缓存,职业教育走高等教育班级查询)
|
||||||
{
|
{
|
||||||
|
Integer matchClassId = null;
|
||||||
Optional<SchClass> schClassOpt = schClassList.stream()
|
Optional<SchClass> schClassOpt = schClassList.stream()
|
||||||
.filter(s -> gradeId2.equals(s.getGradeId()) && s.getName().equals(item.getClazzName()))
|
.filter(s -> gradeId2.equals(s.getGradeId()) && s.getName().equals(item.getClazzName()))
|
||||||
.findFirst();
|
.findFirst();
|
||||||
if (schClassOpt.isPresent()) {
|
if (schClassOpt.isPresent()) {
|
||||||
if(classId!=null){
|
matchClassId = schClassOpt.get().getClassId();
|
||||||
if(!schClassOpt.get().getClassId().equals(classId)){
|
}
|
||||||
errorMsgArr.add(new ErrorExcelColumn(currentRow, item.getClazzName(), StudentExcelColumn.CLAZZ_NAME + "参数班级与模板班级不一致!"));
|
|
||||||
currentRow++;
|
if (matchClassId == null) {
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 学生当前班级必须与模板班级一致,避免改错其他班级学生的学号
|
|
||||||
if (!Objects.equals(stu.getClassId(), schClassOpt.get().getClassId())) {
|
|
||||||
errorMsgArr.add(new ErrorExcelColumn(currentRow, item.getClazzName(), "学生当前班级与模板班级不一致!"));
|
|
||||||
currentRow++;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
errorMsgArr.add(new ErrorExcelColumn(currentRow, item.getClazzName(), StudentExcelColumn.CLAZZ_NAME + "不存在!"));
|
errorMsgArr.add(new ErrorExcelColumn(currentRow, item.getClazzName(), StudentExcelColumn.CLAZZ_NAME + "不存在!"));
|
||||||
currentRow++;
|
currentRow++;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (classId != null && !matchClassId.equals(classId)) {
|
||||||
|
errorMsgArr.add(new ErrorExcelColumn(currentRow, item.getClazzName(), StudentExcelColumn.CLAZZ_NAME + "参数班级与模板班级不一致!"));
|
||||||
|
currentRow++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// 学生当前班级必须与模板班级一致,避免改错其他班级学生的学号
|
||||||
|
if (!Objects.equals(stu.getClassId(), matchClassId)) {
|
||||||
|
errorMsgArr.add(new ErrorExcelColumn(currentRow, item.getClazzName(), "学生当前班级与模板班级不一致!"));
|
||||||
|
currentRow++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 学号(为空时保留原学号,避免误清空)
|
// 学号(为空时保留原学号,避免误清空)
|
||||||
|
|||||||
Reference in New Issue
Block a user