|
@@ -427,28 +427,25 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
@Override
|
|
@Override
|
|
public List<Long> disposeExamDetailByExaminationExcel(List<ExaminationImportDto> dataList, Long userId, SerialNumberParams serialNumberParams, SysUser sysUser) {
|
|
public List<Long> disposeExamDetailByExaminationExcel(List<ExaminationImportDto> dataList, Long userId, SerialNumberParams serialNumberParams, SysUser sysUser) {
|
|
List<Map<String, Object>> examDetailKeyList = dataList.stream().flatMap(e -> {
|
|
List<Map<String, Object>> examDetailKeyList = dataList.stream().flatMap(e -> {
|
|
|
|
+ String campusName = e.getCampusName();
|
|
|
|
+ Long schoolIdId = e.getSchoolId();
|
|
|
|
+ Long printHouseId = basicCampusService.getPrintHouseIdBySchoolIdAndCampusName(schoolIdId, campusName);
|
|
Map<String, Object> map = new HashMap<>();
|
|
Map<String, Object> map = new HashMap<>();
|
|
- map.put("schoolId", e.getSchoolId());
|
|
|
|
|
|
+ map.put("schoolId", schoolIdId);
|
|
map.put("printPlanId", e.getPrintPlanId());
|
|
map.put("printPlanId", e.getPrintPlanId());
|
|
map.put("printPlanName", e.getPrintPlanName());
|
|
map.put("printPlanName", e.getPrintPlanName());
|
|
map.put("examPlace", e.getExamPlace());
|
|
map.put("examPlace", e.getExamPlace());
|
|
map.put("examRoom", e.getExamRoom());
|
|
map.put("examRoom", e.getExamRoom());
|
|
map.put("examStartTime", e.getExamStartTime());
|
|
map.put("examStartTime", e.getExamStartTime());
|
|
map.put("examEndTime", e.getExamEndTime());
|
|
map.put("examEndTime", e.getExamEndTime());
|
|
- map.put("campusName", e.getCampusName());
|
|
|
|
|
|
+ map.put("printHouseId", printHouseId);
|
|
return Stream.of(map);
|
|
return Stream.of(map);
|
|
}).distinct().collect(Collectors.toList());
|
|
}).distinct().collect(Collectors.toList());
|
|
|
|
|
|
// 同一任务是否有多个校区
|
|
// 同一任务是否有多个校区
|
|
Map<String, List<Map<String, Object>>> stringListMap = examDetailKeyList.stream().collect(Collectors.groupingBy(m -> m.get("schoolId") + "#" + m.get("printPlanId") + "#" + m.get("printPlanName") + "#" + m.get("examPlace") + "#" + m.get("examRoom") + "#" + m.get("examStartTime") + "#" + m.get("examEndTime")));
|
|
Map<String, List<Map<String, Object>>> stringListMap = examDetailKeyList.stream().collect(Collectors.groupingBy(m -> m.get("schoolId") + "#" + m.get("printPlanId") + "#" + m.get("printPlanName") + "#" + m.get("examPlace") + "#" + m.get("examRoom") + "#" + m.get("examStartTime") + "#" + m.get("examEndTime")));
|
|
for (Map.Entry<String, List<Map<String, Object>>> entry : stringListMap.entrySet()) {
|
|
for (Map.Entry<String, List<Map<String, Object>>> entry : stringListMap.entrySet()) {
|
|
- Set<Long> printHouseIds = new HashSet<>();
|
|
|
|
- for (Map<String, Object> objectMap : entry.getValue()) {
|
|
|
|
- Long schoolId = Long.valueOf(String.valueOf(objectMap.get("schoolId")));
|
|
|
|
- String campusName = String.valueOf(objectMap.get("campusName"));
|
|
|
|
- printHouseIds.add(basicCampusService.getPrintHouseIdBySchoolIdAndCampusName(schoolId, campusName));
|
|
|
|
- }
|
|
|
|
- if(printHouseIds.size() > 1){
|
|
|
|
|
|
+ if(entry.getValue().size() > 1){
|
|
throw ExceptionResultEnum.ERROR.exception("同一考场对应校区指派的印刷室只能为一个");
|
|
throw ExceptionResultEnum.ERROR.exception("同一考场对应校区指派的印刷室只能为一个");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -460,7 +457,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
String examRoom = String.valueOf(map.get("examRoom"));
|
|
String examRoom = String.valueOf(map.get("examRoom"));
|
|
String examStartTime = String.valueOf(map.get("examStartTime"));
|
|
String examStartTime = String.valueOf(map.get("examStartTime"));
|
|
String examEndTime = String.valueOf(map.get("examEndTime"));
|
|
String examEndTime = String.valueOf(map.get("examEndTime"));
|
|
- String campusName = String.valueOf(map.get("campusName"));
|
|
|
|
|
|
+ Long printHouseId = Long.valueOf(String.valueOf(map.get("printHouseId")));
|
|
|
|
|
|
long totalSubjects = dataList.stream()
|
|
long totalSubjects = dataList.stream()
|
|
.filter(e -> e.getExamPlace().equals(examPlace) &&
|
|
.filter(e -> e.getExamPlace().equals(examPlace) &&
|
|
@@ -483,7 +480,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
examDetail.setExamEndTime(SystemConstant.convertIdToLong(examEndTime));
|
|
examDetail.setExamEndTime(SystemConstant.convertIdToLong(examEndTime));
|
|
examDetail.setExamDataSource(ExamDataSourceEnum.FILE_IMPORT);
|
|
examDetail.setExamDataSource(ExamDataSourceEnum.FILE_IMPORT);
|
|
examDetail.setNormal(true);
|
|
examDetail.setNormal(true);
|
|
- examDetail.setPrintHouseId(basicCampusService.getPrintHouseIdBySchoolIdAndCampusName(schoolId, campusName));
|
|
|
|
|
|
+ examDetail.setPrintHouseId(printHouseId);
|
|
examDetail.setCreateId(userId);
|
|
examDetail.setCreateId(userId);
|
|
examDetail.setUpdateId(userId);
|
|
examDetail.setUpdateId(userId);
|
|
examDetailList.add(examDetail);
|
|
examDetailList.add(examDetail);
|