package com.jwipc.contract.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;

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

/**
 * <p>
 * 
 * </p>
 *
 * @author zx
 * @since 2024-03-09
 */
@Getter
@Setter
@TableName("t_contract_pay")
public class ContractPay implements Serializable {

    private static final long serialVersionUID = 1L;

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

    /**
     * 标题
     */
    private String payTitle;

    /**
     * 编码
     */
    private String payCode;

    /**
     * 付款单位编码
     */
    private String payOrgCode;

    /**
     * 付款单位名称
     */
    private String payOrgName;

    /**
     * 预付款时间
     */
    private LocalDate payTime;

    /**
     * 收款单位名称
     */
    private String payeeName;

    /**
     * 收款单位编码
     */
    private String payeeCode;

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

    /**
     * 开户银行名称
     */
    private String bankName;

    /**
     * 联行号
     */
    private String bankCode;

    /**
     * 银行账号
     */
    private String bankAccount;

    /**
     * 货币编码
     */
    private String payCurrency;

    /**
     * 相关文件
     */
    private String payFiles;

    /**
     * 结算方式
     */
    private String settlementMethod;

    /**
     * 付款类型
     */
    private Integer payType;

    /**
     * 付款进度
     */
    private BigDecimal paymentProgress;

    /**
     * 合同ID
     */
    private String contractCode;

    private String contractName;

    private String contractAmount;

    /**
     * 合同阶段ID
     */
    private String payStageId;

    private String bz;

    /**
     * 创建日期
     */
    private LocalDate createTime;

    /**
     * OA流程结束时间
     */
    private LocalDate oaFinishTime;

    /**
     * 更新人
     */
    private Long updateUser;

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

    /**
     * 创建人
     */
    private Long createUser;

    /**
     * 删除标记；0-未删除；1-已删除
     */
    private Integer deleteFlag;

    /**
     * 创建人部门
     */
    private String createDept;

    private String createUserName;

    /**
     * 状态 0 待提交  1审批中 2 通过 3 驳回
     */
    private Integer payState;

    private String oaProcessId;

    private String oaCode;

    private String oaMsg;

    private String createUserCode;

    /**
     * 国际代码
     */
    private String bankSwiftCode;

    /**
     * 归属部门
     */
    private String belongDeptCode;

    private String belongDeptName;

    /**
     * 合计金额
     */
    private BigDecimal totalAmount;

    /**
     * 不含税合计金额
     */
    private BigDecimal totalAmountNo;

    /**
     * 税额
     */
    private BigDecimal taxAmount;

    /**
     * 相关流程
     */
    private String process;

    /**
     * 是否尾款（是、否）
     */
    private String isBalanceDue;

    /**
     * 验收流程
     */
    private String accepProcess;
    private String accepProcessData;

    /**
     * 模具流程
     */
    private String muJuProcess;
    private String muJuProcessData;

    /**
     * 请购流程
     */
    private String purchaseProcess;
    private String purchaseProcessData;



    /**
     * 本次应支付(大写)
     */
    private String amountCapital;

    /**
     * 申请类型
     */
    private String applicationType;

    /**
     * SAP订单付款 （是、否）
     */
    private String sapPayType;


    private String orderCode;

    private BigDecimal unpaidAmount;
}
