
package com.jwipc.inquiry.dto;

import com.jwipc.aggregation.annotation.RelationAggregationField;
import com.jwipc.sys.client.UserClient;
import lombok.Data;

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

/**
 * <p>
 * 调价管理表
 * </p>
 *
 * @author shenyang.ou
 * @since 2024-03-08
 */
@Data
public class PriceInfoAuditDTO implements Serializable {

    private Long id;

    /**
     * 调价编码
     */
    private String auditCode;

    /**
     * 标题
     */
    private String title;

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

    /**
     * 状态 0：新建 1：审批中 2：审批拒绝 3：审批通过
     */
    private Integer status;

    /**
     * 调价类型 1：数据修改 2：季度降价
     */
    private Integer type;

    /**
     * 公司编码
     */
    private String companyCode;

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

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

    /**
     * 流程id
     */
    private String processId;

    /**
     * 流程时间
     */
    private LocalDateTime processTime;

    /**
     * 流程结果
     */
    private String processResult;

    /**
     * 审批意见
     */
    private String auditMessage;

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

    /**
     * 调价说明

     */
    private String remark;

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

    /**
     * 创建人姓名
     */
    @RelationAggregationField(
            masterIdField = "createUser",
            relationIdField = "id",
            relationNameField = "username",
            relationClientClass = UserClient.class,
            relationMethod = "getByUserIds"
    )
    private String createUserName;

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

    /**
     * 修改人
     */
    private Long updateUser;

    /**
     * 修改时间
     */
    private LocalDateTime updateTime;

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

    /**
     * 采购组织编码（供应商带出）
     */
    private String purchaseOrgCode;

    /**
     * 税率（供应商带出）
     */
    private String taxCode;

    /**
     * 币别（供应商带出）
     */
    private String currencyCode;

    /**
     * 付款条件（供应商带出）
     */
    private String paymentMethod;

    /**
     * 器件分类编码（OA接口用到）
     */
    private String purchaseCategoryCode;

    /**
     * 是否现货；0-否；1-是；（OA接口用到）
     */
    private Integer spotFlag;

    /**
     * 事业部是否同意；0-否；1-是；（OA接口用到）
     */
    private Integer businessAgreeFlag;

    /**
     * 客户是否承担；0-否；1-是；（OA接口用到）
     */
    private Integer customerBearFlag;

    /**
     * 承担比例%（OA接口用到）
     */
    private BigDecimal bearRatio;
}
