| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -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); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |