LambdaQueryWrapper 懒人正确代码姿势

     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 ( )"
        );

 

posted @ 2022-02-16 15:37  ±小马哥  阅读(760)  评论(0编辑  收藏  举报