package com.by4cloud.platformx.business.vo; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.util.Date; @Data public class ContractPaymentScheduleVo { private Long id; @Schema(description = "收款阶段名称(显性要素,如:合同签订预付、发货前付款、货到签收付款、调试完成付款、质保金)") private String stageName; @Schema(description = "收款比例(%,如30表示30%)(显性要素)") private BigDecimal paymentRatio; @Schema(description = "计划收款金额(根据合同总金额*比例自动计算)") private BigDecimal plannedAmount; @Schema(description = "实际收款金额") private BigDecimal actualAmount; @Schema(description = "收款阶段生效日期(隐性要素 - 履约时间起点,即该节点实际达成的日期)") @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd") private Date effectiveDate; @Schema(description = "收款阶段截止日期") @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd") private Date effectiveEndDate; @Schema(description = "收款日期") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date paymentDate; @Schema(description = "收款状态(0-未收款 1-部分收款 2-已收款 3-逾期)") private Integer paymentStatus; @Schema(description = "履约时间") @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd") private Date processDate; @Schema(description = "约定天数") private Integer agreedDays; }