|
@@ -4,12 +4,15 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
|
+import com.qmth.teachcloud.common.entity.SysOrg;
|
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
|
+import com.qmth.teachcloud.common.service.SysOrgService;
|
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
|
import com.qmth.teachcloud.report.business.bean.result.*;
|
|
|
import com.qmth.teachcloud.report.business.entity.TAExamCourse;
|
|
|
import com.qmth.teachcloud.report.business.entity.TAExamCourseRecord;
|
|
|
+import com.qmth.teachcloud.report.business.entity.TBExam;
|
|
|
import com.qmth.teachcloud.report.business.entity.TBPaper;
|
|
|
import com.qmth.teachcloud.report.business.enums.PublishStatusEnum;
|
|
|
import com.qmth.teachcloud.report.business.enums.SemesterEnum;
|
|
@@ -17,6 +20,7 @@ import com.qmth.teachcloud.report.business.mapper.TAExamCourseMapper;
|
|
|
import com.qmth.teachcloud.report.business.mapper.TAExamCourseRecordMapper;
|
|
|
import com.qmth.teachcloud.report.business.service.ReportCommonService;
|
|
|
import com.qmth.teachcloud.report.business.service.TAExamCourseService;
|
|
|
+import com.qmth.teachcloud.report.business.service.TBExamService;
|
|
|
import com.qmth.teachcloud.report.business.service.TBPaperService;
|
|
|
import org.springframework.cache.annotation.Cacheable;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -50,7 +54,10 @@ public class TAExamCourseServiceImpl extends ServiceImpl<TAExamCourseMapper, TAE
|
|
|
TBPaperService tbPaperService;
|
|
|
|
|
|
@Resource
|
|
|
- TAExamCourseService taExamCourseService;
|
|
|
+ SysOrgService sysOrgService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ TBExamService tbExamService;
|
|
|
|
|
|
/**
|
|
|
* 开课课程考试总览列表接口
|
|
@@ -65,7 +72,7 @@ public class TAExamCourseServiceImpl extends ServiceImpl<TAExamCourseMapper, TAE
|
|
|
public IPage<TAExamCourseResult> surveyTeacherList(IPage<Map> iPage, Long examId, SemesterEnum semester, Long schoolId) {
|
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
Long collegeId = sysUser.getOrgId();
|
|
|
- return taExamCourseMapper.surveyTeacherList(iPage, examId, Objects.nonNull(semester) ? semester.name() : null, schoolId,collegeId);
|
|
|
+ return taExamCourseMapper.surveyTeacherList(iPage, examId, Objects.nonNull(semester) ? semester.name() : null, schoolId, collegeId);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -88,7 +95,17 @@ public class TAExamCourseServiceImpl extends ServiceImpl<TAExamCourseMapper, TAE
|
|
|
*/
|
|
|
@Override
|
|
|
public IPage<TAExamCourseResult> surveyAspointsList(IPage<Map> iPage, Long schoolId, Long examId, String courseCode, PublishStatusEnum publishStatus, SemesterEnum semester) {
|
|
|
- return taExamCourseMapper.surveyAspointsList(iPage, schoolId, examId, courseCode, Objects.nonNull(publishStatus) ? publishStatus.name() : null, Objects.nonNull(semester) ? semester.name() : null);
|
|
|
+ SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
+ QueryWrapper<SysOrg> sysOrgQueryWrapper = new QueryWrapper<>();
|
|
|
+ sysOrgQueryWrapper.lambda().eq(SysOrg::getParentId, sysUser.getOrgId())
|
|
|
+ .eq(SysOrg::getEnable, true);
|
|
|
+ List<SysOrg> sysOrgList = sysOrgService.list(sysOrgQueryWrapper);
|
|
|
+ if (Objects.nonNull(sysOrgList) && sysOrgList.size() > 0) {
|
|
|
+ List<Long> collegeIds = sysOrgList.stream().map(s -> s.getId()).collect(Collectors.toList());
|
|
|
+ return taExamCourseMapper.surveyAspointsList(iPage, schoolId, examId, courseCode, Objects.nonNull(publishStatus) ? publishStatus.name() : null, Objects.nonNull(semester) ? semester.name() : null, collegeIds);
|
|
|
+ } else {
|
|
|
+ return taExamCourseMapper.surveyAspointsList(iPage, schoolId, examId, courseCode, Objects.nonNull(publishStatus) ? publishStatus.name() : null, Objects.nonNull(semester) ? semester.name() : null, Arrays.asList(sysUser.getOrgId()));
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -164,6 +181,9 @@ public class TAExamCourseServiceImpl extends ServiceImpl<TAExamCourseMapper, TAE
|
|
|
if (Objects.isNull(sysUser)) {
|
|
|
throw ExceptionResultEnum.NOT_LOGIN.exception();
|
|
|
}
|
|
|
+ // 考试概况
|
|
|
+ TeachCourseSurveyResult teachCourseSurveyResult = this.getTeachCourseSurveyInfo(semester, examId, courseCode);
|
|
|
+
|
|
|
//取总体和应届平均分
|
|
|
SurveyTeacherExamCourseResult surveyTeacherExamCourseResult = reportCommonService.findAvgScore(schoolId, courseCode, examId);
|
|
|
|
|
@@ -171,7 +191,7 @@ public class TAExamCourseServiceImpl extends ServiceImpl<TAExamCourseMapper, TAE
|
|
|
List<SurveyTeacherGradeDistributionResult> surveyTeacherGradeDistributionResultList = reportCommonService.surveyTeacherDistribution(examId, courseCode, sysUser.getOrgId());
|
|
|
//查找题目信息
|
|
|
QuestionListResult questionListResult = reportCommonService.findQuestionInfo(examId, courseCode, sysUser.getOrgId());
|
|
|
- return new SurveyTeacherViewResult(surveyTeacherGradeDistributionResultList, questionListResult, surveyTeacherExamCourseResult);
|
|
|
+ return new SurveyTeacherViewResult(surveyTeacherGradeDistributionResultList, questionListResult, surveyTeacherExamCourseResult,teachCourseSurveyResult);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -241,9 +261,9 @@ public class TAExamCourseServiceImpl extends ServiceImpl<TAExamCourseMapper, TAE
|
|
|
for (TAExamCourseRecord taExamCourseRecord : taExamCourseRecordList) {
|
|
|
BigDecimal paperScore = taExamCourseRecord.getTotalScore();
|
|
|
BigDecimal assignScore;
|
|
|
- if (coefficient.compareTo(BigDecimal.ZERO) != 0){
|
|
|
- assignScore = paperScore.add((fullScore.subtract(paperScore)).divide(coefficient, 4, BigDecimal.ROUND_HALF_UP));
|
|
|
- }else {
|
|
|
+ if (coefficient.compareTo(BigDecimal.ZERO) != 0) {
|
|
|
+ assignScore = paperScore.add((fullScore.subtract(paperScore)).divide(coefficient, 4, BigDecimal.ROUND_HALF_UP));
|
|
|
+ } else {
|
|
|
assignScore = paperScore;
|
|
|
}
|
|
|
|
|
@@ -307,9 +327,29 @@ public class TAExamCourseServiceImpl extends ServiceImpl<TAExamCourseMapper, TAE
|
|
|
return trialCalculationResult;
|
|
|
}
|
|
|
|
|
|
-// @Override
|
|
|
-// public TeachCourseSurveyResult getTeachCourseSurveyInfo(SemesterEnum semester, Long examId, String courseCode) {
|
|
|
-// Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
-// return taExamCourseMapper.getOverview(schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, courseCode);
|
|
|
-// }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取开课课程考试课程总览
|
|
|
+ * @param semester 学期
|
|
|
+ * @param examId 考试id
|
|
|
+ * @param courseCode 课程编号
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ private TeachCourseSurveyResult getTeachCourseSurveyInfo(SemesterEnum semester, Long examId, String courseCode) {
|
|
|
+ TBExam tbExam = tbExamService.getById(examId);
|
|
|
+
|
|
|
+ TAExamCourse taExamCourse = this.getOne(new QueryWrapper<TAExamCourse>().lambda().eq(TAExamCourse::getExamId,examId).eq(TAExamCourse::getCourseCode,courseCode));
|
|
|
+ TeachCourseSurveyResult teachCourseSurveyResult = new TeachCourseSurveyResult();
|
|
|
+ teachCourseSurveyResult.setExamTime(tbExam.getExamTime());
|
|
|
+ teachCourseSurveyResult.setCourseCode(taExamCourse.getCourseCode());
|
|
|
+ teachCourseSurveyResult.setCourseName(taExamCourse.getCourseName());
|
|
|
+ teachCourseSurveyResult.setFullScore(taExamCourse.getTotalScore());
|
|
|
+ teachCourseSurveyResult.setRealityCount(taExamCourse.getRealityCount());
|
|
|
+ teachCourseSurveyResult.setInspectCollegeCount(taExamCourse.getInspectCollegeCount());
|
|
|
+ teachCourseSurveyResult.setAbsentCount(taExamCourse.getAbsentCount());
|
|
|
+ teachCourseSurveyResult.setCoefficient(taExamCourse.getCoefficient());
|
|
|
+ teachCourseSurveyResult.setTeachCollegeName(taExamCourse.getTeachCollegeName());
|
|
|
+ teachCourseSurveyResult.setInspectCollegeNames(taExamCourse.getInspectCollegeNames());
|
|
|
+ return teachCourseSurveyResult;
|
|
|
+ }
|
|
|
}
|