Browse Source

安全检查调整

luojun 1 year ago
parent
commit
dc12f29ea6

+ 9 - 6
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/job/SafetyCheckJobBusiness.java

@@ -341,14 +341,17 @@ public class SafetyCheckJobBusiness extends TaskCreatingServiceImplBase<CoreSafe
 
         //此处循环所有执行检查的机构
         for (SysOrg org : execOrgs) {
-            List<SysOrg> checkOrgs = null;
+            List<SysOrg> checkOrgs = new ArrayList<>();
             if (ObjectUtil.isEmpty(checkOrg)) {
                 //如果没有选择具体受检的机构,则根据受检机构类型查询
-                if (checkOrgTypes.contains(execOrgType) && checkOrgTypes.size() == 1) {
-                    //如果检查机构类型与被检机构类型一致,则表示查自己
-                    checkOrgs = Arrays.asList(org);
-                } else {
-                    checkOrgs = orgService.findByOrgTypesAndParent(new FindOrgTypes(checkOrgTypes, org.getPath()), SecurityConstants.INNER);
+                if (checkOrgTypes.contains(execOrgType)) {
+                    checkOrgs.add(org);
+                }
+
+                List<Integer> orgTypes = checkOrgTypes.stream().filter(t -> ObjectUtil.notEqual(t,execOrgType)).collect(Collectors.toList());
+                if(CollectionUtil.isNotEmpty(orgTypes)){
+                    List<SysOrg>  checkOrgsTmp = orgService.findByOrgTypesAndParent(new FindOrgTypes(orgTypes, org.getPath()), SecurityConstants.INNER);
+                    checkOrgs.addAll(checkOrgsTmp);
                 }
             } else {
                 //选择了具体的受检机构