wangliang 2 rokov pred
rodič
commit
5ec2968a63

+ 6 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/PrintCommonServiceImpl.java

@@ -18,7 +18,6 @@ import com.qmth.distributed.print.business.entity.*;
 import com.qmth.distributed.print.business.enums.ExamDetailStatusEnum;
 import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
 import com.qmth.distributed.print.business.service.*;
-import com.qmth.distributed.print.business.service.TBSyncTaskService;
 import com.qmth.distributed.print.business.util.HtmlToPdfUtil;
 import com.qmth.distributed.print.business.util.PdfUtil;
 import com.qmth.teachcloud.common.bean.dto.MqDto;
@@ -665,8 +664,12 @@ public class PrintCommonServiceImpl implements PrintCommonService {
     @Override
     public List<BasicCourse> list(String param, List<Long> printPlanIdList, Long teachingRoomId) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-//        Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(teachingRoomId);
-        Set<Long> orgIds = new HashSet<>(Arrays.asList(teachingRoomId));
+        Set<Long> orgIds = null;
+        if (Objects.nonNull(teachingRoomId)) {
+            orgIds = new HashSet<>(Arrays.asList(teachingRoomId));
+        } else {
+            orgIds = teachcloudCommonService.listSubOrgIds(teachingRoomId);
+        }
         if (printPlanIdList.size() == 0) {
             QueryWrapper<BasicCourse> queryWrapper = new QueryWrapper<>();
             queryWrapper.lambda().eq(BasicCourse::getSchoolId, schoolId)

+ 3 - 2
distributed-print/src/main/java/com/qmth/distributed/print/api/SysOrgController.java

@@ -9,6 +9,7 @@ import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
@@ -92,8 +93,8 @@ public class SysOrgController {
      */
     @ApiOperation(value = "根据类型查询机构")
     @RequestMapping(value = "/find_by_type", method = RequestMethod.POST)
-    public Result findByType() {
-        return ResultUtil.ok(sysOrgService.findDeepByOrgIdAndType());
+    public Result findByType(@ApiParam(value = "机构类型") @RequestParam(required = false) String orgType) {
+        return ResultUtil.ok(sysOrgService.findDeepByOrgIdAndType(orgType));
     }
 }
 

+ 2 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/SysOrgMapper.java

@@ -44,6 +44,8 @@ public interface SysOrgMapper extends CustomBaseMapper<SysOrg> {
      */
     List<SysOrg> findByConnectByRootOrgIdAndFilter(@Param("orgId") Long orgId, @Param("filter") boolean filter);
 
+    List<SysOrg> findByConnectByRootOrgIdAndType(@Param("orgId") Long orgId, @Param("orgType") String orgType);
+
     /**
      * 获取所有机构
      *

+ 1 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysOrgService.java

@@ -84,7 +84,7 @@ public interface SysOrgService extends IService<SysOrg> {
      * 查询符合条件的机构
      * @return 符合条件的机构
      */
-    List<SysOrg> findDeepByOrgIdAndType();
+    List<SysOrg> findDeepByOrgIdAndType(String orgType);
 
     /**
      * 根据机构id查询他的父亲们

+ 6 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysOrgServiceImpl.java

@@ -343,9 +343,13 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
     }
 
     @Override
-    public List<SysOrg> findDeepByOrgIdAndType() {
+    public List<SysOrg> findDeepByOrgIdAndType(String orgType) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        return sysOrgMapper.findByConnectByRootOrgIdAndFilter(sysUser.getOrgId(), true);
+        if (Objects.nonNull(orgType) && (Objects.equals(orgType, "SCHOOL") || Objects.equals(orgType, "PRINTING_HOUSE"))) {
+            return sysOrgMapper.findByConnectByRootOrgIdAndType(sysUser.getOrgId(), OrgTypeEnum.valueOf(orgType).name());
+        } else {
+            return sysOrgMapper.findByConnectByRootOrgIdAndFilter(sysUser.getOrgId(), true);
+        }
 //        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
 //        Set<Long> orgIds = new HashSet<>(); // 下级机构集合
 //        Set<Long> authOrgIdSet = new HashSet<>(); // 当前用户数据权限下的机构集合

+ 7 - 0
teachcloud-common/src/main/resources/mapper/SysOrgMapper.xml

@@ -25,6 +25,13 @@
         </if>
     </select>
 
+    <select id="findByConnectByRootOrgIdAndType" resultType="com.qmth.teachcloud.common.entity.SysOrg">
+        SELECT so.* FROM sys_org so WHERE FIND_IN_SET(id, getRootChildId(#{orgId}))
+        <if test="orgType != null and orgType != ''">
+            and so.`type` = #{orgType}
+        </if>
+    </select>
+
     <select id="listOrgAll" resultType="com.qmth.teachcloud.common.bean.dto.OrgDto">
         select
             so.id,