package com.jwipc.supplier.entity;

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

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

/**
 * <p>
 * 供应商物料品类关联表
 * </p>
 *
 * @author ZhangJie
 * @since 2024-02-21
 */
@Getter
@Setter
@TableName("t_supplier_purchase_category")
public class SupplierPurchaseCategory implements Serializable {

    private static final long serialVersionUID = 1L;

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

    /**
     * 供应商id，关联供应商主数据
     */
    private Long supplierId;
    private Long invitationId;

    /**
     * 产品小类，关联t_product_group 编码
     */
    private String purchaseCategoryCode;

    /**
     * 物料小类名称
     */
    private String purchaseCategoryName;

    /**
     * 状态 1.注册 2.潜在 3.正式 4.临时 5.退出 6.合格
     */
    private Integer state;

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

    /**
     * 创建来源：0-准入新建   1-品类扩展
     */
    private Integer createType;

    /**
     * 付款条件:数据字典（payment_method）
     */
    private String paymentTerms;
    /**
     * 付款方式:数据字典（payment_way）
     */
    private String paymentMethod;
    /**
     * 承兑方式:数据字典（supplier_accetp_deadline）
     */
    private String acceptanceMethod;
    /**
     * 公司编码
     */
    private String companyCode;

    /**
     * 处理信息
     */
    private String handleMsg;

    /**
     * 税率编码(字典表item_code)
     */
    private String taxCode;

    /**
     * 注册币种
     */
    private String currencyCode;

    /**
     * 统御科目
     */
    private String controlSubject;

    /**
     * 采购组织编码
     */
    private String purchaseOrgCode;

    /**
     * 转小批量时间
     */
    private LocalDateTime smallTime;

    /**
     * 转合格时间
     */
    private LocalDateTime qualifiedTime;

    /**
     * 是否优先
     */
    private Integer firstFlag;

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

    private LocalDateTime createTime;

    /**
     * 删除标记 0.正常 1.删除
     */
    private Integer deleteFlag;
    /**
     * 状态 0.新增 1.待审批 2.审批通过
     */
    private Integer apprState;
    /**
     * 是否冻结,1:冻结，0:未冻结
     */
    private Integer isFreeze;
    /**
     * 认证报告是否上传,1:是，0:否
     */
    @TableField(value = "report_flag", updateStrategy = FieldStrategy.IGNORED)
    private Integer reportFlag;
    /**
     * 冻结原因
     */
    private String freezeRemark;
    /**
     * Oa流程id
     */
    @TableField(value = "oa_id", updateStrategy = FieldStrategy.IGNORED)
    private String oaId;

    private LocalDateTime effectiveTime;
}
