List<String> companyIds = hsePreventRiskVO.getCompanyIds(); // 拼接sql String collect = companyIds.stream().collect(Collectors.joining(",")); collect = "("+collect+")"; String findIn = ""; for (String companyId:companyIds) { findIn+=" OR FIND_IN_SET("+companyId+" , `ancestors` )"; } Page<HsePreventRisk> page = hsePreventRiskService.page(new Page<>(pageNum, pageSize), new LambdaQueryWrapper<HsePreventRisk>() .in(hsePreventRiskVO.getLevel()==null&&hsePreventRiskVO.getCompanyIds()!=null&&hsePreventRiskVO.getCompanyIds().size()>0,HsePreventRisk::getQyId,hsePreventRiskVO.getCompanyIds()) .in(hsePreventRiskVO.getCategoryIds()!=null&&hsePreventRiskVO.getCategoryIds().size()>0,HsePreventRisk::getCategoryId,hsePreventRiskVO.getCategoryIds()) .in(hsePreventRiskVO.getHarmIds()!=null&&hsePreventRiskVO.getHarmIds().size()>0,HsePreventRisk::getHarmId,hsePreventRiskVO.getHarmIds()) .in(hsePreventRiskVO.getDegreeIds()!=null&&hsePreventRiskVO.getDegreeIds().size()>0,HsePreventRisk::getDegreeId,hsePreventRiskVO.getDegreeIds()) .in(hsePreventRiskVO.getNowLevels()!=null&&hsePreventRiskVO.getNowLevels().size()>0,HsePreventRisk::getNowLevel,hsePreventRiskVO.getNowLevels()) .in(hsePreventRiskVO.getIsDegordels()!=null&&hsePreventRiskVO.getIsDegordels().size()>0,HsePreventRisk::getIsDegordel,hsePreventRiskVO.getIsDegordels()) .ge("identify_time".equals(hsePreventRiskVO.getColumn())&&Strings.isNotBlank(hsePreventRiskVO.getTimeBegin()),HsePreventRisk::getIdentifyTime,hsePreventRiskVO.getTimeBegin()) .le("identify_time".equals(hsePreventRiskVO.getColumn())&&Strings.isNotBlank(hsePreventRiskVO.getTimeEnd()),HsePreventRisk::getIdentifyTime,hsePreventRiskVO.getTimeEnd()) .ge("deg_radetime".equals(hsePreventRiskVO.getColumn())&&Strings.isNotBlank(hsePreventRiskVO.getTimeBegin()),HsePreventRisk::getDegRadetime,hsePreventRiskVO.getTimeBegin()) .le("deg_radetime".equals(hsePreventRiskVO.getColumn())&&Strings.isNotBlank(hsePreventRiskVO.getTimeEnd()),HsePreventRisk::getDegRadetime,hsePreventRiskVO.getTimeEnd()) .ge("delete_accept_time".equals(hsePreventRiskVO.getColumn())&&Strings.isNotBlank(hsePreventRiskVO.getTimeBegin()),HsePreventRisk::getDeleteAcceptTime,hsePreventRiskVO.getTimeBegin()) .le("delete_accept_time".equals(hsePreventRiskVO.getColumn())&&Strings.isNotBlank(hsePreventRiskVO.getTimeEnd()),HsePreventRisk::getDeleteAcceptTime,hsePreventRiskVO.getTimeEnd()) .inSql(hsePreventRiskVO.getLevel()!=null &&hsePreventRiskVO.getCompanyIds()!=null&&hsePreventRiskVO.getCompanyIds().size()>0,HsePreventRisk::getQyId,"SELECT dept_id FROM sys_dept WHERE dept_level <= "+hsePreventRiskVO.getLevel()+" and (dept_id in "+collect+findIn+" )") // .last(hsePreventRiskVO.getLevel()!=null &&hsePreventRiskVO.getCompanyIds()!=null&&hsePreventRiskVO.getCompanyIds().size()>0 , // "and qy_id IN ( )" );