瀏覽代碼

成绩管理1对多

wangliang 8 月之前
父節點
當前提交
ccafd68a53

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

@@ -12,7 +12,6 @@ import com.qmth.boot.api.exception.ApiException;
 import com.qmth.boot.core.rateLimit.annotation.RateLimit;
 import com.qmth.distributed.print.business.service.PrintCommonService;
 import com.qmth.teachcloud.common.annotation.OperationLogDetail;
-import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicCourse;
 import com.qmth.teachcloud.common.entity.BasicSchool;
@@ -143,9 +142,7 @@ public class TRBasicInfoController {
                              @ApiParam(value = "考试id") @RequestParam(required = false) Long examId) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         BasicCourse basicCourse = basicCourseService.getById(courseId);
-        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(sysUser.getSchoolId(), sysUser.getId(), ServletUtil.getRequest().getServletPath());
-        Long createId = CollectionUtils.isEmpty(dpr.getOrgIdSet()) ? sysUser.getId() : -1L;
-        List<TRBasicInfo> trBasicInfoList = trBasicInfoService.queryBasicInfo(cultureProgramId, courseId, paperNumber, examId, createId);
+        List<TRBasicInfo> trBasicInfoList = trBasicInfoService.queryBasicInfo(cultureProgramId, courseId, paperNumber, examId);
         ObeCourseOutline obeCourseOutline = obeCourseOutlineService.findByCultureProgramIdAndCourseId(cultureProgramId,
                 courseId);
 
