package com.jwipc.finance.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 对账模块-付款通知单主表
 * </p>
 *
 * @author shenyang.ou
 * @since 2025-10-27
 */
@Getter
@Setter
@TableName("fin_payment_notice")
public class PaymentNotice implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 数据主键
     */
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 流水号
     */
    private String code;

    /**
     * 单据类型；0-报关单；1-invoice
     */
    private Integer type;

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

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

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

    /**
     * 采购组编码
     */
    private String purchaseGroupCode;

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

    /**
     * 未税金额
     */
    private BigDecimal notTaxAmount;

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

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

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

    /**
     * 数据状态 1:暂存 2:待采购确认 3:采购拒绝 4:待推送OA审批 5:OA审批中 6:OA审批不通过 7:待财务确认 8:财务拒绝 9:确认通过
     */
    private Integer status;

    /**
     * 采购确认时间
     */
    private LocalDateTime purchaseConfirmTime;

    /**
     * 采购确认人
     */
    private Long purchaseConfirmUser;

    /**
     * 财务确认时间
     */
    private LocalDateTime financeConfirmTime;

    /**
     * 财务确认人
     */
    private Long financeConfirmUser;

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

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

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

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

    /**
     * 附件
     */
    private String files;

    /**
     * 影像编码
     */
    private String imgCode;
    /**
     * 影像创建时间
     */
    private LocalDateTime imgTime;
    private Long imgUserId;
    /**
     * 删除标识 0:未删除 1:已删除
     */
    private Integer deleteFlag;
}
