feat(REQ-3300): 单据选择器过滤不可选状态单据调整

数据过滤方案可能会导致分页存在每页不足数量的问题
This commit is contained in:
chenwenjian 2025-02-17 11:21:31 +08:00
parent 2979389409
commit df7303568f

View File

@ -1050,6 +1050,15 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
}
queryChainWrapper.apply(" CASE WHEN status = 'TO_REPORT' THEN create_by = " + filter.getCurrentPersonId() + " else true end");
// 单据选择器调用需要过滤掉待提报和已废止的记录
if (Objects.nonNull(filter.getFrom()) && VisaChangePageSearchReq.FromEnum.SELECT.equals(filter.getFrom())) {
queryChainWrapper.apply("CASE " +
"WHEN STATUS = 'TO_REPORT' THEN FALSE " +
"WHEN STATUS = 'FORBIDED' THEN FALSE " +
"ELSE TRUE " +
"END");
}
return queryChainWrapper;
}
@ -1148,7 +1157,7 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
Map<Long, Set<VisaButtonTypeEnum>> operateBtnMap = visaHelper.fetchBtnsByBizTypeAndStatus(records, req.getCurrentPersonId(), req.getCurrentOuId(), req.getCurrentWorkspaceId());
/*组装信息*/
List<VisaChangePageSearchResp> respList = records.stream()
return records.stream()
.map(r -> {
VisaChangePageSearchResp resp = BeanUtil.copyProperties(r, VisaChangePageSearchResp.class);
// 工程
@ -1162,16 +1171,6 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
return resp;
})
.collect(Collectors.toList());
// 单据选择器调用需要过滤掉待报账和已废止的记录
if (CollectionUtils.isNotEmpty(respList) && Objects.nonNull(req.getFrom())
&& VisaChangePageSearchReq.FromEnum.SELECT.equals(req.getFrom())) {
return respList.stream()
.filter(r -> !VisaStatusEnum.TO_REPORT.equals(r.getStatus())
&& VisaStatusEnum.FORBIDED.equals(r.getStatus()))
.collect(Collectors.toList());
}
return respList;
}
private Map<Long, String> getProjectInfoMapById(List<Long> projectIdList) {