|
@@ -82,14 +82,16 @@ public class TBExamCourseDeleteServiceImpl implements TBExamCourseDeleteService
|
|
|
TAExamCourseTeacherDioService taExamCourseTeacherDioService;
|
|
|
@Resource
|
|
|
TAExamCourseTeacherPaperStructService taExamCourseTeacherPaperStructService;
|
|
|
+ @Resource
|
|
|
+ TAPaperStructService taPaperStructService;
|
|
|
|
|
|
+ // 重算
|
|
|
+ @Resource
|
|
|
+ AnalyzeForReportService analyzeForReportService;
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public void deleteBasicTableData(Long schoolId, Long examId, String courseCode) {
|
|
|
- if (tbExamCourseService.verifyExamCourseCantDelete(schoolId, examId, courseCode)) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("考试id为【" + examId + "】,课程编号为【" + courseCode + "】的分析课程当前不能被删除");
|
|
|
- }
|
|
|
// 基础且无关联表删除
|
|
|
tbCommonLevelConfigService.remove(new QueryWrapper<TBCommonLevelConfig>()
|
|
|
.lambda()
|
|
@@ -127,24 +129,24 @@ public class TBExamCourseDeleteServiceImpl implements TBExamCourseDeleteService
|
|
|
.lambda()
|
|
|
.eq(TBPaper::getExamId, examId)
|
|
|
.eq(TBPaper::getCourseCode, courseCode));
|
|
|
- if (tbPaperList != null && tbPaperList.size() > 0){
|
|
|
- if (tbPaperList.size() > 1){
|
|
|
+ if (tbPaperList != null && tbPaperList.size() > 0) {
|
|
|
+ if (tbPaperList.size() > 1) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("考试id为【" + examId + "】,分析课程编号为【" + courseCode + "】存在多个试卷t_b_paper");
|
|
|
}
|
|
|
TBPaper tbPaper = tbPaperList.get(0);
|
|
|
Long paperId = tbPaper.getId();
|
|
|
List<TBPaperStruct> tbPaperStructList = tbPaperStructService.list(new QueryWrapper<TBPaperStruct>()
|
|
|
.lambda()
|
|
|
- .eq(TBPaperStruct::getPaperId,paperId));
|
|
|
+ .eq(TBPaperStruct::getPaperId, paperId));
|
|
|
List<TBExamRecord> tbExamRecordList = tbExamRecordService.list(new QueryWrapper<TBExamRecord>()
|
|
|
.lambda()
|
|
|
- .eq(TBExamRecord::getExamId,examId)
|
|
|
- .eq(TBExamRecord::getPaperId,paperId));
|
|
|
+ .eq(TBExamRecord::getExamId, examId)
|
|
|
+ .eq(TBExamRecord::getPaperId, paperId));
|
|
|
List<Long> tbExamRecordIdList = tbExamRecordList.stream().map(TBExamRecord::getId).collect(Collectors.toList());
|
|
|
- if (tbExamRecordIdList.size() > 0){
|
|
|
+ if (tbExamRecordIdList.size() > 0) {
|
|
|
List<TBAnswer> tbAnswerList = tbAnswerService.list(new QueryWrapper<TBAnswer>()
|
|
|
.lambda()
|
|
|
- .in(TBAnswer::getExamRecordId,tbExamRecordIdList));
|
|
|
+ .in(TBAnswer::getExamRecordId, tbExamRecordIdList));
|
|
|
// 删除't_b_answer'表
|
|
|
tbAnswerService.removeByIds(tbAnswerList.stream().map(TBAnswer::getId).collect(Collectors.toList()));
|
|
|
}
|
|
@@ -166,127 +168,142 @@ public class TBExamCourseDeleteServiceImpl implements TBExamCourseDeleteService
|
|
|
.lambda()
|
|
|
.eq(TBPaper::getExamId, examId)
|
|
|
.eq(TBPaper::getCourseCode, courseCode));
|
|
|
- if (tbPaperList != null && tbPaperList.size() > 0){
|
|
|
- if (tbPaperList.size() > 1){
|
|
|
+ if (tbPaperList != null && tbPaperList.size() > 0) {
|
|
|
+ if (tbPaperList.size() > 1) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("考试id为【" + examId + "】,分析课程编号为【" + courseCode + "】存在多个试卷t_b_paper");
|
|
|
}
|
|
|
TBPaper tbPaper = tbPaperList.get(0);
|
|
|
Long paperId = tbPaper.getId();
|
|
|
List<TBExamRecord> tbExamRecordList = tbExamRecordService.list(new QueryWrapper<TBExamRecord>()
|
|
|
.lambda()
|
|
|
- .eq(TBExamRecord::getExamId,examId)
|
|
|
- .eq(TBExamRecord::getPaperId,paperId));
|
|
|
+ .eq(TBExamRecord::getExamId, examId)
|
|
|
+ .eq(TBExamRecord::getPaperId, paperId));
|
|
|
List<Long> tbExamRecordIdList = tbExamRecordList.stream().map(TBExamRecord::getId).collect(Collectors.toList());
|
|
|
- if (tbExamRecordIdList.size() > 0){
|
|
|
+ if (tbExamRecordIdList.size() > 0) {
|
|
|
taExamCourseRecordService.remove(new QueryWrapper<TAExamCourseRecord>()
|
|
|
.lambda()
|
|
|
- .in(TAExamCourseRecord::getExamRecordId,tbExamRecordIdList));
|
|
|
+ .in(TAExamCourseRecord::getExamRecordId, tbExamRecordIdList));
|
|
|
}
|
|
|
}
|
|
|
// 独立的分析表↓
|
|
|
// 删除't_a_exam_course'
|
|
|
taExamCourseService.remove(new QueryWrapper<TAExamCourse>().lambda()
|
|
|
- .eq(TAExamCourse::getSchoolId,schoolId)
|
|
|
- .eq(TAExamCourse::getExamId,examId)
|
|
|
- .eq(TAExamCourse::getCourseCode,courseCode));
|
|
|
+ .eq(TAExamCourse::getSchoolId, schoolId)
|
|
|
+ .eq(TAExamCourse::getExamId, examId)
|
|
|
+ .eq(TAExamCourse::getCourseCode, courseCode));
|
|
|
// 删除't_a_exam_course_clazz'
|
|
|
taExamCourseClazzService.remove(new QueryWrapper<TAExamCourseClazz>()
|
|
|
.lambda()
|
|
|
- .eq(TAExamCourseClazz::getSchoolId,schoolId)
|
|
|
- .eq(TAExamCourseClazz::getExamId,examId)
|
|
|
- .eq(TAExamCourseClazz::getCourseCode,courseCode));
|
|
|
+ .eq(TAExamCourseClazz::getSchoolId, schoolId)
|
|
|
+ .eq(TAExamCourseClazz::getExamId, examId)
|
|
|
+ .eq(TAExamCourseClazz::getCourseCode, courseCode));
|
|
|
// 删除't_a_exam_course_college_inspect'
|
|
|
taExamCourseCollegeInspectService.remove(new QueryWrapper<TAExamCourseCollegeInspect>()
|
|
|
.lambda()
|
|
|
- .eq(TAExamCourseCollegeInspect::getSchoolId,schoolId)
|
|
|
- .eq(TAExamCourseCollegeInspect::getExamId,examId)
|
|
|
- .eq(TAExamCourseCollegeInspect::getCourseCode,courseCode));
|
|
|
+ .eq(TAExamCourseCollegeInspect::getSchoolId, schoolId)
|
|
|
+ .eq(TAExamCourseCollegeInspect::getExamId, examId)
|
|
|
+ .eq(TAExamCourseCollegeInspect::getCourseCode, courseCode));
|
|
|
// 删除't_a_exam_course_college_inspect_dio'
|
|
|
taExamCourseCollegeInspectDioService.remove(new QueryWrapper<TAExamCourseCollegeInspectDio>()
|
|
|
.lambda()
|
|
|
- .eq(TAExamCourseCollegeInspectDio::getSchoolId,schoolId)
|
|
|
- .eq(TAExamCourseCollegeInspectDio::getExamId,examId)
|
|
|
- .eq(TAExamCourseCollegeInspectDio::getCourseCode,courseCode));
|
|
|
+ .eq(TAExamCourseCollegeInspectDio::getSchoolId, schoolId)
|
|
|
+ .eq(TAExamCourseCollegeInspectDio::getExamId, examId)
|
|
|
+ .eq(TAExamCourseCollegeInspectDio::getCourseCode, courseCode));
|
|
|
// 删除't_a_exam_course_college_paper_struct'
|
|
|
taExamCourseCollegePaperStructService.remove(new QueryWrapper<TAExamCourseCollegePaperStruct>()
|
|
|
.lambda()
|
|
|
- .eq(TAExamCourseCollegePaperStruct::getSchoolId,schoolId)
|
|
|
- .eq(TAExamCourseCollegePaperStruct::getExamId,examId)
|
|
|
- .eq(TAExamCourseCollegePaperStruct::getCourseCode,courseCode));
|
|
|
+ .eq(TAExamCourseCollegePaperStruct::getSchoolId, schoolId)
|
|
|
+ .eq(TAExamCourseCollegePaperStruct::getExamId, examId)
|
|
|
+ .eq(TAExamCourseCollegePaperStruct::getCourseCode, courseCode));
|
|
|
// 删除't_a_exam_course_college_teacher'
|
|
|
taExamCourseCollegeTeacherService.remove(new QueryWrapper<TAExamCourseCollegeTeacher>()
|
|
|
.lambda()
|
|
|
- .eq(TAExamCourseCollegeTeacher::getSchoolId,schoolId)
|
|
|
- .eq(TAExamCourseCollegeTeacher::getExamId,examId)
|
|
|
- .eq(TAExamCourseCollegeTeacher::getCourseCode,courseCode));
|
|
|
+ .eq(TAExamCourseCollegeTeacher::getSchoolId, schoolId)
|
|
|
+ .eq(TAExamCourseCollegeTeacher::getExamId, examId)
|
|
|
+ .eq(TAExamCourseCollegeTeacher::getCourseCode, courseCode));
|
|
|
// 删除't_a_exam_course_difficult'
|
|
|
taExamCourseDifficultService.remove(new QueryWrapper<TAExamCourseDifficult>()
|
|
|
.lambda()
|
|
|
- .eq(TAExamCourseDifficult::getSchoolId,schoolId)
|
|
|
- .eq(TAExamCourseDifficult::getExamId,examId)
|
|
|
- .eq(TAExamCourseDifficult::getCourseCode,courseCode));
|
|
|
+ .eq(TAExamCourseDifficult::getSchoolId, schoolId)
|
|
|
+ .eq(TAExamCourseDifficult::getExamId, examId)
|
|
|
+ .eq(TAExamCourseDifficult::getCourseCode, courseCode));
|
|
|
// 删除't_a_exam_course_dio'
|
|
|
taExamCourseDioService.remove(new QueryWrapper<TAExamCourseDio>().lambda()
|
|
|
- .eq(TAExamCourseDio::getSchoolId,schoolId)
|
|
|
- .eq(TAExamCourseDio::getExamId,examId)
|
|
|
- .eq(TAExamCourseDio::getCourseCode,courseCode));
|
|
|
+ .eq(TAExamCourseDio::getSchoolId, schoolId)
|
|
|
+ .eq(TAExamCourseDio::getExamId, examId)
|
|
|
+ .eq(TAExamCourseDio::getCourseCode, courseCode));
|
|
|
// 删除't_a_exam_course_record_dio'
|
|
|
taExamCourseRecordDioService.remove(new QueryWrapper<TAExamCourseRecordDio>().lambda()
|
|
|
- .eq(TAExamCourseRecordDio::getSchoolId,schoolId)
|
|
|
- .eq(TAExamCourseRecordDio::getExamId,examId)
|
|
|
- .eq(TAExamCourseRecordDio::getCourseCode,courseCode));
|
|
|
+ .eq(TAExamCourseRecordDio::getSchoolId, schoolId)
|
|
|
+ .eq(TAExamCourseRecordDio::getExamId, examId)
|
|
|
+ .eq(TAExamCourseRecordDio::getCourseCode, courseCode));
|
|
|
// 删除't_a_exam_course_record_mod'
|
|
|
taExamCourseRecordModService.remove(new QueryWrapper<TAExamCourseRecordMod>().lambda()
|
|
|
- .eq(TAExamCourseRecordMod::getSchoolId,schoolId)
|
|
|
- .eq(TAExamCourseRecordMod::getExamId,examId)
|
|
|
- .eq(TAExamCourseRecordMod::getCourseCode,courseCode));
|
|
|
+ .eq(TAExamCourseRecordMod::getSchoolId, schoolId)
|
|
|
+ .eq(TAExamCourseRecordMod::getExamId, examId)
|
|
|
+ .eq(TAExamCourseRecordMod::getCourseCode, courseCode));
|
|
|
// 删除't_a_exam_course_teacher'
|
|
|
taExamCourseTeacherService.remove(new QueryWrapper<TAExamCourseTeacher>().lambda()
|
|
|
- .eq(TAExamCourseTeacher::getSchoolId,schoolId)
|
|
|
- .eq(TAExamCourseTeacher::getExamId,examId)
|
|
|
- .eq(TAExamCourseTeacher::getCourseCode,courseCode));
|
|
|
+ .eq(TAExamCourseTeacher::getSchoolId, schoolId)
|
|
|
+ .eq(TAExamCourseTeacher::getExamId, examId)
|
|
|
+ .eq(TAExamCourseTeacher::getCourseCode, courseCode));
|
|
|
// 删除't_a_exam_course_teacher_college_difficult'
|
|
|
taExamCourseTeacherCollegeDifficultService.remove(new QueryWrapper<TAExamCourseTeacherCollegeDifficult>().lambda()
|
|
|
- .eq(TAExamCourseTeacherCollegeDifficult::getSchoolId,schoolId)
|
|
|
- .eq(TAExamCourseTeacherCollegeDifficult::getExamId,examId)
|
|
|
- .eq(TAExamCourseTeacherCollegeDifficult::getCourseCode,courseCode));
|
|
|
+ .eq(TAExamCourseTeacherCollegeDifficult::getSchoolId, schoolId)
|
|
|
+ .eq(TAExamCourseTeacherCollegeDifficult::getExamId, examId)
|
|
|
+ .eq(TAExamCourseTeacherCollegeDifficult::getCourseCode, courseCode));
|
|
|
// 删除't_a_exam_course_teacher_college_dio'
|
|
|
taExamCourseTeacherCollegeDioService.remove(new QueryWrapper<TAExamCourseTeacherCollegeDio>().lambda()
|
|
|
- .eq(TAExamCourseTeacherCollegeDio::getSchoolId,schoolId)
|
|
|
- .eq(TAExamCourseTeacherCollegeDio::getExamId,examId)
|
|
|
- .eq(TAExamCourseTeacherCollegeDio::getCourseCode,courseCode));
|
|
|
+ .eq(TAExamCourseTeacherCollegeDio::getSchoolId, schoolId)
|
|
|
+ .eq(TAExamCourseTeacherCollegeDio::getExamId, examId)
|
|
|
+ .eq(TAExamCourseTeacherCollegeDio::getCourseCode, courseCode));
|
|
|
// 删除't_a_exam_course_teacher_college_paper_struct'
|
|
|
taExamCourseTeacherCollegePaperStructService.remove(new QueryWrapper<TAExamCourseTeacherCollegePaperStruct>().lambda()
|
|
|
- .eq(TAExamCourseTeacherCollegePaperStruct::getSchoolId,schoolId)
|
|
|
- .eq(TAExamCourseTeacherCollegePaperStruct::getExamId,examId)
|
|
|
- .eq(TAExamCourseTeacherCollegePaperStruct::getCourseCode,courseCode));
|
|
|
+ .eq(TAExamCourseTeacherCollegePaperStruct::getSchoolId, schoolId)
|
|
|
+ .eq(TAExamCourseTeacherCollegePaperStruct::getExamId, examId)
|
|
|
+ .eq(TAExamCourseTeacherCollegePaperStruct::getCourseCode, courseCode));
|
|
|
// 删除't_a_exam_course_teacher_difficult'
|
|
|
taExamCourseTeacherDifficultService.remove(new QueryWrapper<TAExamCourseTeacherDifficult>().lambda()
|
|
|
- .eq(TAExamCourseTeacherDifficult::getSchoolId,schoolId)
|
|
|
- .eq(TAExamCourseTeacherDifficult::getExamId,examId)
|
|
|
- .eq(TAExamCourseTeacherDifficult::getCourseCode,courseCode));
|
|
|
+ .eq(TAExamCourseTeacherDifficult::getSchoolId, schoolId)
|
|
|
+ .eq(TAExamCourseTeacherDifficult::getExamId, examId)
|
|
|
+ .eq(TAExamCourseTeacherDifficult::getCourseCode, courseCode));
|
|
|
// 删除't_a_exam_course_teacher_dio'
|
|
|
taExamCourseTeacherDioService.remove(new QueryWrapper<TAExamCourseTeacherDio>().lambda()
|
|
|
- .eq(TAExamCourseTeacherDio::getSchoolId,schoolId)
|
|
|
- .eq(TAExamCourseTeacherDio::getExamId,examId)
|
|
|
- .eq(TAExamCourseTeacherDio::getCourseCode,courseCode));
|
|
|
+ .eq(TAExamCourseTeacherDio::getSchoolId, schoolId)
|
|
|
+ .eq(TAExamCourseTeacherDio::getExamId, examId)
|
|
|
+ .eq(TAExamCourseTeacherDio::getCourseCode, courseCode));
|
|
|
// 删除't_a_exam_course_teacher_paper_struct'
|
|
|
taExamCourseTeacherPaperStructService.remove(new QueryWrapper<TAExamCourseTeacherPaperStruct>().lambda()
|
|
|
- .eq(TAExamCourseTeacherPaperStruct::getSchoolId,schoolId)
|
|
|
- .eq(TAExamCourseTeacherPaperStruct::getExamId,examId)
|
|
|
- .eq(TAExamCourseTeacherPaperStruct::getCourseCode,courseCode));
|
|
|
- // 删除''
|
|
|
+ .eq(TAExamCourseTeacherPaperStruct::getSchoolId, schoolId)
|
|
|
+ .eq(TAExamCourseTeacherPaperStruct::getExamId, examId)
|
|
|
+ .eq(TAExamCourseTeacherPaperStruct::getCourseCode, courseCode));
|
|
|
+ // 删除't_a_paper_struct'
|
|
|
+ taPaperStructService.remove(new QueryWrapper<TAPaperStruct>().lambda()
|
|
|
+ .eq(TAPaperStruct::getSchoolId, schoolId)
|
|
|
+ .eq(TAPaperStruct::getExamId, examId)
|
|
|
+ .eq(TAPaperStruct::getCourseCode, courseCode));
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public void repeatCalculateTotalTableData(Long schoolId, Long examId, String courseCode) {
|
|
|
-
|
|
|
+ analyzeForReportService.buildAnalyzeExamTotal(examId, courseCode);
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
- public void deleteTBExamCourse(List<TBExamCourseDeleteParams> tbExamCourseDeleteParamsList) {
|
|
|
+ public synchronized void deleteTBExamCourse(List<TBExamCourseDeleteParams> tbExamCourseDeleteParamsList) {
|
|
|
+ for (TBExamCourseDeleteParams tbExamCourseDeleteParams : tbExamCourseDeleteParamsList) {
|
|
|
+ Long schoolId = tbExamCourseDeleteParams.getSchoolId();
|
|
|
+ Long examId = tbExamCourseDeleteParams.getExamId();
|
|
|
+ String courseCode = tbExamCourseDeleteParams.getCourseCode();
|
|
|
|
|
|
+ if (tbExamCourseService.verifyExamCourseCantDelete(schoolId, examId, courseCode)) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("考试id为【" + examId + "】,课程编号为【" + courseCode + "】的分析课程当前不能被删除");
|
|
|
+ }
|
|
|
+ this.deleteBasicTableData(schoolId, examId, courseCode);
|
|
|
+ this.deleteAnalyzeTableData(schoolId, examId, courseCode);
|
|
|
+ this.repeatCalculateTotalTableData(schoolId, examId, courseCode);
|
|
|
+ }
|
|
|
}
|
|
|
}
|