feat: 收款流水列表补充收款金额区间与认领人筛选(认领人经认领记录参数化两段查询过滤)
This commit is contained in:
+10
@@ -79,6 +79,16 @@ public class ReceiptFlowVO extends KingdeeReceiptFlow {
|
||||
@TableField(exist = false)
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime transactionEndTime;
|
||||
/**
|
||||
* 收款金额区间-最小值(查询条件)
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private BigDecimal receiptAmountStart;
|
||||
/**
|
||||
* 收款金额区间-最大值(查询条件)
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private BigDecimal receiptAmountEnd;
|
||||
@TableField(exist = false)
|
||||
private List<ReceiptFlowRecord> claimRecords = new ArrayList<>();
|
||||
}
|
||||
|
||||
+21
@@ -144,6 +144,10 @@ public class ReceiptFlowServiceImpl extends BaseServiceImpl<KingdeeReceiptFlowMa
|
||||
query.getPushStatus())
|
||||
.eq(Func.isNotEmpty(query.getKingdeeBillStatus()), KingdeeReceiptFlow::getKingdeeBillStatus,
|
||||
query.getKingdeeBillStatus())
|
||||
.ge(query.getReceiptAmountStart() != null, KingdeeReceiptFlow::getReceiptAmount,
|
||||
query.getReceiptAmountStart())
|
||||
.le(query.getReceiptAmountEnd() != null, KingdeeReceiptFlow::getReceiptAmount,
|
||||
query.getReceiptAmountEnd())
|
||||
.ge(query.getTransactionStartTime() != null, KingdeeReceiptFlow::getTransactionTime,
|
||||
query.getTransactionStartTime())
|
||||
.le(query.getTransactionEndTime() != null, KingdeeReceiptFlow::getTransactionTime,
|
||||
@@ -151,6 +155,23 @@ public class ReceiptFlowServiceImpl extends BaseServiceImpl<KingdeeReceiptFlowMa
|
||||
.eq(KingdeeReceiptFlow::getStatus, 1)
|
||||
.orderByDesc(KingdeeReceiptFlow::getTransactionTime)
|
||||
.orderByDesc(KingdeeReceiptFlow::getCreateTime);
|
||||
// 认领人筛选:先查该认领人有效认领的流水id(参数化查询,避免拼接 SQL),空则直接返回空页
|
||||
if (Func.isNotEmpty(query.getClaimerName())) {
|
||||
List<Long> claimedFlowIds = claimMapper.selectList(Wrappers.<ReceiptClaim>lambdaQuery()
|
||||
.select(ReceiptClaim::getReceiptFlowId)
|
||||
.like(ReceiptClaim::getClaimerName, query.getClaimerName())
|
||||
.eq(ReceiptClaim::getClaimStatus, CLAIMED)).stream()
|
||||
.map(ReceiptClaim::getReceiptFlowId)
|
||||
.filter(Objects::nonNull)
|
||||
.distinct()
|
||||
.toList();
|
||||
if (claimedFlowIds.isEmpty()) {
|
||||
page.setRecords(List.of());
|
||||
page.setTotal(0);
|
||||
return page.convert(ReceiptFlowWrapper.build()::entityVO);
|
||||
}
|
||||
wrapper.in(KingdeeReceiptFlow::getId, claimedFlowIds);
|
||||
}
|
||||
return page(page, wrapper).convert(ReceiptFlowWrapper.build()::entityVO);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user