瀏覽代碼

课程目标达成度修改

wangliang 1 年之前
父節點
當前提交
f886676735

+ 18 - 6
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/ScoreResult.java

@@ -37,8 +37,12 @@ public class ScoreResult implements Serializable {
     private String paperNumber;
 
     @JsonSerialize(using = ToStringSerializer.class)
-    @ApiModelProperty(value = "教学课程id")
-    private Long teachCourseId;
+    @ApiModelProperty(value = "培养方案id")
+    private Long cultureProgramId;
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty(value = "课程id")
+    private Long courseId;
 
     @ApiModelProperty(value = "用户名称")
     private String userName;
@@ -46,12 +50,20 @@ public class ScoreResult implements Serializable {
     @ApiModelProperty(value = "用户登陆名")
     private String userLoginName;
 
-    public Long getTeachCourseId() {
-        return teachCourseId;
+    public Long getCultureProgramId() {
+        return cultureProgramId;
+    }
+
+    public void setCultureProgramId(Long cultureProgramId) {
+        this.cultureProgramId = cultureProgramId;
+    }
+
+    public Long getCourseId() {
+        return courseId;
     }
 
-    public void setTeachCourseId(Long teachCourseId) {
-        this.teachCourseId = teachCourseId;
+    public void setCourseId(Long courseId) {
+        this.courseId = courseId;
     }
 
     public String getUserName() {

+ 18 - 18
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/TCFinalScore.java

@@ -72,7 +72,7 @@ public class TCFinalScore extends BaseEntity implements Serializable {
 
     }
 
-    public TCFinalScore(Long cultureProgramId,Long courseId, String courseCode, String courseName, String paperNumber, SourceEnum source, Long userId) {
+    public TCFinalScore(Long cultureProgramId, Long courseId, String courseCode, String courseName, String paperNumber, SourceEnum source, Long userId) {
         insertInfo(userId);
         this.cultureProgramId = cultureProgramId;
         this.courseId = courseId;
@@ -83,7 +83,7 @@ public class TCFinalScore extends BaseEntity implements Serializable {
         this.enable = true;
     }
 
-    public TCFinalScore(MarkStudentScoreVo markStudentScoreVo, String scoreDetail, SourceEnum source, Long userId, Long cultureProgramId,Long courseId) {
+    public TCFinalScore(MarkStudentScoreVo markStudentScoreVo, String scoreDetail, SourceEnum source, Long userId, Long cultureProgramId, Long courseId) {
         insertInfo(userId);
         this.examId = markStudentScoreVo.getExamId();
         this.courseCode = markStudentScoreVo.getCourseCode();
@@ -202,20 +202,20 @@ public class TCFinalScore extends BaseEntity implements Serializable {
         this.enable = enable;
     }
 
-//    @Override
-//    public boolean equals(Object o) {
-//        if (this == o) {
-//            return true;
-//        }
-//        if (o == null || getClass() != o.getClass()) {
-//            return false;
-//        }
-//        TCFinalScore that = (TCFinalScore) o;
-//        return examId.equals(that.examId) && courseCode.equals(that.courseCode) && Objects.equals(courseName, that.courseName) && Objects.equals(paperNumber, that.paperNumber) && teachCourseId.equals(that.teachCourseId) && name.equals(that.name) && studentCode.equals(that.studentCode) && score.equals(that.score) && scoreDetail.equals(that.scoreDetail) && enable.equals(that.enable) && Objects.equals(getCreateId(), that.getCreateId());
-//    }
-//
-//    @Override
-//    public int hashCode() {
-//        return Objects.hash(examId, courseCode, courseName, paperNumber, teachCourseId, name, studentCode, score, scoreDetail, enable, getCreateId());
-//    }
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (o == null || getClass() != o.getClass()) {
+            return false;
+        }
+        TCFinalScore that = (TCFinalScore) o;
+        return cultureProgramId.equals(that.cultureProgramId) && courseCode.equals(that.courseCode) && Objects.equals(courseName, that.courseName) && Objects.equals(paperNumber, that.paperNumber) && courseId.equals(that.courseId) && name.equals(that.name) && studentCode.equals(that.studentCode) && score.equals(that.score) && scoreDetail.equals(that.scoreDetail) && enable.equals(that.enable) && Objects.equals(getCreateId(), that.getCreateId());
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(cultureProgramId, courseCode, courseName, paperNumber, courseId, name, studentCode, score, scoreDetail, enable, getCreateId());
+    }
 }

+ 20 - 19
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/TCPaperStruct.java

@@ -9,6 +9,7 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
+import java.util.Objects;
 
 /**
  * <p>
@@ -69,7 +70,7 @@ public class TCPaperStruct extends BaseEntity implements Serializable {
 
     }
 
-    public TCPaperStruct(Long cultureProgramId,Long courseId, String courseCode, String courseName, String paperNumber, String paperStructDimension, Long userId, Long dimensionSign) {
+    public TCPaperStruct(Long cultureProgramId, Long courseId, String courseCode, String courseName, String paperNumber, String paperStructDimension, Long userId, Long dimensionSign) {
         insertInfo(userId);
         this.cultureProgramId = cultureProgramId;
         this.courseId = courseId;
@@ -81,7 +82,7 @@ public class TCPaperStruct extends BaseEntity implements Serializable {
         this.dimensionSign = dimensionSign;
     }
 
-    public TCPaperStruct(Long cultureProgramId,Long courseId, String courseCode, String courseName, String paperNumber, String paperStruct, Double totalScore, Double passScore, Long userId) {
+    public TCPaperStruct(Long cultureProgramId, Long courseId, String courseCode, String courseName, String paperNumber, String paperStruct, Double totalScore, Double passScore, Long userId) {
         insertInfo(userId);
         this.cultureProgramId = cultureProgramId;
         this.courseId = courseId;
@@ -99,7 +100,7 @@ public class TCPaperStruct extends BaseEntity implements Serializable {
         updateInfo(userId);
     }
 
-    public TCPaperStruct(Long cultureProgramId,Long courseId, String courseCode, String courseName, String paperNumber, String paperStruct, Long userId) {
+    public TCPaperStruct(Long cultureProgramId, Long courseId, String courseCode, String courseName, String paperNumber, String paperStruct, Long userId) {
         insertInfo(userId);
         this.cultureProgramId = cultureProgramId;
         this.courseId = courseId;
@@ -206,20 +207,20 @@ public class TCPaperStruct extends BaseEntity implements Serializable {
         this.paperStructDimension = paperStructDimension;
     }
 
-//    @Override
-//    public boolean equals(Object o) {
-//        if (this == o) {
-//            return true;
-//        }
-//        if (o == null || getClass() != o.getClass()) {
-//            return false;
-//        }
-//        TCPaperStruct that = (TCPaperStruct) o;
-//        return examId.equals(that.examId) && courseCode.equals(that.courseCode) && Objects.equals(courseName, that.courseName) && Objects.equals(paperNumber, that.paperNumber) && teachCourseId.equals(that.teachCourseId) && Objects.equals(paperStruct, that.paperStruct) && Objects.equals(paperStructDimension, that.paperStructDimension) && Objects.equals(getCreateId(), that.getCreateId());
-//    }
-//
-//    @Override
-//    public int hashCode() {
-//        return Objects.hash(examId, courseCode, courseName, paperNumber, teachCourseId, paperStruct, paperStructDimension, getCreateId());
-//    }
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (o == null || getClass() != o.getClass()) {
+            return false;
+        }
+        TCPaperStruct that = (TCPaperStruct) o;
+        return cultureProgramId.equals(that.cultureProgramId) && courseCode.equals(that.courseCode) && Objects.equals(courseName, that.courseName) && Objects.equals(paperNumber, that.paperNumber) && courseId.equals(that.courseId) && Objects.equals(paperStruct, that.paperStruct) && Objects.equals(paperStructDimension, that.paperStructDimension) && Objects.equals(getCreateId(), that.getCreateId());
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(cultureProgramId, courseCode, courseName, paperNumber, courseId, paperStruct, paperStructDimension, getCreateId());
+    }
 }

+ 1 - 14
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/TRBasicInfo.java

@@ -99,15 +99,11 @@ public class TRBasicInfo extends BaseEntity implements Serializable {
     @TableField(exist = false)
     private ReportResult reportResult;
 
-    @JsonSerialize(using = ToStringSerializer.class)
-    @ApiModelProperty(value = "教学课程id")
-    private Long teachCourseId;
-
     public TRBasicInfo() {
 
     }
 
-    public TRBasicInfo(Long cultureProgramId,Long courseId, String courseCode, String courseName, String paperNumber, String openTime, String teachingObject, String teacher, Integer participantCount, Long userId) {
+    public TRBasicInfo(Long cultureProgramId, Long courseId, String courseCode, String courseName, String paperNumber, String openTime, String teachingObject, String teacher, Integer participantCount, Long userId) {
         insertInfo(userId);
         this.cultureProgramId = cultureProgramId;
         this.courseId = courseId;
@@ -138,7 +134,6 @@ public class TRBasicInfo extends BaseEntity implements Serializable {
         this.courseCode = trBasicInfo.getCourseCode();
         this.courseName = trBasicInfo.getCourseName();
         this.paperNumber = trBasicInfo.getPaperNumber();
-        this.teachCourseId = trBasicInfo.getTeachCourseId();
         this.courseType = trBasicInfo.getCourseType();
         this.credit = trBasicInfo.getCredit();
         this.period = trBasicInfo.getPeriod();
@@ -185,14 +180,6 @@ public class TRBasicInfo extends BaseEntity implements Serializable {
         this.courseId = courseId;
     }
 
-    public Long getTeachCourseId() {
-        return teachCourseId;
-    }
-
-    public void setTeachCourseId(Long teachCourseId) {
-        this.teachCourseId = teachCourseId;
-    }
-
     public ReportResult getReportResult() {
         return reportResult;
     }

+ 12 - 8
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/TCFinalScoreMapper.java

@@ -27,10 +27,11 @@ public interface TCFinalScoreMapper extends BaseMapper<TCFinalScore> {
      * @param examId
      * @param courseCode
      * @param paperNumber
-     * @param teachCourseId
+     * @param cultureProgramId
+     * @param courseId
      * @return
      */
-    public IPage<TCFinalScore> finalScoreList(IPage<Map> iPage, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("teachCourseId") Long teachCourseId);
+    public IPage<TCFinalScore> finalScoreList(IPage<Map> iPage, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("cultureProgramId") Long cultureProgramId, @Param("courseId") Long courseId);
 
     /**
      * 查找期末成绩分数图
@@ -38,10 +39,11 @@ public interface TCFinalScoreMapper extends BaseMapper<TCFinalScore> {
      * @param examId
      * @param courseCode
      * @param paperNumber
-     * @param teachCourseId
+     * @param cultureProgramId
+     * @param courseId
      * @return
      */
-    public FinalScoreDto finalScoreScoreOverView(@Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("teachCourseId") Long teachCourseId);
+    public FinalScoreDto finalScoreScoreOverView(@Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("cultureProgramId") Long cultureProgramId, @Param("courseId") Long courseId);
 
     /**
      * 查找期末成绩分数区间
@@ -49,12 +51,13 @@ public interface TCFinalScoreMapper extends BaseMapper<TCFinalScore> {
      * @param examId
      * @param courseCode
      * @param paperNumber
-     * @param teachCourseId
+     * @param cultureProgramId
+     * @param courseId
      * @param start
      * @param end
      * @return
      */
-    public int getCountByScoreRange(@Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("teachCourseId") Long teachCourseId, @Param("start") Double start, @Param("end") Double end);
+    public int getCountByScoreRange(@Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("cultureProgramId") Long cultureProgramId, @Param("courseId") Long courseId, @Param("start") Double start, @Param("end") Double end);
 
     /**
      * 查找考生成绩
@@ -62,8 +65,9 @@ public interface TCFinalScoreMapper extends BaseMapper<TCFinalScore> {
      * @param examId
      * @param courseCode
      * @param paperNumber
-     * @param teachCourseId
+     * @param cultureProgramId
+     * @param courseId
      * @return
      */
-    public List<FinalScoreResult> examStudentOverview(@Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("teachCourseId") Long teachCourseId);
+    public List<FinalScoreResult> examStudentOverview(@Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("cultureProgramId") Long cultureProgramId, @Param("courseId") Long courseId);
 }

+ 17 - 9
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/TCFinalScoreService.java

@@ -23,6 +23,7 @@ public interface TCFinalScoreService extends IService<TCFinalScore> {
 
     /**
      * 导入期末成绩excel
+     *
      * @param file
      * @param examId
      * @param courseId
@@ -31,7 +32,7 @@ public interface TCFinalScoreService extends IService<TCFinalScore> {
      * @return
      * @throws IOException
      */
-    public Map<String, String> finalScoreExcelImport(MultipartFile file, Long examId,Long courseId, String paperNumber, Long cultureProgramId) throws IOException;
+    public Map<String, String> finalScoreExcelImport(MultipartFile file, Long examId, Long courseId, String paperNumber, Long cultureProgramId) throws IOException;
 
     /**
      * 期末成绩列表(分页)
@@ -40,10 +41,11 @@ public interface TCFinalScoreService extends IService<TCFinalScore> {
      * @param examId
      * @param courseCode
      * @param paperNumber
-     * @param obeCourseOutlineId
+     * @param cultureProgramId
+     * @param courseId
      * @return
      */
-    public IPage<TCFinalScore> finalScoreList(IPage<Map> iPage, Long examId, String courseCode, String paperNumber, Long obeCourseOutlineId);
+    public IPage<TCFinalScore> finalScoreList(IPage<Map> iPage, Long examId, String courseCode, String paperNumber, Long cultureProgramId, Long courseId);
 
     /**
      * 查找期末成绩分数图
@@ -51,10 +53,11 @@ public interface TCFinalScoreService extends IService<TCFinalScore> {
      * @param examId
      * @param courseCode
      * @param paperNumber
-     * @param obeCourseOutlineId
+     * @param cultureProgramId
+     * @param courseId
      * @return
      */
-    public FinalScoreDto finalScoreScoreOverView(Long examId, String courseCode, String paperNumber, Long obeCourseOutlineId);
+    public FinalScoreDto finalScoreScoreOverView(Long examId, String courseCode, String paperNumber, Long cultureProgramId, Long courseId);
 
     /**
      * 查找期末成绩分数区间
@@ -62,12 +65,13 @@ public interface TCFinalScoreService extends IService<TCFinalScore> {
      * @param examId
      * @param courseCode
      * @param paperNumber
-     * @param obeCourseOutlineId
+     * @param cultureProgramId
+     * @param courseId
      * @param start
      * @param end
      * @return
      */
-    public int getCountByScoreRange(Long examId, String courseCode, String paperNumber, Long obeCourseOutlineId, Double start, Double end);
+    public int getCountByScoreRange(Long examId, String courseCode, String paperNumber, Long cultureProgramId, Long courseId, Double start, Double end);
 
     /**
      * 查找考生成绩
@@ -75,13 +79,15 @@ public interface TCFinalScoreService extends IService<TCFinalScore> {
      * @param examId
      * @param courseCode
      * @param paperNumber
-     * @param obeCourseOutlineId
+     * @param cultureProgramId
+     * @param courseId
      * @return
      */
-    public List<FinalScoreResult> examStudentOverview(Long examId, String courseCode, String paperNumber, Long obeCourseOutlineId);
+    public List<FinalScoreResult> examStudentOverview(Long examId, String courseCode, String paperNumber, Long cultureProgramId, Long courseId);
 
     /**
      * 同步期末成绩
+     *
      * @param examId
      * @param courseId
      * @param paperNumber
@@ -93,6 +99,7 @@ public interface TCFinalScoreService extends IService<TCFinalScore> {
 
     /**
      * 根据考试id/课程编码/试卷编码删除数据
+     *
      * @param cultureProgramId
      * @param courseId
      * @param paperNumber
@@ -102,6 +109,7 @@ public interface TCFinalScoreService extends IService<TCFinalScore> {
 
     /**
      * 根据考试id/课程编码/试卷编码查询数据库数据
+     *
      * @param cultureProgramId
      * @param courseId
      * @param paperNumber

+ 1 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ObeCourseRequirementReportServiceImpl.java

@@ -91,8 +91,7 @@ public class ObeCourseRequirementReportServiceImpl extends ServiceImpl<ObeCourse
             Objects.requireNonNull(basicCourse, "科目信息为空");
             for (CourseRequirementMatrixDto c : courseRequirementMatrixDtoList) {
                 if (Objects.equals(c.getCourseCode(), basicCourse.getCode())) {
-                    // TODO: 2024/6/14 wl
-                    TRBasicInfo trBasicInfo = null;
+                    TRBasicInfo trBasicInfo = trBasicInfoService.queryBasicInfo(obeCourseOutlineId, obeCourseOutline.getCourseId(), null);
                     if (Objects.nonNull(trBasicInfo)) {
                         ReportCourseEvaluationResultDto reportCourseEvaluationResultDto = Objects.nonNull(trBasicInfo.getCourseEvaluationResult()) ? JSONObject.parseObject(trBasicInfo.getCourseEvaluationResult(), ReportCourseEvaluationResultDto.class) : null;
                         if (Objects.nonNull(reportCourseEvaluationResultDto)) {

+ 21 - 17
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TCFinalScoreServiceImpl.java

@@ -82,7 +82,7 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
 
     @Override
     @Transactional
-    public Map<String, String> finalScoreExcelImport(MultipartFile file, Long examId,Long courseId,String paperNumber, Long cultureProgramId) {
+    public Map<String, String> finalScoreExcelImport(MultipartFile file, Long examId, Long courseId, String paperNumber, Long cultureProgramId) {
         log.debug("导入Excel开始...");
         long start = System.currentTimeMillis();
         Map<String, String> messageMap = new LinkedHashMap<>();
@@ -119,7 +119,7 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
                         }
                         boolean error = false;
                         List<TCFinalScoreDto> tcFinalScoreDtoList = new ArrayList<>();
-                        TCFinalScore tcFinalScore = new TCFinalScore(cultureProgramId, courseId,null, markPaper.getCourseName(), paperNumber, SourceEnum.EXCEL_IMPORT, sysUser.getId());
+                        TCFinalScore tcFinalScore = new TCFinalScore(cultureProgramId, courseId, null, markPaper.getCourseName(), paperNumber, SourceEnum.EXCEL_IMPORT, sysUser.getId());
                         BigDecimal score = new BigDecimal(0);
                         for (int j = 0; j < strs.length; j++) {
                             if (Objects.isNull(strs[j]) || Objects.equals(strs[j].trim(), "")) {
@@ -166,7 +166,7 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
                 }
                 if (!CollectionUtils.isEmpty(tcFinalScoreList)) {
                     successData.add("共导入").add(tcFinalScoreList.size() + "").add("条数据");
-                    List<TCFinalScore> tcFinalScoreDbSourceList = tcFinalScoreService.queryFinalScore(cultureProgramId,courseId,paperNumber);
+                    List<TCFinalScore> tcFinalScoreDbSourceList = tcFinalScoreService.queryFinalScore(cultureProgramId, courseId, paperNumber);
                     if (CollectionUtils.isEmpty(tcFinalScoreDbSourceList) || !CollectionUtils.isEqualCollection(tcFinalScoreDbSourceList, tcFinalScoreList)) {
                         tcFinalScoreService.removeByIds(tcFinalScoreDbSourceList.stream().map(s -> s.getId()).collect(Collectors.toList()));
                         tcFinalScoreService.saveBatch(tcFinalScoreList);
@@ -201,12 +201,13 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
      * @param examId
      * @param courseCode
      * @param paperNumber
-     * @param obeCourseOutlineId
+     * @param cultureProgramId
+     * @param courseId
      * @return
      */
     @Override
-    public IPage<TCFinalScore> finalScoreList(IPage<Map> iPage, Long examId, String courseCode, String paperNumber, Long obeCourseOutlineId) {
-        return this.baseMapper.finalScoreList(iPage, examId, courseCode, paperNumber, obeCourseOutlineId);
+    public IPage<TCFinalScore> finalScoreList(IPage<Map> iPage, Long examId, String courseCode, String paperNumber, Long cultureProgramId, Long courseId) {
+        return this.baseMapper.finalScoreList(iPage, examId, courseCode, paperNumber, cultureProgramId, courseId);
     }
 
     /**
@@ -215,12 +216,13 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
      * @param examId
      * @param courseCode
      * @param paperNumber
-     * @param obeCourseOutlineId
+     * @param cultureProgramId
+     * @param courseId
      * @return
      */
     @Override
-    public FinalScoreDto finalScoreScoreOverView(Long examId, String courseCode, String paperNumber, Long obeCourseOutlineId) {
-        return this.baseMapper.finalScoreScoreOverView(examId, courseCode, paperNumber, obeCourseOutlineId);
+    public FinalScoreDto finalScoreScoreOverView(Long examId, String courseCode, String paperNumber, Long cultureProgramId, Long courseId) {
+        return this.baseMapper.finalScoreScoreOverView(examId, courseCode, paperNumber, cultureProgramId, courseId);
     }
 
     /**
@@ -229,14 +231,15 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
      * @param examId
      * @param courseCode
      * @param paperNumber
-     * @param obeCourseOutlineId
+     * @param cultureProgramId
+     * @param courseId
      * @param start
      * @param end
      * @return
      */
     @Override
-    public int getCountByScoreRange(Long examId, String courseCode, String paperNumber, Long obeCourseOutlineId, Double start, Double end) {
-        return this.baseMapper.getCountByScoreRange(examId, courseCode, paperNumber, obeCourseOutlineId, start, end);
+    public int getCountByScoreRange(Long examId, String courseCode, String paperNumber, Long cultureProgramId, Long courseId, Double start, Double end) {
+        return this.baseMapper.getCountByScoreRange(examId, courseCode, paperNumber, cultureProgramId, courseId, start, end);
     }
 
     /**
@@ -245,12 +248,13 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
      * @param examId
      * @param courseCode
      * @param paperNumber
-     * @param obeCourseOutlineId
+     * @param cultureProgramId
+     * @param courseId
      * @return
      */
     @Override
-    public List<FinalScoreResult> examStudentOverview(Long examId, String courseCode, String paperNumber, Long obeCourseOutlineId) {
-        return this.baseMapper.examStudentOverview(examId, courseCode, paperNumber, obeCourseOutlineId);
+    public List<FinalScoreResult> examStudentOverview(Long examId, String courseCode, String paperNumber, Long cultureProgramId, Long courseId) {
+        return this.baseMapper.examStudentOverview(examId, courseCode, paperNumber, cultureProgramId, courseId);
     }
 
     @Override
@@ -276,7 +280,7 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
                                 paperStructDimensionResultList.add(new PaperStructDimensionResult(scoreItem.getMainNumber(), scoreItem.getSubNumber(), paperNumber, scoreItem.getTotalScore()));
                             }
                         }
-                        tcFinalScoreList.add(new TCFinalScore(markStudentScoreVo, JacksonUtil.parseJson(tcFinalScoreDtoList), SourceEnum.SYNC, sysUser.getId(), cultureProgramId,courseId));
+                        tcFinalScoreList.add(new TCFinalScore(markStudentScoreVo, JacksonUtil.parseJson(tcFinalScoreDtoList), SourceEnum.SYNC, sysUser.getId(), cultureProgramId, courseId));
                     }
                 }
                 if (!CollectionUtils.isEmpty(tcFinalScoreList) && !CollectionUtils.isEmpty(paperStructDimensionResultList)) {
@@ -296,7 +300,7 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
                     } else {
                         BasicCourse basicCourse = basicCourseService.getById(courseId);
                         Objects.requireNonNull(basicCourse, "未找到基础课程信息");
-                        tcPaperStruct = new TCPaperStruct(cultureProgramId,courseId, basicCourse.getCode(), basicCourse.getName(), paperNumber, JacksonUtil.parseJson(paperStructDimensionResultList), sysUser.getId());
+                        tcPaperStruct = new TCPaperStruct(cultureProgramId, courseId, basicCourse.getCode(), basicCourse.getName(), paperNumber, JacksonUtil.parseJson(paperStructDimensionResultList), sysUser.getId());
                     }
                     tcPaperStructService.saveOrUpdate(tcPaperStruct);
                 }

+ 19 - 15
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TRBasicInfoServiceImpl.java

@@ -12,9 +12,11 @@ import com.google.gson.reflect.TypeToken;
 import com.qmth.distributed.print.business.bean.dto.*;
 import com.qmth.distributed.print.business.bean.dto.report.*;
 import com.qmth.distributed.print.business.bean.result.FinalScoreResult;
+import com.qmth.distributed.print.business.bean.result.ObeCourseOutlineResult;
 import com.qmth.distributed.print.business.bean.result.ObeCourseWeightResult;
 import com.qmth.distributed.print.business.bean.result.report.PaperStructDimensionResult;
 import com.qmth.distributed.print.business.bean.result.report.word.CourseReportBean;
+import com.qmth.distributed.print.business.entity.ObeCourseOutline;
 import com.qmth.distributed.print.business.entity.TCPaperStruct;
 import com.qmth.distributed.print.business.entity.TRBasicInfo;
 import com.qmth.distributed.print.business.entity.TRExamStudent;
@@ -106,7 +108,7 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
      */
     @Override
     public ReportScoreViewDto getScoreList(TRBasicInfo trBasicInfo, MarkPaper markPaper) {
-        FinalScoreDto finalScoreDto = tcFinalScoreService.finalScoreScoreOverView(trBasicInfo.getExamId(), trBasicInfo.getCourseCode(), trBasicInfo.getPaperNumber(), trBasicInfo.getTeachCourseId());
+        FinalScoreDto finalScoreDto = tcFinalScoreService.finalScoreScoreOverView(trBasicInfo.getExamId(), trBasicInfo.getCourseCode(), trBasicInfo.getPaperNumber(), trBasicInfo.getCultureProgramId(), trBasicInfo.getCourseId());
         Objects.requireNonNull(finalScoreDto, "未找到期末成绩分数信息");
 
         ReportScoreViewDto reportScoreViewDto = null;
@@ -115,7 +117,7 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
             BasicCourse basicCourse = basicCourseService.getByCode(trBasicInfo.getCourseCode());
             markPaper = new MarkPaper(markPaper.getExamId(), markPaper.getCourseCode(), basicCourse.getName(), markPaper.getPaperNumber(), tcPaperStruct.getTotalScore(), tcPaperStruct.getPassScore());
         }
-        fillScoreRange(finalScoreDto, trBasicInfo.getExamId(), trBasicInfo.getPaperNumber(), trBasicInfo.getTeachCourseId(), markPaper);
+        fillScoreRange(finalScoreDto, trBasicInfo.getExamId(), trBasicInfo.getPaperNumber(), trBasicInfo.getCultureProgramId(), trBasicInfo.getCourseId(), markPaper);
         List<ScoreRangeVo> scoreRangeVoList = finalScoreDto.getScoreRange();
         if (!CollectionUtils.isEmpty(scoreRangeVoList)) {
             Integer failCount = scoreRangeVoList.get(0).getStudentCount();//第一行数据默认为不及格
@@ -141,7 +143,7 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
     public Map<String, Object> getReportCalculateParams(TRBasicInfo trBasicInfo, List<PaperStructDimensionResult> paperStructDimensionResultList, ObeCourseWeightResult obeCourseWeightResult) {
         Map<String, Object> paramsMap = new HashMap<>();
         //查询考生数据
-        List<FinalScoreResult> finalScoreResultList = tcFinalScoreService.examStudentOverview(trBasicInfo.getExamId(), trBasicInfo.getCourseCode(), trBasicInfo.getPaperNumber(), trBasicInfo.getTeachCourseId());//考生成绩
+        List<FinalScoreResult> finalScoreResultList = tcFinalScoreService.examStudentOverview(trBasicInfo.getExamId(), trBasicInfo.getCourseCode(), trBasicInfo.getPaperNumber(), trBasicInfo.getCultureProgramId(), trBasicInfo.getCourseId());//考生成绩
         if (CollectionUtils.isEmpty(finalScoreResultList)) {
             throw ExceptionResultEnum.ERROR.exception("成绩数据异常,平时成绩与期末成绩里考生名单不一致,请检查");
         }
@@ -415,7 +417,7 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
      * @param markPaper
      * @param userId
      * @param obeCourseWeightResult
-     * @param obeCourseOutlineId
+     * @param cultureProgramId
      * @return
      */
     @Override
@@ -432,7 +434,7 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
         }
 
         if (Objects.isNull(trBasicInfo)) {
-            trBasicInfo = new TRBasicInfo(cultureProgramId,basicCourseService.findByCourseCode(markPaper.getCourseCode(), basicSemester.getSchoolId()).getId(), markPaper.getCourseCode(), markPaper.getCourseName(), markPaper.getPaperNumber(), basicSemester.getName(), teachingObject, teacher, null, userId);
+            trBasicInfo = new TRBasicInfo(cultureProgramId, basicCourseService.findByCourseCode(markPaper.getCourseCode(), basicSemester.getSchoolId()).getId(), markPaper.getCourseCode(), markPaper.getCourseName(), markPaper.getPaperNumber(), basicSemester.getName(), teachingObject, teacher, null, userId);
         } else {
             trBasicInfo.setBasicInfo(markPaper.getExamId(), markPaper.getCourseCode(), markPaper.getCourseName(), markPaper.getPaperNumber(), basicSemester.getName(), teachingObject, teacher, null);
         }
@@ -999,7 +1001,7 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
     @Override
     @Transactional
     public void clearReportData(Long cultureProgramId, Long courseId, String paperNumber, boolean clearDimension) {
-        trExamStudentService.remove(cultureProgramId,courseId, paperNumber);
+        trExamStudentService.remove(cultureProgramId, courseId, paperNumber);
         trBasicInfoService.remove(cultureProgramId, courseId, paperNumber);
         if (clearDimension) {
             TCPaperStruct tcPaperStruct = tcPaperStructService.queryPaperStruct(cultureProgramId, courseId, paperNumber);
@@ -1051,10 +1053,11 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
      * @param finalScoreDto
      * @param examId
      * @param paperNumber
-     * @param obeCourseOutlineId
+     * @param cultureProgramId
+     * @param courseId
      * @param markPaper
      */
-    protected void fillScoreRange(FinalScoreDto finalScoreDto, Long examId, String paperNumber, Long obeCourseOutlineId, MarkPaper markPaper) {
+    protected void fillScoreRange(FinalScoreDto finalScoreDto, Long examId, String paperNumber, Long cultureProgramId, Long courseId, MarkPaper markPaper) {
         //分数区间
         Double passScore = markPaper.getPassScore();//及格分
         Objects.requireNonNull(passScore, "及格分为空");
@@ -1068,20 +1071,20 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
         //开始、结束分数区间
         Double startInterval = 0.5d, endInterval = 9.5d, increaseStartScore = passScore - startInterval,
                 increaseEndScore = increaseStartScore + startInterval + endInterval;
-        scoreRange.add(getScoreRangeVo(finalScoreDto.getStudentCount(), examId, markPaper.getCourseCode(), paperNumber, obeCourseOutlineId, 1.0d, increaseStartScore));
+        scoreRange.add(getScoreRangeVo(finalScoreDto.getStudentCount(), examId, markPaper.getCourseCode(), paperNumber, cultureProgramId, courseId, 1.0d, increaseStartScore));
         increaseStartScore = increaseStartScore + startInterval;
         increaseEndScore = increaseStartScore + endInterval;
         if (totalScore.doubleValue() - increaseEndScore.doubleValue() == startInterval || increaseEndScore.doubleValue() >= totalScore.doubleValue()) {
             increaseEndScore = totalScore;
-            scoreRange.add(getScoreRangeVo(finalScoreDto.getStudentCount(), examId, markPaper.getCourseCode(), paperNumber, obeCourseOutlineId, increaseStartScore, increaseEndScore));
+            scoreRange.add(getScoreRangeVo(finalScoreDto.getStudentCount(), examId, markPaper.getCourseCode(), paperNumber, cultureProgramId, courseId, increaseStartScore, increaseEndScore));
         } else {
             while (increaseEndScore.doubleValue() < totalScore.doubleValue()) {
-                scoreRange.add(getScoreRangeVo(finalScoreDto.getStudentCount(), examId, markPaper.getCourseCode(), paperNumber, obeCourseOutlineId, increaseStartScore, increaseEndScore));
+                scoreRange.add(getScoreRangeVo(finalScoreDto.getStudentCount(), examId, markPaper.getCourseCode(), paperNumber, cultureProgramId, courseId, increaseStartScore, increaseEndScore));
                 increaseStartScore = increaseEndScore + startInterval;
                 increaseEndScore = increaseStartScore + endInterval;
                 if (totalScore.doubleValue() - increaseEndScore.doubleValue() == startInterval || increaseEndScore.doubleValue() >= totalScore.doubleValue()) {
                     increaseEndScore = totalScore;
-                    scoreRange.add(getScoreRangeVo(finalScoreDto.getStudentCount(), examId, markPaper.getCourseCode(), paperNumber, obeCourseOutlineId, increaseStartScore, increaseEndScore));
+                    scoreRange.add(getScoreRangeVo(finalScoreDto.getStudentCount(), examId, markPaper.getCourseCode(), paperNumber, cultureProgramId, courseId, increaseStartScore, increaseEndScore));
                 }
             }
         }
@@ -1198,13 +1201,14 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
      * @param examId
      * @param courseCode
      * @param paperNumber
-     * @param obeCourseOutlineId
+     * @param cultureProgramId
+     * @param courseId
      * @param start
      * @param end
      * @return
      */
-    protected ScoreRangeVo getScoreRangeVo(int toltal, Long examId, String courseCode, String paperNumber, Long obeCourseOutlineId, Double start, Double end) {
-        int count = tcFinalScoreService.getCountByScoreRange(examId, courseCode, paperNumber, obeCourseOutlineId, start, end);
+    protected ScoreRangeVo getScoreRangeVo(int toltal, Long examId, String courseCode, String paperNumber, Long cultureProgramId, Long courseId, Double start, Double end) {
+        int count = tcFinalScoreService.getCountByScoreRange(examId, courseCode, paperNumber, cultureProgramId, courseId, start, end);
         Double rate = null;
         if (toltal != 0) {
             rate = new BigDecimal(count).divide(new BigDecimal(toltal), 2, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP).multiply(SystemConstant.PERCENT).doubleValue();

+ 22 - 11
distributed-print-business/src/main/resources/mapper/TCFinalScoreMapper.xml

@@ -14,8 +14,11 @@
             <if test="paperNumber != null and paperNumber != ''">
                 and t.paper_number = #{paperNumber}
             </if>
-            <if test="obeCourseOutlineId != null and obeCourseOutlineId != ''">
-                and t.teach_course_id = #{obeCourseOutlineId}
+            <if test="cultureProgramId != null and cultureProgramId != ''">
+                and t.culture_program_id = #{cultureProgramId}
+            </if>
+            <if test="courseId != null and courseId != ''">
+                and t.course_id = #{courseId}
             </if>
         </where>
         order by t.student_code
@@ -27,7 +30,7 @@
             min(case when tcfs.score is not null then tcfs.score else null end) finalScoreMinScore,
             avg(case when tcfs.score is not null then tcfs.score else null end) finalScoreAvgScore
             from t_c_final_score tcfs
-            join t_c_usual_score tcus on tcfs.exam_id = tcus.exam_id and tcfs.course_code = tcus.course_code and tcfs.teach_course_id = tcus.teach_course_id and tcfs.student_code = tcus.student_code
+            join t_c_usual_score tcus on tcfs.exam_id = tcus.exam_id and tcfs.course_code = tcus.course_code and tcfs.course_id = tcus.course_id and tcfs.culture_program_id = tcus.culture_program_id and tcfs.student_code = tcus.student_code
         <where>
             <if test="examId != null and examId != ''">
                 and tcfs.exam_id = #{examId}
@@ -38,8 +41,11 @@
             <if test="paperNumber != null and paperNumber != ''">
                 and tcfs.paper_number = #{paperNumber}
             </if>
-            <if test="obeCourseOutlineId != null and obeCourseOutlineId != ''">
-                and tcfs.teach_course_id = #{obeCourseOutlineId}
+            <if test="cultureProgramId != null and cultureProgramId != ''">
+                and tcfs.culture_program_id = #{cultureProgramId}
+            </if>
+            <if test="courseId != null and courseId != ''">
+                and tcfs.course_id = #{courseId}
             </if>
                 and tcfs.enable = true and tcus.enable = true
         </where>
@@ -57,8 +63,11 @@
             <if test="paperNumber != null and paperNumber != ''">
                 and tcfs.paper_number = #{paperNumber}
             </if>
-            <if test="obeCourseOutlineId != null and obeCourseOutlineId != ''">
-                and tcfs.teach_course_id = #{obeCourseOutlineId}
+            <if test="cultureProgramId != null and cultureProgramId != ''">
+                and tcfs.culture_program_id = #{cultureProgramId}
+            </if>
+            <if test="courseId != null and courseId != ''">
+                and tcfs.course_id = #{courseId}
             </if>
                 and tcfs.score &gt;= #{start} and tcfs.score &lt;= #{end}
                 and tcfs.enable = true
@@ -73,7 +82,7 @@
             tcus.score as usualScore,
             es.teach_clazz_name as administrativeClass
         from t_c_final_score tcfs
-        join t_c_usual_score tcus on tcfs.exam_id = tcus.exam_id and tcfs.course_code = tcus.course_code and tcfs.teach_course_id = tcus.teach_course_id and tcfs.student_code = tcus.student_code
+        join t_c_usual_score tcus on tcfs.exam_id = tcus.exam_id and tcfs.course_code = tcus.course_code and tcfs.course_id = tcus.course_id and tcfs.culture_program_id = tcus.culture_program_id and tcfs.student_code = tcus.student_code
         left join exam_student es on es.exam_id = tcfs.exam_id and es.paper_number = tcfs.paper_number and es.student_code = tcfs.student_code
         <where>
             <if test="examId != null and examId != ''">
@@ -85,10 +94,12 @@
             <if test="paperNumber != null and paperNumber != ''">
                 and tcfs.paper_number = #{paperNumber}
             </if>
-            <if test="obeCourseOutlineId != null and obeCourseOutlineId != ''">
-                and tcfs.teach_course_id = #{obeCourseOutlineId}
+            <if test="cultureProgramId != null and cultureProgramId != ''">
+                and tcfs.culture_program_id = #{cultureProgramId}
+            </if>
+            <if test="courseId != null and courseId != ''">
+                and tcfs.course_id = #{courseId}
             </if>
-                and tcfs.enable = true and tcus.enable = true
         </where>
             order by tcfs.student_code
     </select>

+ 4 - 3
distributed-print/src/main/java/com/qmth/distributed/print/api/TCFinalScoreController.java

@@ -87,7 +87,7 @@ public class TCFinalScoreController {
                                            @ApiParam(value = "试卷编号") @RequestParam(required = false) String paperNumber,
                                            @ApiParam(value = "培养方案id", required = true) @RequestParam Long cultureProgramId) throws IOException {
         printCommonService.getLock(cultureProgramId, courseId, paperNumber);
-        TCPaperStruct tcPaperStruct = tcPaperStructService.queryPaperStruct(cultureProgramId,courseId, paperNumber);
+        TCPaperStruct tcPaperStruct = tcPaperStructService.queryPaperStruct(cultureProgramId, courseId, paperNumber);
         List<ExcelField> excelFieldList = new ArrayList<>();
         excelFieldList.addAll(new ArrayList<>(Arrays.asList(new ExcelField("studentCode", "学号", true), new ExcelField("name", "姓名", true), new ExcelField("score", "成绩", true))));
         if (Objects.isNull(tcPaperStruct) || Objects.isNull(tcPaperStruct.getPaperStruct())) {
@@ -191,10 +191,11 @@ public class TCFinalScoreController {
     public Result finalScoreList(@ApiParam(value = "考试id", required = true) @RequestParam Long examId,
                                  @ApiParam(value = "科目编码", required = true) @RequestParam String courseCode,
                                  @ApiParam(value = "试卷编号") @RequestParam(required = false) String paperNumber,
-                                 @ApiParam(value = "教学课程id", required = true) @RequestParam Long teachCourseId,
+                                 @ApiParam(value = "培养方案id", required = true) @RequestParam Long cultureProgramId,
+                                 @ApiParam(value = "课程id", required = true) @RequestParam Long courseId,
                                  @ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
                                  @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) throws IOException {
-        return ResultUtil.ok(tcFinalScoreService.finalScoreList(new Page<>(pageNumber, pageSize), examId, courseCode, paperNumber, teachCourseId));
+        return ResultUtil.ok(tcFinalScoreService.finalScoreList(new Page<>(pageNumber, pageSize), examId, courseCode, paperNumber, cultureProgramId, courseId));
     }
 
     @ApiOperation(value = "期末成绩编辑")

+ 4 - 4
distributed-print/src/main/java/com/qmth/distributed/print/api/TRBasicInfoController.java

@@ -55,7 +55,6 @@ import javax.validation.constraints.Max;
 import javax.validation.constraints.Min;
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.IOException;
 import java.io.InputStream;
 import java.math.BigDecimal;
 import java.util.*;
@@ -106,8 +105,8 @@ public class TRBasicInfoController {
     @RequestMapping(value = "/report/list", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "分页查询", response = ObeScoreResult.class)})
     public Result reportList(@ApiParam(value = "培养方案ID", required = true) @RequestParam Long cultureProgramId, @ApiParam(value = "学期ID", required = true) @RequestParam Long semesterId,
-            @ApiParam(value = "课程id") @RequestParam(required = false) Long courseId, @ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
-            @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
+                             @ApiParam(value = "课程id") @RequestParam(required = false) Long courseId, @ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
+                             @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
         return ResultUtil.ok(
                 printCommonService.scoreList(new Page<>(pageNumber, pageSize), cultureProgramId, semesterId, courseId));
     }
@@ -211,7 +210,8 @@ public class TRBasicInfoController {
                 trBasicInfoDb = new TRBasicInfo(trBasicInfo, sysUser.getId());
                 TCPaperStruct tcPaperStruct = tcPaperStructService.queryPaperStruct(trBasicInfo.getCultureProgramId(), trBasicInfo.getCourseId(), trBasicInfo.getPaperNumber());
                 MarkPaper markPaper = printCommonService.getMarkPaper(trBasicInfo.getExamId(), trBasicInfo.getCourseCode(), Objects.nonNull(tcPaperStruct) ? tcPaperStruct.getPaperNumber() : trBasicInfo.getPaperNumber());
-                trBasicInfoDb = trBasicInfoService.getReportView(trBasicInfoDb, markPaper, sysUser.getId(), trBasicInfoService.findCourseWeightResultRmi(trBasicInfo.getTeachCourseId()), trBasicInfo.getCultureProgramId());
+                ObeCourseOutline obeCourseOutline = obeCourseOutlineService.findByCultureProgramIdAndCourseId(trBasicInfo.getCultureProgramId(), trBasicInfo.getCourseId());
+                trBasicInfoDb = trBasicInfoService.getReportView(trBasicInfoDb, markPaper, sysUser.getId(), trBasicInfoService.findCourseWeightResultRmi(obeCourseOutline.getId()), trBasicInfo.getCultureProgramId());
             } else {
                 trBasicInfoDb.updateInfo(trBasicInfo, sysUser.getId());
             }