|  |  | @ -335,9 +335,29 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi | 
			
		
	
		
			
				
					|  |  |  |             return new PageData(new ArrayList(), NumConstant.ZERO); | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |         List<IcFormResColumnDTO> resultColumns = resultColumnRes.getData(); | 
			
		
	
		
			
				
					|  |  |  |         // 查询结果列对应的表:
 | 
			
		
	
		
			
				
					|  |  |  |         Set<String> resultColumnTables=resultColumns.stream().map(IcFormResColumnDTO::getTableName).collect(Collectors.toSet()); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         // 查询列表展示项需要用到哪些子表
 | 
			
		
	
		
			
				
					|  |  |  |         Result<List<String>> subTablesRes=operCustomizeOpenFeignClient.querySubTables(queryDTO1); | 
			
		
	
		
			
				
					|  |  |  |         List<String> subTables =subTablesRes.getData(); | 
			
		
	
		
			
				
					|  |  |  |         Result<List<SubTableJoinDTO>> subTablesRes=operCustomizeOpenFeignClient.querySubTables(queryDTO1); | 
			
		
	
		
			
				
					|  |  |  |         List<SubTableJoinDTO> subTables =subTablesRes.getData(); | 
			
		
	
		
			
				
					|  |  |  |         log.info("1、所有的子表subTables:"+JSON.toJSONString(subTables,true)); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         //关联哪些子表:查询条件用到的表名+查询的列对应的表  并集去重
 | 
			
		
	
		
			
				
					|  |  |  |         Set<String> whereConditionTables=formDTO.getConditions().stream().map(ResiUserQueryValueDTO::getTableName).collect(Collectors.toSet()); | 
			
		
	
		
			
				
					|  |  |  |         Set<String> tables=new HashSet<>(); | 
			
		
	
		
			
				
					|  |  |  |         tables.addAll(whereConditionTables); | 
			
		
	
		
			
				
					|  |  |  |         tables.addAll(resultColumnTables); | 
			
		
	
		
			
				
					|  |  |  |         log.info("2、查询条件+查询列对应的tables并集去重:"+ JSON.toJSONString(tables,true)); | 
			
		
	
		
			
				
					|  |  |  |         //最终关联的子表对应的sql:
 | 
			
		
	
		
			
				
					|  |  |  |         List<String> finalSubTables =new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |         subTables.forEach(subTable->{ | 
			
		
	
		
			
				
					|  |  |  |             if(tables.contains(subTable.getTableName())){ | 
			
		
	
		
			
				
					|  |  |  |                 finalSubTables.add(subTable.getJoinTableSql()); | 
			
		
	
		
			
				
					|  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |         }); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         PageInfo<Map<String, Object>> pageInfo=new PageInfo<>(); | 
			
		
	
		
			
				
					|  |  |  |         if (null == formDTO.getPageFlag()||formDTO.getPageFlag()) { | 
			
		
	
		
			
				
					|  |  |  |             //分页
 | 
			
		
	
	
		
			
				
					|  |  | @ -347,7 +367,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi | 
			
		
	
		
			
				
					|  |  |  |                     formDTO.getFormCode(), | 
			
		
	
		
			
				
					|  |  |  |                     formDTO.getConditions(), | 
			
		
	
		
			
				
					|  |  |  |                     resultColumns, | 
			
		
	
		
			
				
					|  |  |  |                     subTables, | 
			
		
	
		
			
				
					|  |  |  |                     finalSubTables, | 
			
		
	
		
			
				
					|  |  |  |                     staffInfoCacheResult.getAgencyId(), finalStaffOrgPath,null | 
			
		
	
		
			
				
					|  |  |  |                     )); | 
			
		
	
		
			
				
					|  |  |  |         }else{ | 
			
		
	
	
		
			
				
					|  |  | @ -355,7 +375,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi | 
			
		
	
		
			
				
					|  |  |  |                     formDTO.getFormCode(), | 
			
		
	
		
			
				
					|  |  |  |                     formDTO.getConditions(), | 
			
		
	
		
			
				
					|  |  |  |                     resultColumns, | 
			
		
	
		
			
				
					|  |  |  |                     subTables,staffInfoCacheResult.getAgencyId(), | 
			
		
	
		
			
				
					|  |  |  |                     finalSubTables, | 
			
		
	
		
			
				
					|  |  |  |                     staffInfoCacheResult.getAgencyId(), | 
			
		
	
		
			
				
					|  |  |  |                     staffOrgPath,null); | 
			
		
	
		
			
				
					|  |  |  |             pageInfo.setTotal(CollectionUtils.isEmpty(list)?NumConstant.ZERO:list.size()); | 
			
		
	
		
			
				
					|  |  |  |             pageInfo.setList(list); | 
			
		
	
	
		
			
				
					|  |  | @ -515,10 +536,10 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi | 
			
		
	
		
			
				
					|  |  |  |         queryDTO.setCustomerId(customerId); | 
			
		
	
		
			
				
					|  |  |  |         queryDTO.setFormCode(formCode); | 
			
		
	
		
			
				
					|  |  |  |         //所有的子表
 | 
			
		
	
		
			
				
					|  |  |  |         Result<List<String>> subTablesRes=operCustomizeOpenFeignClient.querySubTables(queryDTO); | 
			
		
	
		
			
				
					|  |  |  |         Result<List<SubTableJoinDTO>> subTablesRes=operCustomizeOpenFeignClient.querySubTables(queryDTO); | 
			
		
	
		
			
				
					|  |  |  |         List<String> subTables=new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |         if(subTablesRes.success()&&CollectionUtils.isNotEmpty(subTablesRes.getData())){ | 
			
		
	
		
			
				
					|  |  |  |             subTables =subTablesRes.getData(); | 
			
		
	
		
			
				
					|  |  |  |             subTables =subTablesRes.getData().stream().map(SubTableJoinDTO::getJoinTableSql).collect(Collectors.toList()); | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |         return baseDao.dynamicQuery(customerId,resultTableName,conditions,subTables,currentStaffAgencyId,staffOrgPath); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
	
		
			
				
					|  |  | 
 |