wangliang 4 vuotta sitten
vanhempi
commit
481f7a025a

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

@@ -28,7 +28,7 @@ public interface TBExamCourseMapper extends BaseMapper<TBExamCourse> {
      * @param collegeIds
      * @return
      */
-    List<TBExamCourseResult> findCourseList(@Param("schoolId") Long schoolId, @Param("examId") Long examId, @Param("inspect") boolean inspect, @Param("collegeIds") List<Long> collegeIds);
+    List<TBExamCourseResult> findCourseList(@Param("schoolId") Long schoolId, @Param("examId") Long examId, @Param("inspect") boolean inspect, @Param("collegeIds") List<Long> collegeIds, @Param("filter") boolean filter);
 
     /**
      * 查询科目信息

+ 21 - 10
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TBExamCourseServiceImpl.java

@@ -2,12 +2,15 @@ package com.qmth.teachcloud.report.business.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.teachcloud.common.bean.auth.AuthBean;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicCourse;
 import com.qmth.teachcloud.common.entity.SysOrg;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
+import com.qmth.teachcloud.common.enums.RoleTypeEnum;
 import com.qmth.teachcloud.common.service.BasicCourseService;
+import com.qmth.teachcloud.common.service.CacheService;
 import com.qmth.teachcloud.common.service.SysOrgService;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import com.qmth.teachcloud.report.business.bean.result.TBExamCourseResult;
@@ -49,6 +52,9 @@ public class TBExamCourseServiceImpl extends ServiceImpl<TBExamCourseMapper, TBE
     @Resource
     TBExaminationRelationService tbExaminationRelationService;
 
+    @Resource
+    CacheService cacheService;
+
     @Override
     public boolean verifyExamCourseCantRun(Long examId, Long schoolId, String courseCode, String courseName) {
         QueryWrapper<BasicCourse> schoolCourseQuery = new QueryWrapper<>();
@@ -117,10 +123,15 @@ public class TBExamCourseServiceImpl extends ServiceImpl<TBExamCourseMapper, TBE
     public List<TBExamCourseResult> findCourseList(Long schoolId, Long examId, boolean inspect) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         List<Long> collegeIds = sysOrgService.findCollegeIds(sysUser.getOrgId());
+        AuthBean authBean = cacheService.userAuthCache(sysUser.getId());
+        boolean filter = true;
+        if (Objects.nonNull(authBean) && Objects.nonNull(authBean.getRoleList()) && authBean.getRoleList().get(0).getType() == RoleTypeEnum.SCHOOL_ADMIN && inspect) {
+            filter = false;
+        }
         if (Objects.nonNull(collegeIds) && collegeIds.size() > 0) {
-            return tbExamCourseMapper.findCourseList(schoolId, examId, inspect, collegeIds);
+            return tbExamCourseMapper.findCourseList(schoolId, examId, inspect, collegeIds, filter);
         } else {
-            return tbExamCourseMapper.findCourseList(schoolId, examId, inspect, Objects.nonNull(sysUser.getOrgId()) ? Arrays.asList(sysUser.getOrgId()) : null);
+            return tbExamCourseMapper.findCourseList(schoolId, examId, inspect, Objects.nonNull(sysUser.getOrgId()) ? Arrays.asList(sysUser.getOrgId()) : null, filter);
         }
     }
 
@@ -139,14 +150,14 @@ public class TBExamCourseServiceImpl extends ServiceImpl<TBExamCourseMapper, TBE
 
     @Transactional
     @Override
-    public void createCourse(Long schoolId, Long examId, String courseCode, String courseName , String examinationCourseCode,String teachCollegeName) {
+    public void createCourse(Long schoolId, Long examId, String courseCode, String courseName, String examinationCourseCode, String teachCollegeName) {
         List<TBExamCourse> tbExamCourseList = this.list(new QueryWrapper<TBExamCourse>().lambda()
-                .eq(TBExamCourse::getExamId,examId)
-                .eq(TBExamCourse::getSchoolId,schoolId)
-                .eq(TBExamCourse::getCourseCode,courseCode)
-                .eq(TBExamCourse::getCourseName,courseName)
-                .eq(TBExamCourse::getExaminationCourseCode,examinationCourseCode));
-        if (tbExamCourseList.size() > 0){
+                .eq(TBExamCourse::getExamId, examId)
+                .eq(TBExamCourse::getSchoolId, schoolId)
+                .eq(TBExamCourse::getCourseCode, courseCode)
+                .eq(TBExamCourse::getCourseName, courseName)
+                .eq(TBExamCourse::getExaminationCourseCode, examinationCourseCode));
+        if (tbExamCourseList.size() > 0) {
             throw ExceptionResultEnum.ERROR.exception("考试课程已存在");
         }
         if (!SystemConstant.strNotNull(teachCollegeName)) {
@@ -161,7 +172,7 @@ public class TBExamCourseServiceImpl extends ServiceImpl<TBExamCourseMapper, TBE
             // 开课学院名称
             teachCollegeName = teachCollegeNameList.get(0);
         }
-        Long teachCollegeId = sysOrgService.searchOrInsert(schoolId,teachCollegeName);
+        Long teachCollegeId = sysOrgService.searchOrInsert(schoolId, teachCollegeName);
 
         TBExamCourse tbExamCourse = new TBExamCourse();
         tbExamCourse.setId(SystemConstant.getDbUuid());

+ 5 - 3
teachcloud-report-business/src/main/resources/mapper/TBExamCourseMapper.xml

@@ -10,8 +10,10 @@
         <choose>
             <when test="inspect != null and inspect == true">
                 so.id = tbs.inspect_college_id and tbs.absent = 0
-                join t_b_exam_course tbec on
-                    tbec.course_code = bc.code
+                <if test="filter != null and filter == true">
+                    join t_b_exam_course tbec on
+                        tbec.course_code = bc.code
+                </if>
             </when>
             <otherwise>
                 so.id = tbs.teach_college_id
@@ -37,7 +39,7 @@
                     #{collegeId}
                 </foreach>
             </if>
-            <if test="inspect != null and inspect == true">
+            <if test="inspect != null and inspect == true and filter != null and filter == true">
                 and tbec.publish_status = 'PUBLISH'
             </if>
         </where>