Joburgess 5 лет назад
Родитель
Сommit
544e5a30be

+ 3 - 1
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/ExaminationBasicServiceImpl.java

@@ -258,6 +258,9 @@ public class ExaminationBasicServiceImpl extends BaseServiceImpl<Long, Examinati
         Map<String, Object> params = new HashMap<String, Object>();
         MapUtil.populateMap(params, queryInfo);
 
+        List<Integer> childOrganIds = organizationService.getChildOrganIds(queryInfo.getOrganId(), true);
+        params.put("organIds", childOrganIds);
+
         List<ExaminationBasicDto> dataList = new ArrayList<>();
         int count = examinationBasicDao.countExaminationBasics(params);
         if (count > 0) {
@@ -267,7 +270,6 @@ public class ExaminationBasicServiceImpl extends BaseServiceImpl<Long, Examinati
             List<Long> examIds = dataList.stream().map(ExaminationBasicDto::getId).collect(Collectors.toList());
             List<ExamOrganizationRelation> examOrgans = new ArrayList<>();
             if (!CollectionUtils.isEmpty(examIds)) {
-                List<Integer> childOrganIds = organizationService.getChildOrganIds(queryInfo.getOrganId(), true);
                 examOrgans = examOrganizationRelationDao.getWithExamsAndOrgans(examIds, childOrganIds);
             }
             Map<Integer, List<ExamOrganizationRelation>> examOrgansMap = new HashMap<>();

+ 6 - 1
edu-user/edu-user-biz/src/main/resources/config/mybatis/ExaminationBasicMapper.xml

@@ -210,7 +210,12 @@
 		<where>
 			eb.status_!='DELETE'
 			<if test="organId!=null">
-				AND eor.organ_id_ = #{organId}
+				AND (eor.organ_id_ = #{organId}
+					OR eb.organ_id_ IN
+					<foreach collection="organIds" item="organId" separator="," open="(" close=")">
+						  #{organId}
+					</foreach>
+				)
 			</if>
 			<if test="examStatus!=null">
 				AND eb.status_=#{examStatus}