diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/FormalSettlementServiceImpl.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/FormalSettlementServiceImpl.java index 345a6a03..69ce83c7 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/FormalSettlementServiceImpl.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/FormalSettlementServiceImpl.java @@ -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 relationApplicationIds = paymentApplicationSettlementMapper.selectList( + Map relationByApplicationId = paymentApplicationSettlementMapper.selectList( Wrappers.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 relationApplicationIds = relationByApplicationId.keySet(); LambdaQueryWrapper paymentApplicationQuery = Wrappers.lambdaQuery(); paymentApplicationQuery.and(query -> { query.eq(PaymentApplication::getSettlementId, id); @@ -345,7 +347,16 @@ public class FormalSettlementServiceImpl extends BaseServiceImpl 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.lambdaQuery() .eq(SettlementAdjustment::getFormalSettlementId, id) .orderByDesc(SettlementAdjustment::getCreateTime)).stream()