Browse Source

Merge branch 'dev_v2.1.0' of http://git.qmth.com.cn/wangliang/distributed-print-service into dev_v2.1.0

xiaof 4 years ago
parent
commit
8f8c10c6f8

+ 11 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysOrgService.java

@@ -22,10 +22,19 @@ public interface SysOrgService extends IService<SysOrg> {
 
     /**
      * 根据外键查找学院信息
-     * @param schoolId 学校id
+     *
+     * @param schoolId    学校id
      * @param collegeCode 学院编号
      * @param collegeName 学院名称
      * @return 学院数据
      */
-    SysOrg findByForeignKey(Long schoolId,String collegeCode,String collegeName);
+    SysOrg findByForeignKey(Long schoolId, String collegeCode, String collegeName);
+
+    /**
+     * 查询机构ids
+     *
+     * @param orgId
+     * @return
+     */
+    List<Long> findCollegeIds(Long orgId);
 }

+ 20 - 4
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysOrgServiceImpl.java

@@ -15,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -100,12 +101,27 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
     @Override
     public SysOrg findByForeignKey(Long schoolId, String collegeCode, String collegeName) {
         List<SysOrg> tbSchoolCollegeList = this.list(new QueryWrapper<SysOrg>().lambda()
-                .eq(SysOrg::getSchoolId,schoolId)
-                .eq(SysOrg::getCode,collegeCode)
-                .eq(SysOrg::getName,collegeName));
-        if (tbSchoolCollegeList.size() != 1){
+                .eq(SysOrg::getSchoolId, schoolId)
+                .eq(SysOrg::getCode, collegeCode)
+                .eq(SysOrg::getName, collegeName));
+        if (tbSchoolCollegeList.size() != 1) {
             throw ExceptionResultEnum.ERROR.exception("学院基础数据信息异常");
         }
         return tbSchoolCollegeList.get(0);
     }
+
+    /**
+     * 查询机构ids
+     *
+     * @param orgId
+     * @return
+     */
+    @Override
+    public List<Long> findCollegeIds(Long orgId) {
+        QueryWrapper<SysOrg> sysOrgQueryWrapper = new QueryWrapper<>();
+        sysOrgQueryWrapper.lambda().eq(SysOrg::getParentId, orgId)
+                .eq(SysOrg::getEnable, true);
+        List<SysOrg> sysOrgList = this.list(sysOrgQueryWrapper);
+        return Objects.nonNull(sysOrgList) ? sysOrgList.stream().map(s -> s.getId()).collect(Collectors.toList()) : null;
+    }
 }

+ 28 - 28
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/TBExamStudentResult.java