@@ -166,6 +163,11 @@ public class TRBasicInfoController {
                             && tcPaperStruct.getDimensionSign().longValue()
                             != obeCourseWeightResult.getDimensionSign().longValue());
         } else {
+            List<TRBasicInfo> trBasicInfoFilterList = trBasicInfoList.stream().filter(s -> Objects.nonNull(s.getTeachClassName()) && (Objects.equals(s.getTeachClassName(), "ALL") || Objects.equals(s.getTeachClassName().trim(), ""))).collect(Collectors.toList());
+            if (!CollectionUtils.isEmpty(trBasicInfoFilterList)) {
+                trBasicInfoList.clear();
+                trBasicInfoList.addAll(trBasicInfoFilterList);
+            }
             for (TRBasicInfo trBasicInfo : trBasicInfoList) {
                 ReportCourseEvaluationResultDto reportCourseEvaluationResultDto = Objects.nonNull(trBasicInfo.getCourseEvaluationResult()) ?
                         JSONObject.parseObject(trBasicInfo.getCourseEvaluationResult(), ReportCourseEvaluationResultDto.class) :
@@ -241,8 +243,6 @@ public class TRBasicInfoController {
         List<TRBasicInfo> trBasicInfoAgainCalculateList = null;
         try {
             SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-            DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(sysUser.getSchoolId(), sysUser.getId(), ServletUtil.getRequest().getServletPath());
-            Long createId = CollectionUtils.isEmpty(dpr.getOrgIdSet()) ? sysUser.getId() : -1L;
             ObeCourseOutline obeCourseOutline = obeCourseOutlineService.findByCultureProgramIdAndCourseId(cultureProgramId, courseId);
             ObeCourseWeightResult obeCourseWeightResult = trBasicInfoService.findCourseWeightResultRmi(obeCourseOutline.getId(), true);
             TCPaperStruct tcPaperStruct = tcPaperStructService.queryPaperStruct(cultureProgramId, courseId, paperNumber, examId);
@@ -250,7 +250,7 @@ public class TRBasicInfoController {
                 throw ExceptionResultEnum.ERROR.exception("未找到试卷蓝图信息");
             }
             MarkPaper markPaper = printCommonService.getMarkPaper(examId, tcPaperStruct.getPaperNumber(), courseId);
-            List<TRBasicInfo> trBasicInfoList = trBasicInfoService.queryBasicInfo(cultureProgramId, courseId, Objects.nonNull(paperNumber) ? paperNumber : markPaper.getPaperNumber(), Objects.nonNull(examId) ? examId : markPaper.getExamId(), createId);
+            List<TRBasicInfo> trBasicInfoList = trBasicInfoService.queryBasicInfo(cultureProgramId, courseId, Objects.nonNull(paperNumber) ? paperNumber : markPaper.getPaperNumber(), Objects.nonNull(examId) ? examId : markPaper.getExamId());
             trBasicInfoService.clearReportData(cultureProgramId, courseId, Objects.nonNull(paperNumber) ? paperNumber : markPaper.getPaperNumber(), Objects.nonNull(examId) ? examId : markPaper.getExamId(),
                     Objects.nonNull(tcPaperStruct.getDimensionSign())
                             && tcPaperStruct.getDimensionSign().longValue()
@@ -298,7 +298,7 @@ public class TRBasicInfoController {
             ObeCourseOutline obeCourseOutline = obeCourseOutlineService.findByCultureProgramIdAndCourseId(trBasicInfoDb.getCultureProgramId(), trBasicInfoDb.getCourseId());
             ObeCourseWeightResult obeCourseWeightResult = trBasicInfoService.findCourseWeightResultRmi(obeCourseOutline.getId(), true);
             MarkPaper markPaper = printCommonService.getMarkPaper(trBasicInfoDb.getExamId(), trBasicInfoDb.getPaperNumber(), trBasicInfoDb.getCourseId());
-            List<TRBasicInfo> trBasicInfoList = trBasicInfoService.queryBasicInfo(trBasicInfoDb.getCultureProgramId(), trBasicInfoDb.getCourseId(), trBasicInfoDb.getPaperNumber(), trBasicInfoDb.getExamId(), null);
+            List<TRBasicInfo> trBasicInfoList = trBasicInfoService.queryBasicInfo(trBasicInfoDb.getCultureProgramId(), trBasicInfoDb.getCourseId(), trBasicInfoDb.getPaperNumber(), trBasicInfoDb.getExamId());
             for (TRBasicInfo t : trBasicInfoList) {
                 ReportCourseBasicInfoDto reportCourseBasicInfoDto = trBasicInfoService.setBasicInfo(trBasicInfo, obeCourseOutline, markPaper, obeCourseWeightResult);
                 t.updateInfo(trBasicInfo, reportCourseBasicInfoDto, sysUser.getId());
@@ -461,7 +461,7 @@ public class TRBasicInfoController {
                 }
             }
 
-            List<TRBasicInfo> trBasicInfoList = trBasicInfoService.queryBasicInfo(cultureProgramId, courseId, paperNumber, examId, null);
+            List<TRBasicInfo> trBasicInfoList = trBasicInfoService.queryBasicInfo(cultureProgramId, courseId, paperNumber, examId);
             TRBasicInfo trBasicInfo = CollectionUtils.isNotEmpty(trBasicInfoList) ? trBasicInfoList.get(0) : null;
             if (Objects.nonNull(trBasicInfo) && Objects.nonNull(trBasicInfo.getCourseEvaluationResultDetail())) {
                 JSONObject jsonObject = JSONObject.parseObject(trBasicInfo.getCourseEvaluationResultDetail());

+ 6 - 6
teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/mapper/TCFinalScoreMapper.java

@@ -42,10 +42,10 @@ public interface TCFinalScoreMapper extends BaseMapper<TCFinalScore> {
      * @param examId
      * @param paperNumber
      * @param teachClassName
-     * @param dpr
+     * @param userId
      * @return
      */
-    public FinalScoreDto finalScoreScoreOverView(@Param("cultureProgramId") Long cultureProgramId, @Param("courseId") Long courseId, @Param("examId") Long examId, @Param("paperNumber") String paperNumber, @Param("teachClassName") String teachClassName, @Param("dpr") DataPermissionRule dpr);
+    public FinalScoreDto finalScoreScoreOverView(@Param("cultureProgramId") Long cultureProgramId, @Param("courseId") Long courseId, @Param("examId") Long examId, @Param("paperNumber") String paperNumber, @Param("teachClassName") String teachClassName, @Param("userId") Long userId);
 
     /**
      * 查找期末成绩分数区间
@@ -57,10 +57,10 @@ public interface TCFinalScoreMapper extends BaseMapper<TCFinalScore> {
      * @param examId
      * @param paperNumber
      * @param teachClassName
-     * @param dpr
+     * @param userId
      * @return
      */
-    public int getCountByScoreRange(@Param("cultureProgramId") Long cultureProgramId, @Param("courseId") Long courseId, @Param("start") Double start, @Param("end") Double end, @Param("examId") Long examId, @Param("paperNumber") String paperNumber, @Param("teachClassName") String teachClassName, @Param("dpr") DataPermissionRule dpr);
+    public int getCountByScoreRange(@Param("cultureProgramId") Long cultureProgramId, @Param("courseId") Long courseId, @Param("start") Double start, @Param("end") Double end, @Param("examId") Long examId, @Param("paperNumber") String paperNumber, @Param("teachClassName") String teachClassName, @Param("userId") Long userId);
 
     /**
      * 查找考生成绩
@@ -70,10 +70,10 @@ public interface TCFinalScoreMapper extends BaseMapper<TCFinalScore> {
      * @param examId
      * @param paperNumber
      * @param teachClassName
-     * @param dpr
+     * @param userId
      * @return
      */
-    public List<FinalScoreResult> examStudentOverview(@Param("cultureProgramId") Long cultureProgramId, @Param("courseId") Long courseId, @Param("examId") Long examId, @Param("paperNumber") String paperNumber, @Param("teachClassName") String teachClassName, @Param("dpr") DataPermissionRule dpr);
+    public List<FinalScoreResult> examStudentOverview(@Param("cultureProgramId") Long cultureProgramId, @Param("courseId") Long courseId, @Param("examId") Long examId, @Param("paperNumber") String paperNumber, @Param("teachClassName") String teachClassName, @Param("userId") Long userId);
 
     /**
      * 根据考试id/课程编码/试卷编码查询数据库数据

+ 15 - 0
teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/mapper/TRBasicInfoMapper.java

@@ -1,7 +1,11 @@
 package com.qmth.teachcloud.obe.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.obe.entity.TRBasicInfo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +17,15 @@ import com.qmth.teachcloud.obe.entity.TRBasicInfo;
  */
 public interface TRBasicInfoMapper extends BaseMapper<TRBasicInfo> {
 
+    /**
+     * 查询报告信息
+     *
+     * @param cultureProgramId
+     * @param courseId
+     * @param paperNumber
+     * @param examId
+     * @param dpr
+     * @return
+     */
+    public List<TRBasicInfo> queryBasicInfo(@Param("cultureProgramId") Long cultureProgramId, @Param("courseId") Long courseId, @Param("paperNumber") String paperNumber, @Param("examId") Long examId, @Param("dpr") DataPermissionRule dpr);
 }

+ 2 - 4
teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/service/TRBasicInfoService.java

@@ -38,10 +38,9 @@ public interface TRBasicInfoService extends IService<TRBasicInfo> {
      * @param courseId         courseId
      * @param paperNumber      paperNumber
      * @param examId
-     * @param createId
      * @return
      */
-    public List<TRBasicInfo> queryBasicInfo(Long cultureProgramId, Long courseId, String paperNumber, Long examId, Long createId);
+    public List<TRBasicInfo> queryBasicInfo(Long cultureProgramId, Long courseId, String paperNumber, Long examId);
 
     /**
      * 获取课程目标考核分布-分数图
@@ -154,10 +153,9 @@ public interface TRBasicInfoService extends IService<TRBasicInfo> {
      * @param courseId
      * @param paperNumber
      * @param examId
-     * @param createId
      * @return
      */
-    public Boolean remove(Long cultureProgramId, Long courseId, String paperNumber, Long examId, Long createId);
+    public Boolean remove(Long cultureProgramId, Long courseId, String paperNumber, Long examId);
 
     /**
      * 查找课程评价值

+ 1 - 2
teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/service/TRExamStudentService.java

@@ -45,10 +45,9 @@ public interface TRExamStudentService extends IService<TRExamStudent> {
      * @param courseId         courseId
      * @param paperNumber      paperNumber
      * @param examId
-     * @param createId
      * @return 结果
      */
-    public Boolean remove(Long cultureProgramId, Long courseId, String paperNumber, Long examId, Long createId);
+    public Boolean remove(Long cultureProgramId, Long courseId, String paperNumber, Long examId);
 
     /**
      * 学生毕业要求达成度

+ 1 - 1
teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/service/impl/ObeCourseRequirementReportServiceImpl.java

@@ -176,7 +176,7 @@ public class ObeCourseRequirementReportServiceImpl extends ServiceImpl<ObeCourse
             Objects.requireNonNull(basicCourse, "未找到课程信息");
             for (CourseRequirementMatrixDto c : courseRequirementMatrixDtoList) {
                 if (c.getCourseId().longValue() == basicCourse.getId().longValue()) {
-                    List<TRBasicInfo> trBasicInfoList = trBasicInfoService.queryBasicInfo(obeCourseOutline.getCultureProgramId(), obeCourseOutline.getCourseId(), null, examId, null);
+                    List<TRBasicInfo> trBasicInfoList = trBasicInfoService.queryBasicInfo(obeCourseOutline.getCultureProgramId(), obeCourseOutline.getCourseId(), null, examId);
                     TRBasicInfo trBasicInfo = !CollectionUtils.isEmpty(trBasicInfoList) ? trBasicInfoList.stream().filter(s -> Objects.nonNull(s.getTeachClassName()) && (Objects.equals(s.getTeachClassName(), "ALL") || Objects.equals(s.getTeachClassName().trim(), ""))).collect(Collectors.toList()).get(0) : null;
                     if (Objects.nonNull(trBasicInfo)) {
                         ReportCourseEvaluationResultDto reportCourseEvaluationResultDto = Objects.nonNull(trBasicInfo.getCourseEvaluationResult()) ? JSONObject.parseObject(trBasicInfo.getCourseEvaluationResult(), ReportCourseEvaluationResultDto.class) : null;

+ 3 - 9
teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/service/impl/TCFinalScoreServiceImpl.java

@@ -299,9 +299,7 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
      */
     @Override
     public FinalScoreDto finalScoreScoreOverView(Long examId, String paperNumber, Long cultureProgramId, Long courseId, String teachClassName, Long userId) {
-        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(sysUser.getSchoolId(), sysUser.getId(), ServletUtil.getRequest().getServletPath());
-        return this.baseMapper.finalScoreScoreOverView(cultureProgramId, courseId, examId, paperNumber, teachClassName, dpr);
+        return this.baseMapper.finalScoreScoreOverView(cultureProgramId, courseId, examId, paperNumber, teachClassName, userId);
     }
 
     /**
@@ -319,9 +317,7 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
      */
     @Override
     public int getCountByScoreRange(Long examId, String paperNumber, Long cultureProgramId, Long courseId, Double start, Double end, String teachClassName, Long userId) {
-        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(sysUser.getSchoolId(), sysUser.getId(), ServletUtil.getRequest().getServletPath());
-        return this.baseMapper.getCountByScoreRange(cultureProgramId, courseId, start, end, examId, paperNumber, teachClassName, dpr);
+        return this.baseMapper.getCountByScoreRange(cultureProgramId, courseId, start, end, examId, paperNumber, teachClassName, userId);
     }
 
     /**
@@ -337,9 +333,7 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
      */
     @Override
     public List<FinalScoreResult> examStudentOverview(Long examId, String paperNumber, Long cultureProgramId, Long courseId, String teachClassName, Long userId) {
-        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(sysUser.getSchoolId(), sysUser.getId(), ServletUtil.getRequest().getServletPath());
-        return this.baseMapper.examStudentOverview(cultureProgramId, courseId, examId, paperNumber, teachClassName, dpr);
+        return this.baseMapper.examStudentOverview(cultureProgramId, courseId, examId, paperNumber, teachClassName, userId);
     }
 
     /**

+ 13 - 26
teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/service/impl/TRBasicInfoServiceImpl.java

@@ -13,10 +13,12 @@ import com.google.common.collect.ImmutableMap;
 import com.google.gson.reflect.TypeToken;
 import com.qmth.distributed.print.business.bean.dto.ExamStudentDto;
 import com.qmth.distributed.print.business.service.BasicExamStudentService;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.*;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.service.BasicCourseService;
+import com.qmth.teachcloud.common.service.BasicRoleDataPermissionService;
 import com.qmth.teachcloud.common.service.BasicSemesterService;
 import com.qmth.teachcloud.common.service.SysOrgService;
 import com.qmth.teachcloud.common.util.GsonUtil;
@@ -105,7 +107,7 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
     BasicExamStudentService basicExamStudentService;
 
     @Resource
-    TCUsualScoreService tcUsualScoreService;
+    BasicRoleDataPermissionService basicRoleDataPermissionService;
 
     protected static final String tbBgColor = "F2F2F2";
     protected static final String tbPercentWidth = "100%";
@@ -118,24 +120,13 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
      * @param courseId         courseId
      * @param paperNumber      paperNumber
      * @param examId
-     * @param createId
      * @return
      */
     @Override
-    public List<TRBasicInfo> queryBasicInfo(Long cultureProgramId, Long courseId, String paperNumber, Long examId, Long createId) {
-        QueryWrapper<TRBasicInfo> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(TRBasicInfo::getCultureProgramId, cultureProgramId)
-                .eq(TRBasicInfo::getCourseId, courseId);
-        if (Objects.nonNull(paperNumber)) {
-            queryWrapper.lambda().and(w -> w.eq(TRBasicInfo::getPaperNumber, paperNumber).or().isNull(TRBasicInfo::getPaperNumber));
-        }
-        if (Objects.nonNull(examId)) {
-            queryWrapper.lambda().eq(TRBasicInfo::getExamId, examId);
-        }
-        if (Objects.nonNull(createId)) {
-            queryWrapper.lambda().eq(TRBasicInfo::getCreateId, createId);
-        }
-        return trBasicInfoService.list(queryWrapper);
+    public List<TRBasicInfo> queryBasicInfo(Long cultureProgramId, Long courseId, String paperNumber, Long examId) {
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(sysUser.getSchoolId(), sysUser.getId(), ServletUtil.getRequest().getServletPath());
+        return this.baseMapper.queryBasicInfo(cultureProgramId, courseId, paperNumber, examId, dpr);
     }
 
     /**
@@ -147,7 +138,7 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
      */
     @Override
     public ReportScoreViewDto getScoreList(TRBasicInfo trBasicInfo, MarkPaper markPaper) {
-        FinalScoreDto finalScoreDto = tcFinalScoreService.finalScoreScoreOverView(trBasicInfo.getExamId(), trBasicInfo.getPaperNumber(), trBasicInfo.getCultureProgramId(), trBasicInfo.getCourseId(), trBasicInfo.getTeachClassName(), trBasicInfo.getCreateId());
+        FinalScoreDto finalScoreDto = tcFinalScoreService.finalScoreScoreOverView(trBasicInfo.getExamId(), trBasicInfo.getPaperNumber(), trBasicInfo.getCultureProgramId(), trBasicInfo.getCourseId(), trBasicInfo.getTeachClassName(), Objects.nonNull(trBasicInfo.getCreateId()) && trBasicInfo.getCreateId().longValue() != -1 ? trBasicInfo.getCreateId() : null);
         Objects.requireNonNull(finalScoreDto, "未找到期末成绩分数信息");
 
         if (finalScoreDto.getStudentCount() == 0) {
@@ -186,7 +177,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.getPaperNumber(), trBasicInfo.getCultureProgramId(), trBasicInfo.getCourseId(), trBasicInfo.getTeachClassName(), trBasicInfo.getCreateId());//考生成绩
+        List<FinalScoreResult> finalScoreResultList = tcFinalScoreService.examStudentOverview(trBasicInfo.getExamId(), trBasicInfo.getPaperNumber(), trBasicInfo.getCultureProgramId(), trBasicInfo.getCourseId(), trBasicInfo.getTeachClassName(), Objects.nonNull(trBasicInfo.getCreateId()) && trBasicInfo.getCreateId().longValue() != -1 ? trBasicInfo.getCreateId() : null);//考生成绩
         if (CollectionUtils.isEmpty(finalScoreResultList)) {
             throw ExceptionResultEnum.ERROR.exception("成绩数据异常,平时成绩与期末成绩里考生名单不一致,请检查");
         }
@@ -885,12 +876,11 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
      * @param courseId
      * @param paperNumber
      * @param examId
-     * @param createId
      * @return
      */
     @Override
     @Transactional
-    public Boolean remove(Long cultureProgramId, Long courseId, String paperNumber, Long examId, Long createId) {
+    public Boolean remove(Long cultureProgramId, Long courseId, String paperNumber, Long examId) {
         QueryWrapper<TRBasicInfo> queryWrapper = new QueryWrapper<>();
         queryWrapper.lambda().eq(TRBasicInfo::getCultureProgramId, cultureProgramId)
                 .eq(TRBasicInfo::getCourseId, courseId);
@@ -900,9 +890,6 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
         if (Objects.nonNull(examId)) {
             queryWrapper.lambda().eq(TRBasicInfo::getExamId, examId);
         }
-        if (Objects.nonNull(createId)) {
-            queryWrapper.lambda().eq(TRBasicInfo::getCreateId, createId);
-        }
         return trBasicInfoService.remove(queryWrapper);
     }
 
@@ -978,8 +965,8 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
     @Transactional
     public void clearReportData(Long cultureProgramId, Long courseId, String paperNumber, Long examId, boolean clearDimension) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        trExamStudentService.remove(cultureProgramId, courseId, paperNumber, examId, null);
-        trBasicInfoService.remove(cultureProgramId, courseId, paperNumber, examId, null);
+        trExamStudentService.remove(cultureProgramId, courseId, paperNumber, examId);
+        trBasicInfoService.remove(cultureProgramId, courseId, paperNumber, examId);
         if (clearDimension) {
             TCPaperStruct tcPaperStruct = tcPaperStructService.queryPaperStruct(cultureProgramId, courseId, paperNumber, examId);
             if (Objects.nonNull(tcPaperStruct)) {
@@ -1242,7 +1229,7 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
      * @return
      */
     protected ScoreRangeVo getScoreRangeVo(int toltal, Long examId, String paperNumber, Long cultureProgramId, Long courseId, Double start, Double end, String teachClassName, Long userId) {
-        int count = tcFinalScoreService.getCountByScoreRange(examId, paperNumber, cultureProgramId, courseId, start, end, teachClassName, userId);
+        int count = tcFinalScoreService.getCountByScoreRange(examId, paperNumber, cultureProgramId, courseId, start, end, teachClassName, Objects.nonNull(userId) && userId.longValue() != -1 ? userId : null);
         Double rate = null;
         if (toltal != 0) {
             rate = new BigDecimal(count).divide(new BigDecimal(toltal), 4, BigDecimal.ROUND_HALF_UP).multiply(SystemConstant.PERCENT).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();

+ 2 - 3
teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/service/impl/TRExamStudentServiceImpl.java

@@ -222,13 +222,12 @@ public class TRExamStudentServiceImpl extends ServiceImpl<TRExamStudentMapper, T
      * @param courseId            courseId
      * @param paperNumber         paperNumber
      * @param examId
-     * @param createId
      * @return
      */
     @Override
     @Transactional
-    public Boolean remove(Long obeCultureProgramId, Long courseId, String paperNumber, Long examId, Long createId) {
-        List<TRBasicInfo> trBasicInfoList = trBasicInfoService.queryBasicInfo(obeCultureProgramId, courseId, paperNumber, examId, createId);
+    public Boolean remove(Long obeCultureProgramId, Long courseId, String paperNumber, Long examId) {
+        List<TRBasicInfo> trBasicInfoList = trBasicInfoService.queryBasicInfo(obeCultureProgramId, courseId, paperNumber, examId);
         Boolean remove = false;
         if (!CollectionUtils.isEmpty(trBasicInfoList)) {
             trBasicInfoList.stream().peek(s -> trExamStudentService.remove(s.getId())).collect(Collectors.toList());

+ 6 - 45
teachcloud-obe/src/main/resources/mapper/TCFinalScoreMapper.xml

@@ -49,7 +49,6 @@
         from t_c_final_score tcfs
         join t_c_usual_score tcus on tcfs.course_id = tcus.course_id and tcfs.culture_program_id =
         tcus.culture_program_id and tcfs.student_code = tcus.student_code
-        left join basic_course bc on tcfs.course_id = bc.id
         <where>
             <if test="cultureProgramId != null and cultureProgramId != ''">
                 and tcfs.culture_program_id = #{cultureProgramId}
@@ -66,20 +65,8 @@
             <if test="teachClassName != null and teachClassName != ''">
                 and tcfs.teach_class_name = #{teachClassName}
             </if>
-            <if test="dpr != null">
-                <if test="dpr.requestUserId != null">
-                    AND tcfs.create_id = #{dpr.requestUserId}
-                </if>
-                <if test="dpr.courseUserId != null">
-                    AND EXISTS(SELECT 1 FROM (select course_id from teach_course where user_id = #{dpr.courseUserId}) tc
-                    WHERE tc.course_id = bc.id)
-                </if>
-                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
-                    AND bc.teaching_room_id IN
-                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
-                        #{item}
-                    </foreach>
-                </if>
+            <if test="userId != null and userId != ''">
+                and tcfs.create_id = #{userId}
             </if>
             and tcfs.enable = true and tcus.enable = true and tcfs.score is not null and tcus.score is not null
         </where>
@@ -89,7 +76,6 @@
         SELECT count(1) FROM t_c_final_score tcfs
         join t_c_usual_score tcus on tcfs.course_id = tcus.course_id and tcfs.culture_program_id =
         tcus.culture_program_id and tcfs.student_code = tcus.student_code
-        left join basic_course bc on tcfs.course_id = bc.id
         <where>
             <if test="cultureProgramId != null and cultureProgramId != ''">
                 and tcfs.culture_program_id = #{cultureProgramId}
@@ -106,20 +92,8 @@
             <if test="teachClassName != null and teachClassName != ''">
                 and tcfs.teach_class_name = #{teachClassName}
             </if>
-            <if test="dpr != null">
-                <if test="dpr.requestUserId != null">
-                    AND tcfs.create_id = #{dpr.requestUserId}
-                </if>
-                <if test="dpr.courseUserId != null">
-                    AND EXISTS(SELECT 1 FROM (select course_id from teach_course where user_id = #{dpr.courseUserId}) tc
-                    WHERE tc.course_id = bc.id)
-                </if>
-                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
-                    AND bc.teaching_room_id IN
-                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
-                        #{item}
-                    </foreach>
-                </if>
+            <if test="userId != null and userId != ''">
+                and tcfs.create_id = #{userId}
             </if>
             and tcfs.score &gt;= #{start} and tcfs.score &lt;= #{end}
             and tcfs.enable = true and tcus.enable = true and tcfs.score is not null and tcus.score is not null
@@ -140,7 +114,6 @@
         tcus.culture_program_id and tcfs.student_code = tcus.student_code
         left join basic_exam_student bes on bes.exam_id = tcfs.exam_id and bes.paper_number = tcfs.paper_number and
         bes.student_code = tcfs.student_code
-        left join basic_course bc on tcfs.course_id = bc.id
         <where>
             <if test="cultureProgramId != null and cultureProgramId != ''">
                 and tcfs.culture_program_id = #{cultureProgramId}
@@ -157,20 +130,8 @@
             <if test="teachClassName != null and teachClassName != ''">
                 and tcfs.teach_class_name = #{teachClassName}
             </if>
-            <if test="dpr != null">
-                <if test="dpr.requestUserId != null">
-                    AND tcfs.create_id = #{dpr.requestUserId}
-                </if>
-                <if test="dpr.courseUserId != null">
-                    AND EXISTS(SELECT 1 FROM (select course_id from teach_course where user_id = #{dpr.courseUserId}) tc
-                    WHERE tc.course_id = bc.id)
-                </if>
-                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
-                    AND bc.teaching_room_id IN
-                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
-                        #{item}
-                    </foreach>
-                </if>
+            <if test="userId != null and userId != ''">
+                and tcfs.create_id = #{userId}
             </if>
             and tcfs.enable = true and tcus.enable = true and tcfs.score is not null and tcus.score is not null
         </where>

+ 34 - 0
teachcloud-obe/src/main/resources/mapper/TRBasicInfoMapper.xml

@@ -2,4 +2,38 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.qmth.teachcloud.obe.mapper.TRBasicInfoMapper">
 
+    <select id="queryBasicInfo" resultType="com.qmth.teachcloud.obe.entity.TRBasicInfo">
+        select * from t_r_basic_info t
+        left join basic_course bc on t.course_id = bc.id
+        <where>
+            <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>
+            <if test="examId != null and examId != ''">
+                and t.exam_id = #{examId}
+            </if>
+            <if test="paperNumber != null and paperNumber != ''">
+                and t.paper_number = #{paperNumber}
+            </if>
+            <if test="dpr != null">
+                <if test="dpr.requestUserId != null">
+                    AND t.create_id = #{dpr.requestUserId}
+                </if>
+                <if test="dpr.courseUserId != null">
+                    AND EXISTS(SELECT 1 FROM (select course_id from teach_course where user_id = #{dpr.courseUserId}) tc
+                    WHERE tc.course_id = bc.id)
+                </if>
+                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
+                    AND bc.teaching_room_id IN
+                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
+            </if>
+        </where>
+        order by t.culture_program_id,t.exam_id,t.course_code
+    </select>
 </mapper>