Parcourir la source

Merge branch 'dev_v2.1.0' into release_v2.1.0
merge

wangliang il y a 4 ans
Parent
commit
aca8a9bd18

+ 12 - 11
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/SurveyTeacherViewResult.java

@@ -23,25 +23,18 @@ public class SurveyTeacherViewResult implements Serializable {
     @ApiModelProperty(value = "分数分布")
     private SurveyTeacherExamCourseResult surveyTeacher;
 
-//    @ApiModelProperty(value = "开课学院考试概况")
-//    private TeachCourseSurveyResult teachCourseSurveyResult;
+    @ApiModelProperty(value = "开课学院考试概况")
+    private TeachCourseSurveyResult teachCourseSurveyResult;
 
     public SurveyTeacherViewResult() {
 
     }
-//
-//    public SurveyTeacherViewResult(List<SurveyTeacherGradeDistributionResult> gradeDistribution, QuestionListResult questionInfo, SurveyTeacherExamCourseResult surveyTeacher, TeachCourseSurveyResult teachCourseSurveyResult) {
-//        this.gradeDistribution = gradeDistribution;
-//        this.questionInfo = questionInfo;
-//        this.surveyTeacher = surveyTeacher;
-//        this.teachCourseSurveyResult = teachCourseSurveyResult;
-//    }
 
-
-    public SurveyTeacherViewResult(List<SurveyTeacherGradeDistributionResult> gradeDistribution, QuestionListResult questionInfo, SurveyTeacherExamCourseResult surveyTeacher) {
+    public SurveyTeacherViewResult(List<SurveyTeacherGradeDistributionResult> gradeDistribution, QuestionListResult questionInfo, SurveyTeacherExamCourseResult surveyTeacher, TeachCourseSurveyResult teachCourseSurveyResult) {
         this.gradeDistribution = gradeDistribution;
         this.questionInfo = questionInfo;
         this.surveyTeacher = surveyTeacher;
+        this.teachCourseSurveyResult = teachCourseSurveyResult;
     }
 
     public List<SurveyTeacherGradeDistributionResult> getGradeDistribution() {
@@ -67,4 +60,12 @@ public class SurveyTeacherViewResult implements Serializable {
     public void setSurveyTeacher(SurveyTeacherExamCourseResult surveyTeacher) {
         this.surveyTeacher = surveyTeacher;
     }
+
+    public TeachCourseSurveyResult getTeachCourseSurveyResult() {
+        return teachCourseSurveyResult;
+    }
+
+    public void setTeachCourseSurveyResult(TeachCourseSurveyResult teachCourseSurveyResult) {
+        this.teachCourseSurveyResult = teachCourseSurveyResult;
+    }
 }

+ 85 - 6
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/TeachCourseSurveyResult.java

@@ -22,14 +22,14 @@ public class TeachCourseSurveyResult {
     @ApiModelProperty(value = "满分")
     private BigDecimal fullScore;
 
-    @ApiModelProperty(value = "全校应届实考")
-    private int schCurrentRealityCount;
+    @ApiModelProperty(value = "有效实考人数")
+    private int realityCount;
 
-    @ApiModelProperty(value = "本院应届实考")
-    private int colCurrentRealityCount;
+    @ApiModelProperty(value = "考察学院数量")
+    private int inspectCollegeCount;
 
-    @ApiModelProperty(value = "本院应届缺考")
-    private int colCurrentAbsentCount;
+    @ApiModelProperty(value = "缺考人数")
+    private int absentCount;
 
     @ApiModelProperty(value = "赋分系数")
     private BigDecimal coefficient;
@@ -40,4 +40,83 @@ public class TeachCourseSurveyResult {
     @ApiModelProperty(value = "考察学院集合")
     private String inspectCollegeNames;
 
+    public String getExamTime() {
+        return examTime;
+    }
+
+    public void setExamTime(String examTime) {
+        this.examTime = examTime;
+    }
+
+    public String getCourseName() {
+        return courseName;
+    }
+
+    public void setCourseName(String courseName) {
+        this.courseName = courseName;
+    }
+
+    public String getCourseCode() {
+        return courseCode;
+    }
+
+    public void setCourseCode(String courseCode) {
+        this.courseCode = courseCode;
+    }
+
+    public BigDecimal getFullScore() {
+        return fullScore;
+    }
+
+    public void setFullScore(BigDecimal fullScore) {
+        this.fullScore = fullScore;
+    }
+
+    public int getRealityCount() {
+        return realityCount;
+    }
+
+    public void setRealityCount(int realityCount) {
+        this.realityCount = realityCount;
+    }
+
+    public int getInspectCollegeCount() {
+        return inspectCollegeCount;
+    }
+
+    public void setInspectCollegeCount(int inspectCollegeCount) {
+        this.inspectCollegeCount = inspectCollegeCount;
+    }
+
+    public int getAbsentCount() {
+        return absentCount;
+    }
+
+    public void setAbsentCount(int absentCount) {
+        this.absentCount = absentCount;
+    }
+
+    public BigDecimal getCoefficient() {
+        return coefficient;
+    }
+
+    public void setCoefficient(BigDecimal coefficient) {
+        this.coefficient = coefficient;
+    }
+
+    public String getTeachCollegeName() {
+        return teachCollegeName;
+    }
+
+    public void setTeachCollegeName(String teachCollegeName) {
+        this.teachCollegeName = teachCollegeName;
+    }
+
+    public String getInspectCollegeNames() {
+        return inspectCollegeNames;
+    }
+
+    public void setInspectCollegeNames(String inspectCollegeNames) {
+        this.inspectCollegeNames = inspectCollegeNames;
+    }
 }

+ 4 - 1
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/mapper/TAExamCourseMapper.java

@@ -10,6 +10,7 @@ import com.qmth.teachcloud.report.business.entity.TAExamCourse;
 import com.qmth.teachcloud.report.business.enums.SemesterEnum;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -44,12 +45,14 @@ public interface TAExamCourseMapper extends BaseMapper<TAExamCourse> {
      * @param examId
      * @param courseCode
      * @param publishStatus
+     * @param collegeIds
      * @return
      */
     IPage<TAExamCourseResult> surveyAspointsList(IPage<Map> iPage, @Param("schoolId") Long schoolId, @Param("examId") Long examId,
                                                  @Param("courseCode") String courseCode,
                                                  @Param("publishStatus") String publishStatus,
-                                                 @Param("semester") String semester);
+                                                 @Param("semester") String semester,
+                                                 @Param("collegeIds") List<Long> collegeIds);
 
     Map<String, String> getScoreAndRate(@Param("schoolId") Long schoolId, @Param("semester") String semester, @Param("examId") Long examId, @Param("courseCode") String courseCode);
 

+ 1 - 1
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/mapper/TBExamStudentMapper.java

@@ -75,7 +75,7 @@ public interface TBExamStudentMapper extends BaseMapper<TBExamStudent> {
      * @param studentParam
      * @return
      */
-    IPage<TeachCollegeResult> listTeachCollegeResult(@Param("page") Page<TeachCollegeResult> page, @Param("schoolId") Long schoolId, @Param("semester") String semester, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("current") Boolean current, @Param("inspectCollegeId") Long inspectCollegeId, @Param("teacherId") Long teacherId, @Param("studentParam") String studentParam);
+    IPage<TeachCollegeResult> listTeachCollegeResult(@Param("page") Page<TeachCollegeResult> page, @Param("schoolId") Long schoolId, @Param("semester") String semester, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("current") Boolean current, @Param("inspectCollegeId") Long inspectCollegeId,@Param("teachCollegeId") Long teachCollegeId, @Param("teacherId") Long teacherId, @Param("studentParam") String studentParam);
 
     List<TeachCollegeResult> listTeachCollegeResult(@Param("schoolId") Long schoolId, @Param("semester") String semester, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("current") Boolean current, @Param("inspectCollegeId") Long inspectCollegeId, @Param("teacherId") Long teacherId, @Param("studentParam") String studentParam);
 

+ 0 - 9
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/TAExamCourseService.java

@@ -118,13 +118,4 @@ public interface TAExamCourseService extends IService<TAExamCourse> {
      * @return 结果
      */
     TrialCalculationResult trialCalculate(Long examId, String courseCode, BigDecimal coefficient);
-
-//    /**
-//     * 开课课程考试概况查询
-//     * @param semester 学期
-//     * @param examId 考试id
-//     * @param courseCode 课程编号
-//     * @return 结果
-//     */
-//    TeachCourseSurveyResult getTeachCourseSurveyInfo(SemesterEnum semester, Long examId, String courseCode);
 }

+ 52 - 12
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamCourseServiceImpl.java

@@ -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;
+    }
 }

+ 4 - 1
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TBExamStudentServiceImpl.java

@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.google.common.collect.Lists;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicCourse;
+import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.service.BasicCourseService;
 import com.qmth.teachcloud.common.util.ExcelUtil;
@@ -131,9 +132,11 @@ public class TBExamStudentServiceImpl extends ServiceImpl<TBExamStudentMapper, T
 
     @Override
     public IPage<TeachCollegeResult> listTeachCollegeResult(String semester, Long examId, String courseCode, Boolean current, Long inspectCollegeId, Long teacherId, String studentParam, Integer pageNumber, Integer pageSize) {
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        Long orgId = sysUser.getOrgId();
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Page<TeachCollegeResult> page = new Page<>(pageNumber, pageSize);
-        IPage<TeachCollegeResult> listPage = tbExamStudentMapper.listTeachCollegeResult(page, schoolId, semester, examId, courseCode, current, inspectCollegeId, teacherId, studentParam);
+        IPage<TeachCollegeResult> listPage = tbExamStudentMapper.listTeachCollegeResult(page, schoolId, semester, examId, courseCode, current, inspectCollegeId,orgId, teacherId, studentParam);
         return listPage;
     }
 

+ 6 - 0
teachcloud-report-business/src/main/resources/mapper/TAExamCourseMapper.xml

@@ -76,6 +76,12 @@
             <if test="publishStatus != null and publishStatus != ''">
                 and tbec.publish_status = #{publishStatus}
             </if>
+            <if test="collegeIds != null and collegeIds != ''">
+                    and taec.teach_college_id in
+                <foreach collection="collegeIds" item="collegeId" index="index" open="(" separator="," close=")">
+                    #{collegeId}
+                </foreach>
+            </if>
         </where>
     </select>
 

+ 3 - 0
teachcloud-report-business/src/main/resources/mapper/TBExamStudentMapper.xml

@@ -127,6 +127,9 @@
             <if test="inspectCollegeId != null">
                 and a.inspect_college_id = #{inspectCollegeId}
             </if>
+            <if test="teachCollegeId != null">
+                and a.teach_college_id = #{teachCollegeId}
+            </if>
             <if test="teacherId != null">
                 and a.teacher_id = #{teacherId}
             </if>