|
@@ -97,6 +97,16 @@ public class AnalyzeForReportServiceImpl implements AnalyzeForReportService {
|
|
|
private TAExamCourseTeacherDioService taExamCourseTeacherDioService;
|
|
|
@Resource
|
|
|
private TBExamRecordService tbExamRecordService;
|
|
|
+ @Resource
|
|
|
+ private TAExamCourseTeacherCollegeDioService taExamCourseTeacherCollegeDioService;
|
|
|
+ @Resource
|
|
|
+ private TAExamCourseTeacherCollegeDifficultService taExamCourseTeacherCollegeDifficultService;
|
|
|
+ @Resource
|
|
|
+ private TAExamCourseCollegePaperStructService taExamCourseCollegePaperStructService;
|
|
|
+ @Resource
|
|
|
+ private TAExamCourseTeacherPaperStructService taExamCourseTeacherPaperStructService;
|
|
|
+ @Resource
|
|
|
+ private TAExamCourseTeacherCollegePaperStructService taExamCourseTeacherCollegePaperStructService;
|
|
|
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@@ -114,7 +124,6 @@ public class AnalyzeForReportServiceImpl implements AnalyzeForReportService {
|
|
|
.eq(TAExamCourse::getExamId, examId)
|
|
|
.eq(TAExamCourse::getCourseCode, effectiveCourseCode));
|
|
|
|
|
|
- // TODO: 2021/6/7 查询试卷信息AB卷的准确方式(目前AB卷规则视为一致)
|
|
|
List<TBPaper> tbPaperList = tbPaperService.list(new QueryWrapper<TBPaper>().lambda()
|
|
|
.eq(TBPaper::getExamId, examId).eq(TBPaper::getCourseCode, effectiveCourseCode));
|
|
|
if (tbPaperList.size() < 1) {
|
|
@@ -224,7 +233,6 @@ public class AnalyzeForReportServiceImpl implements AnalyzeForReportService {
|
|
|
// 计算标准差
|
|
|
double currentStandardDeviation = MathUtil.calculateStandardDeviation(currentScoreList);
|
|
|
|
|
|
- // TODO: 2021/6/7 难度系数使用标准分计算
|
|
|
BigDecimal scoreRate;
|
|
|
double standardAvgScore = currentDatasource.stream().collect(Collectors.summarizingDouble(e -> e.getTotalScore().doubleValue())).getAverage();
|
|
|
if (standardAvgScore != 0 && totalScore.compareTo(BigDecimal.ZERO) > 0) {
|
|
@@ -245,7 +253,6 @@ public class AnalyzeForReportServiceImpl implements AnalyzeForReportService {
|
|
|
/*
|
|
|
学院信息
|
|
|
*/
|
|
|
- // TODO: 2021/6/7 考查学院数量算进去往届和缺考的吗
|
|
|
List<TBExamStudent> tbExamStudentList = tbExamStudentService.list(new QueryWrapper<TBExamStudent>().lambda()
|
|
|
.eq(TBExamStudent::getExamId, examId).eq(TBExamStudent::getCourseCode, effectiveCourseCode));
|
|
|
|
|
@@ -413,7 +420,6 @@ public class AnalyzeForReportServiceImpl implements AnalyzeForReportService {
|
|
|
double median = MathUtil.calculateQuantile(assignedScoreList, QuantileEnum.MEDIAN.getValue());
|
|
|
double lowerQuartile = MathUtil.calculateQuantile(assignedScoreList, QuantileEnum.LOWER_QUARTILE.getValue());
|
|
|
|
|
|
- // TODO: 2021/6/7 缺考的学院信息处理
|
|
|
if (effectiveList.size() == 0) {
|
|
|
minScore = 0;
|
|
|
maxScore = 0;
|
|
@@ -606,7 +612,6 @@ public class AnalyzeForReportServiceImpl implements AnalyzeForReportService {
|
|
|
// 计算每个模块在此次考试中所占分数
|
|
|
Map<String, Object> everyModuleTotalScore = this.handleEveryPointTotalScore(moduleToPaper);
|
|
|
|
|
|
- // TODO: 2021/6/7 数据组装
|
|
|
// 7.计算每个考生各个考查点和考查模块得分率并更新't_a_exam_course_record_dio'表和't_a_exam_course_record_mod'表
|
|
|
List<TAExamCourseRecordDio> taExamCourseRecordDioList = new ArrayList<>();
|
|
|
List<TAExamCourseRecordMod> taExamCourseRecordModList = new ArrayList<>();
|
|
@@ -854,6 +859,22 @@ public class AnalyzeForReportServiceImpl implements AnalyzeForReportService {
|
|
|
return "'t_a_exam_course_teacher_dio'表构建完成 ";
|
|
|
}
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @Override
|
|
|
+ public String buildAnalyzeExamCourseTeacherCollegeDio(Long examId, String courseCode) {
|
|
|
+ // 可分析有效课程信息
|
|
|
+ List<String> effectiveCourseCodeList = tbExamCourseService.findEffectiveByExamId(examId, courseCode);
|
|
|
+ for (String effectiveCourseCode : effectiveCourseCodeList) {
|
|
|
+ // 删除原有数据
|
|
|
+ taExamCourseTeacherCollegeDioService.remove(new QueryWrapper<TAExamCourseTeacherCollegeDio>().lambda()
|
|
|
+ .eq(TAExamCourseTeacherCollegeDio::getExamId,examId)
|
|
|
+ .eq(TAExamCourseTeacherCollegeDio::getCourseCode,effectiveCourseCode));
|
|
|
+
|
|
|
+ taExamCourseTeacherCollegeDioService.insertByTAExamCourseRecordDio(examId, effectiveCourseCode);
|
|
|
+ }
|
|
|
+ return "'t_a_exam_course_teacher_college_dio'表构建完成 ";
|
|
|
+ }
|
|
|
+
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public String buildAnalyzePaperStruct(Long examId, String courseCode) {
|
|
@@ -944,6 +965,119 @@ public class AnalyzeForReportServiceImpl implements AnalyzeForReportService {
|
|
|
return " 't_a_paper_struct'表构建成功 ";
|
|
|
}
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @Override
|
|
|
+ public String buildAnalyzeCollegePaperStruct(Long examId, String courseCode) {
|
|
|
+ // 可分析有效课程信息
|
|
|
+ List<String> effectiveCourseCodeList = tbExamCourseService.findEffectiveByExamId(examId, courseCode);
|
|
|
+ for (String effectiveCourseCode : effectiveCourseCodeList) {
|
|
|
+ List<TBPaper> tbPaperList = tbPaperService.list(new QueryWrapper<TBPaper>().lambda()
|
|
|
+ .eq(TBPaper::getExamId, examId).eq(TBPaper::getCourseCode, effectiveCourseCode));
|
|
|
+ if (tbPaperList.size() == 0) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("基础试卷信息异常");
|
|
|
+ }
|
|
|
+ // 删除原有数据
|
|
|
+ taExamCourseCollegePaperStructService.remove(new QueryWrapper<TAExamCourseCollegePaperStruct>().lambda()
|
|
|
+ .eq(TAExamCourseCollegePaperStruct::getExamId, examId)
|
|
|
+ .eq(TAExamCourseCollegePaperStruct::getCourseCode, effectiveCourseCode));
|
|
|
+ List<TAExamCourseCollegePaperStruct> taExamCourseCollegePaperStructList = new ArrayList<>();
|
|
|
+ // 该课程有效试卷结构数据
|
|
|
+ List<ValidAnswerDetailDto> answerDetailDtoList = tbAnswerService.findValid(examId, effectiveCourseCode);
|
|
|
+ for (TBPaper tbPaper : tbPaperList) {
|
|
|
+ Long paperId = tbPaper.getId();
|
|
|
+ String paperType = tbPaper.getPaperType();
|
|
|
+
|
|
|
+ // 参考该试卷的考察学院id集合
|
|
|
+ Set<Long> inspectCollegeIdSet = answerDetailDtoList.stream()
|
|
|
+ .filter(e -> paperId.equals(e.getPaperId()))
|
|
|
+ .map(ValidAnswerDetailDto::getInspectCollegeId)
|
|
|
+ .collect(Collectors.toSet());
|
|
|
+
|
|
|
+ List<TBPaperStruct> tbPaperStructList = tbPaperStructService.list(new QueryWrapper<TBPaperStruct>().lambda()
|
|
|
+ .eq(TBPaperStruct::getPaperId, paperId));
|
|
|
+ if (tbPaperStructList.size() == 0) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("试卷结构数据异常");
|
|
|
+ }
|
|
|
+ for (Long inspectCollegeId : inspectCollegeIdSet) {
|
|
|
+ String inspectCollegeName = sysOrgService.getById(inspectCollegeId).getName();
|
|
|
+ for (TBPaperStruct paperStruct : tbPaperStructList) {
|
|
|
+ String numberType = paperStruct.getNumberType();
|
|
|
+ String mainNumber = paperStruct.getBigQuestionNumber();
|
|
|
+ String subNumber = paperStruct.getSmallQuestionNumber();
|
|
|
+
|
|
|
+ List<ValidAnswerDetailDto> oneQuestionAnswerDetailList = answerDetailDtoList
|
|
|
+ .stream().filter(e -> paperType.equals(e.getPaperType()) &&
|
|
|
+ inspectCollegeId.equals(e.getInspectCollegeId()) &&
|
|
|
+ numberType.equals(e.getNumberType()) &&
|
|
|
+ mainNumber.equals(e.getMainNumber()) &&
|
|
|
+ subNumber.equals(e.getSubNumber())).collect(Collectors.toList()); //某学院某道小题的所有参考学生作答信息(并且按照该科目的参考学生百分等级从高到低排序了)
|
|
|
+ if (oneQuestionAnswerDetailList.size() == 0){
|
|
|
+ System.out.println("异常");
|
|
|
+ }
|
|
|
+ BigDecimal fullScore = paperStruct.getFullScore();
|
|
|
+ PaperStructJudgeEnum paperStructJudgeEnum;
|
|
|
+ if (oneQuestionAnswerDetailList.stream().anyMatch(e -> fullScore.compareTo(e.getScore()) != 0)){
|
|
|
+ paperStructJudgeEnum = PaperStructJudgeEnum.NOT_QUITE_RIGHT;
|
|
|
+ }else {
|
|
|
+ paperStructJudgeEnum = PaperStructJudgeEnum.ALL_CORRECT;
|
|
|
+ }
|
|
|
+
|
|
|
+ DoubleSummaryStatistics descriptiveStatistics = oneQuestionAnswerDetailList.stream()
|
|
|
+ .collect(Collectors.summarizingDouble(e -> e.getScore().doubleValue()));
|
|
|
+
|
|
|
+ double scoreAvg = descriptiveStatistics.getAverage();
|
|
|
+ BigDecimal standardScoreRate = BigDecimal.valueOf(scoreAvg).divide(fullScore, 4, BigDecimal.ROUND_HALF_UP);
|
|
|
+ BigDecimal scoreRate = standardScoreRate.setScale(1, BigDecimal.ROUND_HALF_UP);
|
|
|
+ String difficult = this.analyzeDifficult(examId, effectiveCourseCode, scoreRate.doubleValue());
|
|
|
+
|
|
|
+ TAExamCourseCollegePaperStruct taExamCourseCollegePaperStruct = new TAExamCourseCollegePaperStruct();
|
|
|
+ taExamCourseCollegePaperStruct.setId(SystemConstant.getDbUuid());
|
|
|
+ taExamCourseCollegePaperStruct.setPaperStructId(paperStruct.getId());
|
|
|
+ taExamCourseCollegePaperStruct.setExamId(examId);
|
|
|
+ taExamCourseCollegePaperStruct.setSchoolId(tbExamService.getById(examId).getSchoolId());
|
|
|
+ taExamCourseCollegePaperStruct.setCourseCode(effectiveCourseCode);
|
|
|
+ taExamCourseCollegePaperStruct.setCourseName(basicCourseService.findByCourseCode(effectiveCourseCode).getName());
|
|
|
+ taExamCourseCollegePaperStruct.setPaperId(paperId);
|
|
|
+ taExamCourseCollegePaperStruct.setInspectCollegeId(inspectCollegeId);
|
|
|
+ taExamCourseCollegePaperStruct.setInspectCollegeName(inspectCollegeName);
|
|
|
+ taExamCourseCollegePaperStruct.setPaperType(paperType);
|
|
|
+ taExamCourseCollegePaperStruct.setQuestionName(paperStruct.getQuestionName());
|
|
|
+ taExamCourseCollegePaperStruct.setNumberType(paperStruct.getNumberType());
|
|
|
+ taExamCourseCollegePaperStruct.setBigQuestionNumber(paperStruct.getBigQuestionNumber());
|
|
|
+ taExamCourseCollegePaperStruct.setSmallQuestionNumber(paperStruct.getSmallQuestionNumber());
|
|
|
+ taExamCourseCollegePaperStruct.setQuestionType(paperStruct.getQuestionType());
|
|
|
+ taExamCourseCollegePaperStruct.setFullScore(paperStruct.getFullScore());
|
|
|
+ taExamCourseCollegePaperStruct.setScoreRules(paperStruct.getScoreRules());
|
|
|
+ taExamCourseCollegePaperStruct.setRulesDesc(paperStruct.getRulesDesc());
|
|
|
+ taExamCourseCollegePaperStruct.setKnowledgeDimension(paperStruct.getKnowledgeDimension());
|
|
|
+ taExamCourseCollegePaperStruct.setAbilityDimension(paperStruct.getAbilityDimension());
|
|
|
+ taExamCourseCollegePaperStruct.setLiteracyDimension(paperStruct.getLiteracyDimension());
|
|
|
+ taExamCourseCollegePaperStruct.setStandardScoreRate(standardScoreRate);
|
|
|
+ taExamCourseCollegePaperStruct.setScoreRate(scoreRate);
|
|
|
+ taExamCourseCollegePaperStruct.setDifficult(difficult);
|
|
|
+ taExamCourseCollegePaperStruct.setPaperStructJudge(paperStructJudgeEnum);
|
|
|
+ taExamCourseCollegePaperStructList.add(taExamCourseCollegePaperStruct);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ taExamCourseCollegePaperStructService.saveBatch(taExamCourseCollegePaperStructList);
|
|
|
+ }
|
|
|
+ return " 't_a_paper_struct'表构建成功 ";
|
|
|
+ }
|
|
|
+
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @Override
|
|
|
+ public String buildAnalyzeTeacherPaperStruct(Long examId, String courseCode) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @Override
|
|
|
+ public String buildAnalyzeTeacherCollegePaperStruct(Long examId, String courseCode) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public String buildExamPaperDifficult(Long examId, String courseCode) {
|
|
@@ -1125,6 +1259,126 @@ public class AnalyzeForReportServiceImpl implements AnalyzeForReportService {
|
|
|
return "'t_a_exam_course_teacher_difficult' 表构建完成";
|
|
|
}
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @Override
|
|
|
+ public String buildAnalyzeExamCourseTeacherCollegeDifficult(Long examId, String courseCode) {
|
|
|
+ // 可分析有效课程信息
|
|
|
+ List<String> effectiveCourseCodeList = tbExamCourseService.findEffectiveByExamId(examId, courseCode);
|
|
|
+
|
|
|
+ for (String effectiveCourseCode : effectiveCourseCodeList) {
|
|
|
+ taExamCourseTeacherCollegeDifficultService.remove(new QueryWrapper<TAExamCourseTeacherCollegeDifficult>().lambda()
|
|
|
+ .eq(TAExamCourseTeacherCollegeDifficult::getExamId, examId)
|
|
|
+ .eq(TAExamCourseTeacherCollegeDifficult::getCourseCode, effectiveCourseCode));
|
|
|
+
|
|
|
+ List<TAExamCourseTeacherCollegeDifficult> taExamCourseTeacherCollegeDifficultList = new ArrayList<>();
|
|
|
+
|
|
|
+ List<TBCommonLevelConfig> configLevelDatasource = tbCommonLevelConfigService.list(new QueryWrapper<TBCommonLevelConfig>().lambda()
|
|
|
+ .eq(TBCommonLevelConfig::getExamId, examId)
|
|
|
+ .eq(TBCommonLevelConfig::getCourseCode, effectiveCourseCode)
|
|
|
+ .eq(TBCommonLevelConfig::getLevelType, "难度等级"));// 该科目试题难度情况数据源
|
|
|
+
|
|
|
+ List<TAPaperStruct> questionDatasource = taPaperStructService.list(new QueryWrapper<TAPaperStruct>().lambda()
|
|
|
+ .eq(TAPaperStruct::getExamId, examId).eq(TAPaperStruct::getCourseCode, effectiveCourseCode));// 该科目试题情况数据源
|
|
|
+
|
|
|
+ LinkedList<AnswerDetailBean> answerDetailDatasource = tbAnswerService.findValidAnswerDetailWithPap(examId, effectiveCourseCode);
|
|
|
+ Set<Long> paperTypeList = questionDatasource.stream().map(TAPaperStruct::getPaperId).collect(Collectors.toSet());
|
|
|
+
|
|
|
+ for (Long paperId : paperTypeList) {
|
|
|
+ for (TBCommonLevelConfig levelTemp : configLevelDatasource) {
|
|
|
+ String interpret = levelTemp.getInterpret();
|
|
|
+ String scope = levelTemp.getScope();
|
|
|
+
|
|
|
+ List<TAPaperStruct> questionList = questionDatasource.stream()
|
|
|
+ .filter(e -> paperId.equals(e.getPaperId()) && interpret.equals(e.getDifficult()))
|
|
|
+ .collect(Collectors.toList()); // 题目信息
|
|
|
+
|
|
|
+ // 学院id集合
|
|
|
+ List<Long> collegeIdList = taExamCourseRecordService.list(new QueryWrapper<TAExamCourseRecord>().lambda()
|
|
|
+ .eq(TAExamCourseRecord::getExamId, examId)
|
|
|
+ .eq(TAExamCourseRecord::getCourseCode, effectiveCourseCode)
|
|
|
+ .eq(TAExamCourseRecord::getPaperId, paperId)
|
|
|
+ .eq(TAExamCourseRecord::getAbsent, false)
|
|
|
+ .eq(TAExamCourseRecord::getStudentCurrent, true))
|
|
|
+ .stream()
|
|
|
+ .map(TAExamCourseRecord::getInspectCollegeId).distinct()
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ // 学校作答集合
|
|
|
+ List<AnswerDetailBean> answerDetailForSch = answerDetailDatasource.stream()
|
|
|
+ .filter(e -> paperId.equals(e.getPaperId()) && interpret.equals(e.getDifficult()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ double schAvgScoreRate = 0;
|
|
|
+ if (answerDetailForSch.size() > 0) {
|
|
|
+ schAvgScoreRate = answerDetailForSch.stream().collect(Collectors.summarizingDouble(e -> e.getAnswerScore().doubleValue())).getSum() / answerDetailForSch.stream().collect(Collectors.summarizingDouble(e -> e.getFullScore().doubleValue())).getSum();
|
|
|
+ }
|
|
|
+
|
|
|
+ for (Long collegeId : collegeIdList) {
|
|
|
+ String collegeName = sysOrgService.getById(collegeId).getName();
|
|
|
+ // 考察学院作答集合
|
|
|
+ List<AnswerDetailBean> answerDetailForCol = answerDetailForSch.stream()
|
|
|
+ .filter(e -> collegeId.equals(e.getCollegeId())).collect(Collectors.toList());
|
|
|
+
|
|
|
+ double colAvgScoreRate = 0;
|
|
|
+ if (answerDetailForCol.size() > 0){
|
|
|
+ colAvgScoreRate = answerDetailForCol.stream().collect(Collectors.summarizingDouble(e -> e.getAnswerScore().doubleValue())).getSum() / answerDetailForCol.stream().collect(Collectors.summarizingDouble(e -> e.getFullScore().doubleValue())).getSum();
|
|
|
+ }
|
|
|
+
|
|
|
+ // 教师id集合
|
|
|
+ List<Long> teacherIdList = taExamCourseRecordService.list(new QueryWrapper<TAExamCourseRecord>().lambda()
|
|
|
+ .eq(TAExamCourseRecord::getExamId, examId)
|
|
|
+ .eq(TAExamCourseRecord::getCourseCode, effectiveCourseCode)
|
|
|
+ .eq(TAExamCourseRecord::getPaperId, paperId)
|
|
|
+ .eq(TAExamCourseRecord::getInspectCollegeId,collegeId)
|
|
|
+ .eq(TAExamCourseRecord::getAbsent, false)
|
|
|
+ .eq(TAExamCourseRecord::getStudentCurrent, true))
|
|
|
+ .stream()
|
|
|
+ .map(TAExamCourseRecord::getTeacherId).distinct()
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ for (Long teacherId : teacherIdList) {
|
|
|
+ List<AnswerDetailBean> answerDetailForColTea = answerDetailForCol.stream()
|
|
|
+ .filter(e -> teacherId.equals(e.getTeacherId())).collect(Collectors.toList());
|
|
|
+
|
|
|
+ double teaColAvgScoreRate = 0;
|
|
|
+ if (answerDetailForColTea.size() > 0) {
|
|
|
+ teaColAvgScoreRate = answerDetailForColTea.stream().collect(Collectors.summarizingDouble(e -> e.getAnswerScore().doubleValue())).getSum() / answerDetailForColTea.stream().collect(Collectors.summarizingDouble(e -> e.getFullScore().doubleValue())).getSum();
|
|
|
+ }
|
|
|
+
|
|
|
+ // 得分率保留2位小数处理
|
|
|
+ Integer count = questionList.size();
|
|
|
+ TAExamCourseTeacherCollegeDifficult taExamCourseTeacherCollegeDifficult = new TAExamCourseTeacherCollegeDifficult();
|
|
|
+ taExamCourseTeacherCollegeDifficult.setId(SystemConstant.getDbUuid());
|
|
|
+ taExamCourseTeacherCollegeDifficult.setExamId(examId);
|
|
|
+ taExamCourseTeacherCollegeDifficult.setPaperId(paperId);
|
|
|
+ taExamCourseTeacherCollegeDifficult.setPaperType(tbPaperService.getById(paperId).getPaperType());
|
|
|
+ taExamCourseTeacherCollegeDifficult.setCourseCode(effectiveCourseCode);
|
|
|
+ taExamCourseTeacherCollegeDifficult.setCourseName(basicCourseService.findByCourseCode(effectiveCourseCode).getName());
|
|
|
+ taExamCourseTeacherCollegeDifficult.setTeacherId(teacherId);
|
|
|
+ taExamCourseTeacherCollegeDifficult.setTeacherName(sysUserService.getById(teacherId).getRealName());
|
|
|
+ taExamCourseTeacherCollegeDifficult.setInspectCollegeId(collegeId);
|
|
|
+ taExamCourseTeacherCollegeDifficult.setInspectCollegeName(collegeName);
|
|
|
+ taExamCourseTeacherCollegeDifficult.setSchoolId(tbExamService.getById(examId).getSchoolId());
|
|
|
+ taExamCourseTeacherCollegeDifficult.setInterpret(interpret);
|
|
|
+ taExamCourseTeacherCollegeDifficult.setCount(count);
|
|
|
+ taExamCourseTeacherCollegeDifficult.setScope(scope);
|
|
|
+ taExamCourseTeacherCollegeDifficult.setColAvgScoreRate(BigDecimal.valueOf(colAvgScoreRate));
|
|
|
+ taExamCourseTeacherCollegeDifficult.setTeaColAvgScoreRate(BigDecimal.valueOf(teaColAvgScoreRate));
|
|
|
+
|
|
|
+ taExamCourseTeacherCollegeDifficultList.add(taExamCourseTeacherCollegeDifficult);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ taExamCourseTeacherCollegeDifficultService.saveBatch(taExamCourseTeacherCollegeDifficultList);
|
|
|
+ }
|
|
|
+
|
|
|
+ return "'t_a_exam_course_teacher_college_difficult' 表构建完成";
|
|
|
+ }
|
|
|
+
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public String buildAnalyzeExamTotal(Long examId) {
|
|
@@ -1137,7 +1391,6 @@ public class AnalyzeForReportServiceImpl implements AnalyzeForReportService {
|
|
|
.eq(TAExamCourseRecord::getExamId, examId));
|
|
|
|
|
|
//考查学院
|
|
|
- // TODO: 2021/6/8 是否计算只有缺考的学院 是否计算只有往届的学院
|
|
|
List<Long> inspectCollegeInfo = taExamCourseRecordList.stream()
|
|
|
.map(TAExamCourseRecord::getInspectCollegeId).distinct().collect(Collectors.toList());
|
|
|
// 考查学院数量
|