|
@@ -869,13 +869,13 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public TBTask importData(String printPlanId, MultipartFile file) {
|
|
|
+ public TBTask importData(Long printPlanId, MultipartFile file) {
|
|
|
if (this.countByPrintPlanId(printPlanId) > 0) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("计划下已导入考务数据,不允许多次导入");
|
|
|
}
|
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
try {
|
|
|
- Map<String, Object> map = printCommonService.saveTask(SystemConstant.convertIdToLong(printPlanId), file, TaskTypeEnum.EXAMINATION_IMPORT);
|
|
|
+ Map<String, Object> map = printCommonService.saveTask(printPlanId, file, TaskTypeEnum.EXAMINATION_IMPORT);
|
|
|
boolean lock = redisUtil.lock(SystemConstant.REDIS_LOCK_IMPORT_EXAM_DATA + schoolId, SystemConstant.REDIS_LOCK_IMPORT_EXAM_DATA_TIME_OUT);
|
|
|
if (lock) {
|
|
|
asyncExamStudentImportService.importTask(map);
|
|
@@ -975,48 +975,6 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
|
return examDetailCourseInitMarkDtoList.stream().filter(t -> this.allExamDetailIsFinish(t.getExamId(), t.getCourseId(), t.getPaperNumber())).collect(Collectors.toList());
|
|
|
}
|
|
|
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
- @Override
|
|
|
- public void deleteExaminationData(Long printPlanId, ExamDataSourceEnum source) {
|
|
|
- ExamPrintPlan examPrintPlan = examPrintPlanService.getById(printPlanId);
|
|
|
- if (examPrintPlan == null) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("未找到印刷计划信息");
|
|
|
- }
|
|
|
- PrintPlanStatusEnum status = examPrintPlan.getStatus();
|
|
|
- if (PrintPlanStatusEnum.NEW != status && PrintPlanStatusEnum.READY != status) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception(status.getName() + "状态下的印刷计划不能删除考务数据");
|
|
|
- }
|
|
|
- // 准备删除的考务-场次表id
|
|
|
- LambdaQueryWrapper<ExamDetail> examDetailQueryWrapper = new QueryWrapper<ExamDetail>().lambda().eq(ExamDetail::getPrintPlanId, printPlanId);
|
|
|
- if (Objects.nonNull(source)) {
|
|
|
- examDetailQueryWrapper.eq(ExamDetail::getExamDataSource, source);
|
|
|
- }
|
|
|
- List<Long> examDetailIds = this.list(examDetailQueryWrapper).stream().map(ExamDetail::getId).collect(Collectors.toList());
|
|
|
- if (examDetailIds.size() == 0) {
|
|
|
- return;
|
|
|
- }
|
|
|
- // 删除exam_detail 表数据
|
|
|
- this.remove(new QueryWrapper<ExamDetail>().lambda().in(ExamDetail::getId, examDetailIds));
|
|
|
-
|
|
|
- // 准备删除的考务-科目表id
|
|
|
- List<Long> examDetailCourseIds = examDetailCourseService.list(new QueryWrapper<ExamDetailCourse>().lambda().in(ExamDetailCourse::getExamDetailId, examDetailIds))
|
|
|
- .stream().map(ExamDetailCourse::getId).collect(Collectors.toList());
|
|
|
- if (examDetailCourseIds.size() == 0) {
|
|
|
- return;
|
|
|
- }
|
|
|
- // 删除exam_detail_course 表数据
|
|
|
- examDetailCourseService.remove(new QueryWrapper<ExamDetailCourse>().lambda().in(ExamDetailCourse::getId, examDetailCourseIds));
|
|
|
-
|
|
|
- // 准备删除的考务-考生表id
|
|
|
- List<Long> examStudentIds = examStudentService.list(new QueryWrapper<ExamStudent>().lambda().in(ExamStudent::getExamDetailCourseId, examDetailCourseIds))
|
|
|
- .stream().map(ExamStudent::getId).collect(Collectors.toList());
|
|
|
- if (examStudentIds.size() == 0) {
|
|
|
- return;
|
|
|
- }
|
|
|
- // 删除exam_student 表数据
|
|
|
- examStudentService.remove(new QueryWrapper<ExamStudent>().lambda().in(ExamStudent::getId, examStudentIds));
|
|
|
- }
|
|
|
-
|
|
|
private List<CodeNameEnableValue> getExtendFieldsByFields(List<FieldsDto> fieldsDtoList) {
|
|
|
List<CodeNameEnableValue> extendFieldsDtoList = new ArrayList<>();
|
|
|
for (FieldsDto fieldsDto : fieldsDtoList) {
|
|
@@ -1167,7 +1125,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public int countByPrintPlanId(String printPlanId) {
|
|
|
+ public int countByPrintPlanId(Long printPlanId) {
|
|
|
QueryWrapper<ExamDetail> queryWrapper = new QueryWrapper<>();
|
|
|
queryWrapper.lambda().eq(ExamDetail::getPrintPlanId, printPlanId);
|
|
|
return this.count(queryWrapper);
|