@@ -17,10 +17,10 @@ import java.io.Serializable;
 public class TBExamStudentResult extends TBExamStudent implements Serializable {
 
     @ApiModelProperty(value = "开课学院名称")
-    private String teachCollegeName;
+    private String teacherCollegeName;
 
     @ApiModelProperty(value = "开课学院编码")
-    private String teachCollegeCode;
+    private String teacherCollegeCode;
 
     @ApiModelProperty(value = "考查学院名称")
     private String inspectCollegeName;
@@ -29,10 +29,10 @@ public class TBExamStudentResult extends TBExamStudent implements Serializable {
     private String inspectCollegeCode;
 
     @ApiModelProperty(value = "教师姓名")
-    private String teachName;
+    private String teacherName;
 
     @ApiModelProperty(value = "教师编码")
-    private String teachCode;
+    private String teacherCode;
 
     @ApiModelProperty(value = "班级名称")
     private String clazzName;
@@ -56,14 +56,6 @@ public class TBExamStudentResult extends TBExamStudent implements Serializable {
         this.clazzCode = clazzCode;
     }
 
-    public String getTeachCollegeName() {
-        return teachCollegeName;
-    }
-
-    public void setTeachCollegeName(String teachCollegeName) {
-        this.teachCollegeName = teachCollegeName;
-    }
-
     public String getInspectCollegeName() {
         return inspectCollegeName;
     }
@@ -72,14 +64,6 @@ public class TBExamStudentResult extends TBExamStudent implements Serializable {
         this.inspectCollegeName = inspectCollegeName;
     }
 
-    public String getTeachCollegeCode() {
-        return teachCollegeCode;
-    }
-
-    public void setTeachCollegeCode(String teachCollegeCode) {
-        this.teachCollegeCode = teachCollegeCode;
-    }
-
     public String getInspectCollegeCode() {
         return inspectCollegeCode;
     }
@@ -88,19 +72,35 @@ public class TBExamStudentResult extends TBExamStudent implements Serializable {
         this.inspectCollegeCode = inspectCollegeCode;
     }
 
-    public String getTeachName() {
-        return teachName;
+    public String getTeacherCollegeName() {
+        return teacherCollegeName;
+    }
+
+    public void setTeacherCollegeName(String teacherCollegeName) {
+        this.teacherCollegeName = teacherCollegeName;
+    }
+
+    public String getTeacherCollegeCode() {
+        return teacherCollegeCode;
+    }
+
+    public void setTeacherCollegeCode(String teacherCollegeCode) {
+        this.teacherCollegeCode = teacherCollegeCode;
+    }
+
+    public String getTeacherName() {
+        return teacherName;
     }
 
-    public void setTeachName(String teachName) {
-        this.teachName = teachName;
+    public void setTeacherName(String teacherName) {
+        this.teacherName = teacherName;
     }
 
-    public String getTeachCode() {
-        return teachCode;
+    public String getTeacherCode() {
+        return teacherCode;
     }
 
-    public void setTeachCode(String teachCode) {
-        this.teachCode = teachCode;
+    public void setTeacherCode(String teacherCode) {
+        this.teacherCode = teacherCode;
     }
 }

+ 36 - 16
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/TeachCollegeResult.java

@@ -1,6 +1,10 @@
 package com.qmth.teachcloud.report.business.bean.result;
 
 import com.qmth.teachcloud.common.annotation.ExcelProperty;
+import com.qmth.teachcloud.common.contant.SystemConstant;
+
+import java.math.BigDecimal;
+import java.util.Objects;
 
 /**
  * @Date: 2021/6/8.
@@ -25,13 +29,13 @@ public class TeachCollegeResult {
     @ExcelProperty(name = "考试类型", width = 30, index = 8)
     private String currentStr;
     @ExcelProperty(name = "客观总分", width = 30, index = 9)
-    private String objectiveScore;
+    private BigDecimal objectiveScore;
     @ExcelProperty(name = "主观总分", width = 30, index = 10)
-    private String subjectiveScore;
+    private BigDecimal subjectiveScore;
     @ExcelProperty(name = "卷面总分", width = 30, index = 11)
-    private Integer totalScore;
+    private BigDecimal totalScore;
     @ExcelProperty(name = "赋分总分", width = 30, index = 12)
-    private Integer assignedScore;
+    private BigDecimal assignedScore;
     private String clazzCode;
     @ExcelProperty(name = "班级", width = 30, index = 13)
     private String clazzName;
@@ -106,35 +110,51 @@ public class TeachCollegeResult {
         this.current = current;
     }
 
-    public String getObjectiveScore() {
-        return objectiveScore;
+    public BigDecimal getObjectiveScore() {
+        if (Objects.nonNull(objectiveScore)) {
+            return objectiveScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return objectiveScore;
+        }
     }
 
-    public void setObjectiveScore(String objectiveScore) {
+    public void setObjectiveScore(BigDecimal objectiveScore) {
         this.objectiveScore = objectiveScore;
     }
 
-    public String getSubjectiveScore() {
-        return subjectiveScore;
+    public BigDecimal getSubjectiveScore() {
+        if (Objects.nonNull(subjectiveScore)) {
+            return subjectiveScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return subjectiveScore;
+        }
     }
 
-    public void setSubjectiveScore(String subjectiveScore) {
+    public void setSubjectiveScore(BigDecimal subjectiveScore) {
         this.subjectiveScore = subjectiveScore;
     }
 
-    public Integer getTotalScore() {
-        return totalScore;
+    public BigDecimal getTotalScore() {
+        if (Objects.nonNull(totalScore)) {
+            return totalScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return totalScore;
+        }
     }
 
-    public void setTotalScore(Integer totalScore) {
+    public void setTotalScore(BigDecimal totalScore) {
         this.totalScore = totalScore;
     }
 
-    public Integer getAssignedScore() {
-        return assignedScore;
+    public BigDecimal getAssignedScore() {
+        if (Objects.nonNull(assignedScore)) {
+            return assignedScore.setScale(SystemConstant.FINAL_SCALE, BigDecimal.ROUND_HALF_UP);
+        } else {
+            return assignedScore;
+        }
     }
 
-    public void setAssignedScore(Integer assignedScore) {
+    public void setAssignedScore(BigDecimal assignedScore) {
         this.assignedScore = assignedScore;
     }
 

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

@@ -21,7 +21,7 @@ import java.util.List;
  */
 public interface TAExamCourseCollegeTeacherMapper extends BaseMapper<TAExamCourseCollegeTeacher> {
 
-    IPage<TeacherClassRankResult> listClassRank(@Param("page") Page<TeacherClassRankResult> page, @Param("schoolId") Long schoolId, @Param("semester") String semester, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("inspectCollegeId") Long inspectCollegeId);
+    IPage<TeacherClassRankResult> listClassRank(@Param("page") Page<TeacherClassRankResult> page, @Param("schoolId") Long schoolId, @Param("semester") String semester, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("inspectCollegeId") Long inspectCollegeId,@Param("collegeIds") List<Long> collegeIds);
 
     IPage<TeacherMyClassRankResult> listMyClassRank(@Param("page") Page<TeacherMyClassRankResult> page, @Param("schoolId") Long schoolId, @Param("semester") String semester, @Param("examId") Long examId, @Param("teacherId") Long teacherId, @Param("courseCode") String courseCode, @Param("inspectCollegeId") Long inspectCollegeId);
 

+ 12 - 2
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamCourseCollegeTeacherServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.teachcloud.common.entity.SysUser;
+import com.qmth.teachcloud.common.service.SysOrgService;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import com.qmth.teachcloud.report.business.bean.result.TAExamCourseTeacherResult;
 import com.qmth.teachcloud.report.business.bean.result.TeacherClassRankResult;
@@ -15,6 +16,7 @@ import com.qmth.teachcloud.report.business.service.TAExamCourseCollegeTeacherSer
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Objects;
 
@@ -32,12 +34,20 @@ public class TAExamCourseCollegeTeacherServiceImpl extends ServiceImpl<TAExamCou
     @Resource
     private TAExamCourseCollegeTeacherMapper taExamCourseCollegeTeacherMapper;
 
+    @Resource
+    SysOrgService sysOrgService;
+
     @Override
     public IPage<TeacherClassRankResult> listClassRank(SemesterEnum semester, Long examId, String courseCode, Long inspectCollegeId, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Page<TeacherClassRankResult> page = new Page<>(pageNumber, pageSize);
-        IPage<TeacherClassRankResult> listPage = taExamCourseCollegeTeacherMapper.listClassRank(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, courseCode, inspectCollegeId);
-        return listPage;
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        List<Long> collegeIds = sysOrgService.findCollegeIds(sysUser.getOrgId());
+        if (Objects.nonNull(collegeIds) && collegeIds.size() > 0) {
+            return taExamCourseCollegeTeacherMapper.listClassRank(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, courseCode, inspectCollegeId, collegeIds);
+        } else {
+            return taExamCourseCollegeTeacherMapper.listClassRank(page, schoolId, Objects.nonNull(semester) ? semester.name() : null, examId, courseCode, inspectCollegeId, Arrays.asList(sysUser.getOrgId()));
+        }
     }
 
     @Override

+ 2 - 6
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamCourseServiceImpl.java

@@ -96,12 +96,8 @@ 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) {
         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());
+        List<Long> collegeIds = sysOrgService.findCollegeIds(sysUser.getOrgId());
+        if (Objects.nonNull(collegeIds) && collegeIds.size() > 0) {
             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()));

+ 2 - 6
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TBExamCourseServiceImpl.java

@@ -108,12 +108,8 @@ public class TBExamCourseServiceImpl extends ServiceImpl<TBExamCourseMapper, TBE
     @Override
     public List<TBExamCourseResult> findCourseList(Long schoolId, Long examId, boolean inspect) {
         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());
+        List<Long> collegeIds = sysOrgService.findCollegeIds(sysUser.getOrgId());
+        if (Objects.nonNull(collegeIds) && collegeIds.size() > 0) {
             return tbExamCourseMapper.findCourseList(schoolId, examId, inspect, collegeIds);
         } else {
             return tbExamCourseMapper.findCourseList(schoolId, examId, inspect, Arrays.asList(sysUser.getOrgId()));

+ 7 - 0
teachcloud-report-business/src/main/resources/mapper/TAExamCourseCollegeTeacherMapper.xml

@@ -31,6 +31,12 @@
             <if test="inspectCollegeId != null">
                 and a.inspect_college_id = #{inspectCollegeId}
             </if>
+            <if test="collegeIds != null and collegeIds != ''">
+                and a.teach_college_id in
+                <foreach collection="collegeIds" item="collegeId" index="index" open="(" separator="," close=")">
+                    #{collegeId}
+                </foreach>
+            </if>
         </where>
     </select>
 
@@ -146,6 +152,7 @@
             </if>
         </where>
     </select>
+
     <select id="listTeacherClassRank"
             resultType="com.qmth.teachcloud.report.business.bean.result.TeacherClassRankResult">
         SELECT

+ 1 - 4
teachcloud-report-business/src/main/resources/mapper/TBExamStudentMapper.xml

@@ -47,7 +47,7 @@
     <select id="selectTeachList" resultType="com.qmth.teachcloud.report.business.bean.result.TBExamStudentResult">
         select
         DISTINCT tbes.teacher_id as teacherId,
-        su.real_name as teachName
+        su.real_name as teacherName
         from
         t_b_exam_student tbes
         join sys_user su on
@@ -127,9 +127,6 @@
             <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>