//根据部门id查询所负责部门
LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>();
List<String> departIdsOriginal = Arrays.asList(departIds.split(","));
int length = departIdsOriginal.size();
int time=length%1000==0?length/1000:length/1000+1;
List<SysDepart> listCondition=new ArrayList<>();
// listCondition.sort((o1,o2)->(Integer.valueOf(o1.getOrgCode()).compareTo(Integer.valueOf(o1.getOrgCode())));
for (int i=0;i<time;i++) {
if ((i + 1) < time) {
List<String> deptIdsListSplit = departIdsOriginal.subList(i * 1000, (i + 1) * 1000);
query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
query.in(SysDepart::getId,deptIdsListSplit);
// query.orderByAsc(SysDepart::getOrgCode);
List<SysDepart> listSplit = this.list(query);
listCondition.addAll(listSplit);
}else {
List<String> deptIdsListSplit = departIdsOriginal.subList(i * 1000, length);
query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
query.in(SysDepart::getId,deptIdsListSplit);
List<SysDepart> listSplit = this.list(query);
// query.orderByAsc(SysDepart::getOrgCode);
listCondition.addAll(listSplit);
}
}
listCondition.sort(new Comparator<SysDepart>() {
@Override
public int compare(SysDepart o1, SysDepart o2) {
if (Long.parseLong(o1.getOrgCode()) > Long.parseLong(o2.getOrgCode())) {
return 1;
}
if (Long.parseLong(o1.getOrgCode()) >Long.parseLong(o2.getOrgCode())) {
return 0;
}
return -1;
}
});
oracle查询条件不能过一千优化逻辑代码
最新推荐文章于 2024-05-01 19:17:00 发布