wangliang 4 år sedan
förälder
incheckning
ddb933f539

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

@@ -7,6 +7,7 @@ import com.qmth.teachcloud.report.business.entity.TBExamCourse;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Set;
 
 /**
  * <p>
@@ -24,9 +25,9 @@ public interface TBExamCourseMapper extends BaseMapper<TBExamCourse> {
      * @param schoolId
      * @param examId
      * @param inspect
-     * @param collegeId
+     * @param collegeIds
      * @return
      */
-    List<TBExamCourseResult> findCourseList(@Param("schoolId") Long schoolId, @Param("examId") Long examId, @Param("inspect") boolean inspect, @Param("collegeId") Long collegeId);
+    List<TBExamCourseResult> findCourseList(@Param("schoolId") Long schoolId, @Param("examId") Long examId, @Param("inspect") boolean inspect, @Param("collegeIds") List<Long> collegeIds);
 
 }

+ 16 - 3
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TBExamCourseServiceImpl.java

@@ -3,9 +3,11 @@ 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.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.service.BasicCourseService;
+import com.qmth.teachcloud.common.service.SysOrgService;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import com.qmth.teachcloud.report.business.bean.result.TBExamCourseResult;
 import com.qmth.teachcloud.report.business.entity.TBExamCourse;
@@ -16,8 +18,7 @@ import com.qmth.teachcloud.report.business.service.TBExamCourseService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -37,6 +38,9 @@ public class TBExamCourseServiceImpl extends ServiceImpl<TBExamCourseMapper, TBE
     @Resource
     private BasicCourseService basicCourseService;
 
+    @Resource
+    SysOrgService sysOrgService;
+
     @Override
     public boolean verifyExamCourseCantRun(Long examId, Long schoolId, String courseCode, String courseName) {
         QueryWrapper<BasicCourse> schoolCourseQuery = new QueryWrapper<>();
@@ -104,6 +108,15 @@ public class TBExamCourseServiceImpl extends ServiceImpl<TBExamCourseMapper, TBE
     @Override
     public List<TBExamCourseResult> findCourseList(Long schoolId, Long examId, boolean inspect) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        return tbExamCourseMapper.findCourseList(schoolId, examId, inspect, sysUser.getOrgId());
+        QueryWrapper<SysOrg> sysOrgQueryWrapper = new QueryWrapper<>();
+        sysOrgQueryWrapper.lambda().eq(SysOrg::getParentId, sysUser.getOrgId())
+                .eq(SysOrg::getEnable, true);
+        List<SysOrg> sysOrgList = sysOrgService.list(sysOrgQueryWrapper);
+        if (Objects.nonNull(sysOrgList) && sysOrgList.size() > 0) {
+            List<Long> collegeIds = sysOrgList.stream().map(s -> s.getId()).collect(Collectors.toList());
+            return tbExamCourseMapper.findCourseList(schoolId, examId, inspect, collegeIds);
+        } else {
+            return tbExamCourseMapper.findCourseList(schoolId, examId, inspect, Arrays.asList(sysUser.getOrgId()));
+        }
     }
 }

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

@@ -22,15 +22,18 @@
             <if test="schoolId != null and schoolId != ''">
                 and bc.school_id = #{schoolId}
             </if>
-            <if test="collegeId != null and collegeId != ''">
+            <if test="collegeIds != null and collegeIds != ''">
                 <choose>
                     <when test="inspect != null and inspect == true">
-                        and tbs.inspect_college_id = #{collegeId}
+                        and tbs.inspect_college_id in
                     </when>
                     <otherwise>
-                        and tbs.teach_college_id = #{collegeId}
+                        and tbs.teach_college_id in
                     </otherwise>
                 </choose>
+                <foreach collection="collegeIds" item="collegeId" index="index" open="(" separator="," close=")">
+                    #{collegeId}
+                </foreach>
             </if>
         </where>
     </select>