Browse Source

成绩管理1对多

wangliang 8 tháng trước cách đây
mục cha
commit
884da4a670

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

@@ -2,6 +2,7 @@ package com.qmth.teachcloud.obe.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.obe.been.dto.FinalScoreDto;
 import com.qmth.teachcloud.obe.been.result.FinalScoreResult;
 import com.qmth.teachcloud.obe.entity.TCFinalScore;
@@ -28,10 +29,10 @@ public interface TCFinalScoreMapper extends BaseMapper<TCFinalScore> {
      * @param courseId
      * @param examId
      * @param paperNumber
-     * @param userId
+     * @param dpr
      * @return
      */
-    public IPage<TCFinalScore> finalScoreList(IPage<Map> iPage, @Param("cultureProgramId") Long cultureProgramId, @Param("courseId") Long courseId, @Param("examId") Long examId, @Param("paperNumber") String paperNumber, @Param("userId") Long userId);
+    public IPage<TCFinalScore> finalScoreList(IPage<Map> iPage, @Param("cultureProgramId") Long cultureProgramId, @Param("courseId") Long courseId, @Param("examId") Long examId, @Param("paperNumber") String paperNumber, @Param("dpr") DataPermissionRule dpr);
 
     /**
      * 查找期末成绩分数图

+ 2 - 2
teachcloud-obe/src/main/java/com/qmth/teachcloud/obe/mapper/TCUsualScoreMapper.java

@@ -40,8 +40,8 @@ public interface TCUsualScoreMapper extends BaseMapper<TCUsualScore> {
      * @param courseId
      * @param paperNumber
      * @param examId
-     * @param userId
+     * @param dpr
      * @return
      */
-    public IPage<TCUsualScore> usualScoreList(IPage<Map> iPage, @Param("cultureProgramId") Long cultureProgramId, @Param("courseId") Long courseId, @Param("paperNumber") String paperNumber, @Param("examId") Long examId, @Param("userId") Long userId);
+    public IPage<TCUsualScore> usualScoreList(IPage<Map> iPage, @Param("cultureProgramId") Long cultureProgramId, @Param("courseId") Long courseId, @Param("paperNumber") String paperNumber, @Param("examId") Long examId, @Param("dpr") DataPermissionRule dpr);
 }

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

@@ -285,7 +285,8 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
     @Override
     public IPage<TCFinalScore> finalScoreList(IPage<Map> iPage, Long examId, String courseCode, String paperNumber, Long cultureProgramId, Long courseId) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        return this.baseMapper.finalScoreList(iPage, cultureProgramId, courseId, examId, paperNumber, sysUser.getId());
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(sysUser.getSchoolId(), sysUser.getId(), ServletUtil.getRequest().getServletPath());
+        return this.baseMapper.finalScoreList(iPage, cultureProgramId, courseId, examId, paperNumber, dpr);
     }
 
     /**

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

@@ -10,12 +10,14 @@ import com.qmth.boot.tools.excel.enums.ExcelType;
 import com.qmth.distributed.print.business.bean.excel.ExcelField;
 import com.qmth.distributed.print.business.enums.SourceEnum;
 import com.qmth.teachcloud.common.base.BaseEntity;
+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.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.FieldUniqueEnum;
 import com.qmth.teachcloud.common.service.BasicCourseService;
+import com.qmth.teachcloud.common.service.BasicRoleDataPermissionService;
 import com.qmth.teachcloud.common.util.*;
 import com.qmth.teachcloud.obe.been.dto.TCUsualScoreDto;
 import com.qmth.teachcloud.obe.entity.TCUsualScore;
@@ -61,6 +63,9 @@ public class TCUsualScoreServiceImpl extends ServiceImpl<TCUsualScoreMapper, TCU
     @Resource
     RedisUtil redisUtil;
 
+    @Resource
+    BasicRoleDataPermissionService basicRoleDataPermissionService;
+
     /**
      * 平时成绩导入
      *
@@ -220,7 +225,8 @@ public class TCUsualScoreServiceImpl extends ServiceImpl<TCUsualScoreMapper, TCU
     @Override
     public IPage<TCUsualScore> usualScoreList(IPage<Map> iPage, Long cultureProgramId, Long courseId, String paperNumber, Long examId) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        return this.baseMapper.usualScoreList(iPage, cultureProgramId, courseId, paperNumber, examId, sysUser.getId());
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(sysUser.getSchoolId(), sysUser.getId(), ServletUtil.getRequest().getServletPath());
+        return this.baseMapper.usualScoreList(iPage, cultureProgramId, courseId, paperNumber, examId, dpr);
     }
 
     /**

+ 13 - 2
teachcloud-obe/src/main/resources/mapper/TCFinalScoreMapper.xml

@@ -17,8 +17,19 @@
             <if test="paperNumber != null and paperNumber != ''">
                 and t.paper_number = #{paperNumber}
             </if>
-            <if test="userId != null and userId != ''">
-                and t.create_id = #{userId}
+            <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.student_code

+ 13 - 2
teachcloud-obe/src/main/resources/mapper/TCUsualScoreMapper.xml

@@ -71,8 +71,19 @@
             <if test="examId != null and examId != ''">
                 and t.exam_id = #{examId}
             </if>
-            <if test="userId != null and userId != ''">
-                and t.create_id = #{userId}
+            <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.student_code