package com.jwipc.contract.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Getter;
import lombok.Setter;

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

/**
 * <p>
 * 
 * </p>
 *
 * @author zx
 * @since 2024-03-08
 */
@Getter
@Setter
@TableName("t_contract_pay_stage")
public class ContractPayStage implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 合同ID
     */
    private Long contractId;

    /**
     * 合同编码
     */
    private String contractCode;

    /**
     * 付款描述
     */
    private String paymentStage;

    /**
     * 付款阶段
     */
    private String paymentPeriod;

    /**
     * 付款前提条件
     */
    private String paymentRequirement;

    /**
     * 付款方式
     */
    private String paymentWay;

    /**
     * 付款时间
     */
    private LocalDate paymentTime;

    /**
     * 付款比例
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal paymentRatio;

    /**
     * 付款金额
     */
    private BigDecimal paymentAmount;

    /**
     * 已付款金额
     */
    private BigDecimal paymentAlreadyAmount;

    /**
     * 剩余未付金额
     */
    @TableField(exist = false)
    private BigDecimal paymentPlusAmount;

    /**
     * 删除标记；0-未删除；1-已删除
     */
    private Integer deleteFlag ;
    /**
     * 付款备注
     */
    private String remark;


    /**
     * 合同明细行号
     */
    private int lineNo;
}
