package com.jwipc.finance.model.po;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 对账模块-付款计划汇总表
 * </p>
 *
 * @author 邓京术
 * @since 2025-07-30
 */
@Data
public class PaymentPlanSummaryPO implements Serializable {

    private Long id;

    /**
     * 付款计划单号
     */
    private String paymentPlanNo;

    /**
     * 付款计划Id
     */
    private Long paymentPlanId;

    /**
     * 付款计划年份
     */
    private String paymentPlanYear;

    /**
     * 付款计划月份
     */
    private String paymentPlanMonth;

    /**
     * 供应商代码
     */
    private String supplierCode;

    /**
     * 供应商名称
     */
    private String supplierName;

    /**
     * 类型
     */
    private String paymentType;

    /**
     * 货币代码
     */
    private String currencyCode;

    /**
     * 采购公司代码
     */
    private String companyCode;

    /**
     * 采购公司名称
     */
    private String companyName;

    /**
     * 应付金额
     */
    private BigDecimal actualPayAmount;

    /**
     * 已请款未付金额（历史）
     */
    private BigDecimal appliedUnpaidAmount;

    /**
     * 本月已请款金额
     */
    private BigDecimal appliedPaymentAmount;

    /**
     * 差异金额
     */
    private BigDecimal differenceAmount;

    /**
     * 差异比例
     */
    private BigDecimal differencePercent;
    /**
     * 差异比例描述
     */
    private String differencePercentDesc;

    /**
     * 本月已付金额
     */
    private BigDecimal paidAmountMonth;

    /**
     * 新增标识
     */
    private String newSign;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建用户ID
     */
    private Long createUserId;

    /**
     * 创建用户编码
     */
    private String createUserCode;

    /**
     * 创建用户姓名
     */
    private String createUserName;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 最后更新用户ID
     */
    private Long updateUserId;

    /**
     * 最后更新用户编码
     */
    private String updateUserCode;

    /**
     * 最后更新用户姓名
     */
    private String updateUserName;

    /**
     * 最后更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 删除标识 0:未删除 1:已删除
     */
    private Integer deleteFlag;
}
