fix: 修复多结算单合并付款详情显示整单金额
This commit is contained in:
+16
-5
@@ -85,6 +85,7 @@ import org.springblade.transport.pojo.entity.SettlementAdjustment;
|
||||
import org.springblade.transport.pojo.entity.SettlementProjectAdvanceWriteOff;
|
||||
import org.springblade.transport.pojo.entity.Waybill;
|
||||
import org.springblade.transport.pojo.vo.FormalSettlementVO;
|
||||
import org.springblade.transport.pojo.vo.PaymentApplicationVO;
|
||||
import org.springblade.transport.pojo.vo.PreSettlementVO;
|
||||
import org.springblade.transport.pojo.vo.SettlementAdvancePaymentVO;
|
||||
import org.springblade.transport.pojo.vo.SettlementAdjustmentVO;
|
||||
@@ -327,13 +328,14 @@ public class FormalSettlementServiceImpl extends BaseServiceImpl<FormalSettlemen
|
||||
vo.setProjectAdvanceWriteOffs(projectAdvanceWriteOffService.listBySettlement(
|
||||
TransportBusiConstant.SETTLEMENT_BILL_FORMAL, id));
|
||||
vo.setAdvancePayments(this.listAdvancePayments(sources, vo.getProjectAdvanceWriteOffs()));
|
||||
Set<Long> relationApplicationIds = paymentApplicationSettlementMapper.selectList(
|
||||
Map<Long, PaymentApplicationSettlement> relationByApplicationId = paymentApplicationSettlementMapper.selectList(
|
||||
Wrappers.<PaymentApplicationSettlement>lambdaQuery()
|
||||
.select(PaymentApplicationSettlement::getPaymentApplicationId)
|
||||
.eq(PaymentApplicationSettlement::getFormalSettlementId, id)
|
||||
.eq(PaymentApplicationSettlement::getIsDeleted, 0)).stream()
|
||||
.map(PaymentApplicationSettlement::getPaymentApplicationId).filter(Objects::nonNull)
|
||||
.collect(Collectors.toSet());
|
||||
.filter(relation -> relation.getPaymentApplicationId() != null)
|
||||
.collect(Collectors.toMap(PaymentApplicationSettlement::getPaymentApplicationId, relation -> relation,
|
||||
(first, second) -> first));
|
||||
Set<Long> relationApplicationIds = relationByApplicationId.keySet();
|
||||
LambdaQueryWrapper<PaymentApplication> paymentApplicationQuery = Wrappers.<PaymentApplication>lambdaQuery();
|
||||
paymentApplicationQuery.and(query -> {
|
||||
query.eq(PaymentApplication::getSettlementId, id);
|
||||
@@ -345,7 +347,16 @@ public class FormalSettlementServiceImpl extends BaseServiceImpl<FormalSettlemen
|
||||
.eq(PaymentApplication::getIsDeleted, 0);
|
||||
vo.setPaymentApplications(paymentApplicationMapper.selectList(paymentApplicationQuery
|
||||
.orderByDesc(PaymentApplication::getCreateTime)).stream()
|
||||
.map(item -> PaymentApplicationWrapper.build().entityVO(item)).toList());
|
||||
.map(item -> {
|
||||
PaymentApplicationVO application = PaymentApplicationWrapper.build().entityVO(item);
|
||||
// 多结算单合并付款时,付款申请金额为整单合计;详情按当前结算单关联行展示分摊金额
|
||||
PaymentApplicationSettlement relation = relationByApplicationId.get(item.getId());
|
||||
if (relation != null) {
|
||||
application.setAppliedAmount(money(relation.getAppliedAmount()));
|
||||
application.setPaidAmount(money(relation.getPaidAmount()));
|
||||
}
|
||||
return application;
|
||||
}).toList());
|
||||
vo.setAdjustments(settlementAdjustmentMapper.selectList(Wrappers.<SettlementAdjustment>lambdaQuery()
|
||||
.eq(SettlementAdjustment::getFormalSettlementId, id)
|
||||
.orderByDesc(SettlementAdjustment::getCreateTime)).stream()
|
||||
|
||||
Reference in New Issue
Block a user