preserve payable partner in fee snapshots

This commit is contained in:
2026-08-12 15:33:32 +08:00
parent dca1455478
commit 645d20665c
8 changed files with 19 additions and 8 deletions
@@ -18,6 +18,8 @@ public record FinanceFeeSourceSnapshot(
String containerNo,
long customerId,
String customerName,
Long partnerId,
String partnerName,
Long feeItemId,
String feeItemCode,
String feeItemName,
@@ -22,12 +22,14 @@ public final class InboundFeeDetailDtos {
@NotBlank @Pattern(regexp = "[A-Z]{3}") String currency,
@NotNull @DecimalMin("0.00") BigDecimal amount,
@NotNull Boolean settlementIncluded,
Long partnerId,
@Size(max = 200) String partnerName,
@Size(max = 500) String remark
) {
public SaveRequest(Long feeItemId, String direction, LocalDate businessDate,
BigDecimal unitPrice, String currency, BigDecimal amount,
String remark) {
this(feeItemId, direction, businessDate, unitPrice, currency, amount, false, remark);
this(feeItemId, direction, businessDate, unitPrice, currency, amount, false, null, null, remark);
}
}
@@ -27,6 +27,8 @@ public class InboundFeeDetailEntity extends BaseEntity {
private String sourceFeeNo;
private String inboundCode;
private String direction;
private Long partnerId;
private String partnerName;
private LocalDate businessDate;
private Long customerId;
private String customerName;
@@ -44,7 +44,7 @@ public class FinanceFeeSourceSnapshotService {
nullSafe(detail.getCurrency()), String.valueOf(detail.getSettlementIncluded()));
return new FinanceFeeSourceSnapshot(detail.getTenantId(), "INBOUND_FEE", sourceFeeId,
version, inboundId, inbound.getInboundCode(), inbound.getOrderId(), null, null, null,
detail.getTenantId(), inbound.getCustomerName(), item.getId(), item.getFeeCode(),
detail.getTenantId(), inbound.getCustomerName(), detail.getPartnerId(), detail.getPartnerName(), item.getId(), item.getFeeCode(),
detail.getFeeTypeNameSnapshot(), detail.getDirection(), detail.getBusinessDate(),
detail.getCurrency(), detail.getAmount(), detail.getReviewStatus(),
detail.getPublicationStatus(), Boolean.TRUE.equals(detail.getSettlementIncluded()),
@@ -65,7 +65,7 @@ public class FinanceFeeSourceSnapshotService {
String.valueOf(detail.getSettlementIncluded()));
return new FinanceFeeSourceSnapshot(detail.getTenantId(), "CONTAINER_FEE", feeId,
version, null, null, null, containerId, detail.getContainerBookingId(),
detail.getContainerNo(), detail.getTenantId(), null, detail.getFeeItemId(),
detail.getContainerNo(), detail.getTenantId(), null, null, null, detail.getFeeItemId(),
detail.getFeeItemCodeSnapshot(), detail.getFeeItemNameSnapshot(), detail.getDirection(),
detail.getBusinessDate(), detail.getCurrency(), detail.getAmount(), detail.getReviewStatus(),
publicationStatus, Boolean.TRUE.equals(detail.getSettlementIncluded()),
@@ -310,6 +310,8 @@ public class InboundFeeDetailService {
value.setFeeItemId(item.getId());
value.setInboundCode(inbound.getInboundCode());
value.setDirection(request.direction());
value.setPartnerId("PAYABLE".equals(request.direction()) ? request.partnerId() : null);
value.setPartnerName("PAYABLE".equals(request.direction()) ? request.partnerName() : null);
value.setBusinessDate(request.businessDate());
value.setFeeCategorySnapshot(item.getCategory());
value.setTradeScopeSnapshot(item.getTradeScope());