package com.yh.saas.plugin.yiliangyiyun.entity;

import com.baomidou.mybatisplus.activerecord.Model;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.annotations.Version;

import com.baomidou.mybatisplus.enums.IdType;
import com.yh.saas.common.support.entity.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 记录采购计划
 * </p>
 *
 * @author Gongdc
 * @since 2021-07-20
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("procurement_plan_info")
public class ProcurementPlanInfo extends BaseModel<ProcurementPlanInfo> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(type = IdType.UUID)
    private String id;
    /**
     * 公司id
     */
    private String compId;
    /**
     * 采购计划编号
     */
    private String procurementPlanNo;
    /**
     * 采购计划类型(1期货2现货)
     */
    private String procurementPlanType;
    /**
     * 采购计划类型key
     */
    private String procurementPlanTypeKey;
    /**
     * 标题
     */
    private String title;
    /**
     * 货名key
     */
    private String goodsNameKey;
    /**
     * 货名
     */
    private String goodsName;
    /**
     * 重量（吨）
     */
    private Float weight;
    /**
     * 计划采购量（吨）
     */
    private Float plannedPurchaseVolume;
    /**
     * 最小成交量（吨）
     */
    private Float minimumVolume;
    /**
     * 包装方式(1大袋2小袋3散装)
     */
    private String packingType;
    /**
     * 包装方式key
     */
    private String packingTypeKey;
    /**
     * 单价（元/吨）
     */
    private String unitPrice;
    /**
     * 采购价格（元/吨）
     */
    private String procurementPrice;
    /**
     * 基差（元/吨）
     */
    private String basisPrice;
    /**
     * 价格类型(1期货盘面价+基差2定价采购)
     */
    private String priceType;
    /**
     * 价格类型key
     */
    private String priceTypeKey;
    /**
     * 收货库id
     */
    private String receiveWarehouseId;
    /**
     * 收货库
     */
    private String receiveWarehouse;
    /**
     * 收货库所在地省
     */
    private String receivePrivate;
    /**
     * 收货库所在地市
     */
    private String receiveCity;
    /**
     * 收货库所在地区
     */
    private String receiveArea;
    /**
     * 运费承担方(1可议2卖方承担3买方承担)
     */
    private String freightPayer;
    /**
     * 运费承担方key
     */
    private String freightPayerKey;
    /**
     * 装袋备注
     */
    private String baggingNotes;
    /**
     * 买方
     */
    private String buyer;
    /**
     * 买方电话
     */
    private String buyerPhone;
    /**
     * 水分
     */
    private String waterContent;
    /**
     * 杂质
     */
    private String impurity;
    /**
     * 霉变粒
     */
    private String mildewGrain;
    /**
     * 不完善粒
     */
    private String imperfectGrain;
    /**
     * 容重
     */
    private String bulkDensity;
    /**
     * 热损伤
     */
    private String jiaorenli;
    /**
     * 蛋白
     */
    private String protein;
    /**
     * 品级key
     */
    private String gradeKey;
    /**
     * 品级
     */
    private String grade;
    /**
     * 粒型key
     */
    private String grainKey;
    /**
     * 粒型
     */
    private String grain;
    /**
     * 产出年份key
     */
    private String outputYearKey;
    /**
     * 产出年份
     */
    private String outputYear;
    /**
     * 产出地省
     */
    private String outputPrivate;
    /**
     * 产出地市
     */
    private String outputCity;
    /**
     * 状态标识
     */
    private String statusFlag;
    /**
     * 状态
     */
    private String status;
    /**
     * 状态英文
     */
    private String statusEn;
    /**
     * 显示1隐藏0
     */
    private String showFlag;
    /**
     * 用户id
     */
    private String commonId;
    /**
     * 粮信id
     */
    private String liangxinId;

    /**
     * 模糊查询
     */
    @TableField(exist = false)
    private String searchKeyWord;

    /**
     * PC端(传1)
     */
    private String pcFlag;
    /**
     * 通过1驳回2
     * 0 修改状态 1修改基差 2 修改单价
     */
    @TableField(exist = false)
    private Integer flag;
    /**
     * 查询类型
     */
    @TableField(exist = false)
    private String searchType;
    /**
     * 发票费(企业)（元/吨）
     */
    private Float invoiceFeeCompany;
    /**
     * 发票费(个人)（元/吨）
     */
    private Float invoiceFeePerson;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
