package com.zfire.jiasm.syncdata.plus.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 机型表
 * </p>
 *
 * @author gejiang
 * @since 2023-07-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="Product对象", description="机型表")
public class Product extends Model<Product> {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "机型id")
    @TableId(value = "product_id", type = IdType.ID_WORKER_STR)
    private String productId;

    @ApiModelProperty(value = "品牌id(产品品牌)")
    private String productBrandId;

    @ApiModelProperty(value = "品牌名称(产品品牌名称)")
    private String productBrandName;

    @ApiModelProperty(value = "机型编号")
    private String jxid;

    @ApiModelProperty(value = "机型名称")
    private String name;

    @ApiModelProperty(value = "大类编号")
    private String mainId;

    @ApiModelProperty(value = "大类名称")
    private String mainName;

    @ApiModelProperty(value = "小类编号")
    private String smallId;

    @ApiModelProperty(value = "小类名称")
    private String smallName;

    @ApiModelProperty(value = "系列编号")
    private String seriesId;

    @ApiModelProperty(value = "系列名称")
    private String seriesName;

    @ApiModelProperty(value = "物料编号")
    private String materialNumber;

    @ApiModelProperty(value = "结算单价")
    private BigDecimal settlePrice;

    @ApiModelProperty(value = "安装结算分类")
    private String installSettleType;

    @ApiModelProperty(value = "维修结算分类")
    private String repairSettleType;

    @ApiModelProperty(value = "维修标准代码")
    private String repairStandardNumber;

    @ApiModelProperty(value = "维修标准描述")
    private String repairStandardRemark;

    @ApiModelProperty(value = "冷媒类型")
    private String refrigerantType;

    @ApiModelProperty(value = "产品颜色")
    private String productColor;

    @ApiModelProperty(value = "产品档次")
    private String productLevel;

    @ApiModelProperty(value = "是否变频 YES=是 NO=否")
    private String isBp;

    @ApiModelProperty(value = "制冷量")
    private String coolingCapacity;

    @ApiModelProperty(value = "能效等级")
    private String efficiencyLevel;

    @ApiModelProperty(value = "产品类型")
    private String productType;

    @ApiModelProperty(value = "制冷量范围")
    private String coolingCapacityRange;

    @ApiModelProperty(value = "内外配套方式")
    private String completeStyle;

    @ApiModelProperty(value = "机组能力")
    private String crewAbility;

    @ApiModelProperty(value = "内机条码id")
    private String insideCodeId;

    @ApiModelProperty(value = "内机条码")
    private String insideCode;

    @ApiModelProperty(value = "内机名称")
    private String insideName;

    @ApiModelProperty(value = "外机条码id")
    private String outCodeId;

    @ApiModelProperty(value = "外机条码")
    private String outCode;

    @ApiModelProperty(value = "外机名称")
    private String outName;

    @ApiModelProperty(value = "外机物料代码")
    private String outMaterialNumber;

    @ApiModelProperty(value = "外机型号")
    private String outProductModel;

    @ApiModelProperty(value = "排序等级")
    private Integer sortLevel;

    @ApiModelProperty(value = "ON=开启 OFF=关闭")
    private String status;

    @ApiModelProperty(value = "序列序号")
    private Integer seriesNo;

    @ApiModelProperty(value = "封面图")
    private String mainImg;

    @ApiModelProperty(value = "内机图片")
    private String insideImg;

    @ApiModelProperty(value = "外机图片")
    private String outImg;

    @ApiModelProperty(value = "配件图片多个英文逗号隔开")
    private String partImgs;

    @ApiModelProperty(value = "其他图片多个英文逗号隔开")
    private String otherImgs;

    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    @TableField(fill = FieldFill.INSERT)
    private String createBy;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    @ApiModelProperty(value = "创建类型(手动创建/系统创建)")
    private String flag;

    @ApiModelProperty(value = "机型描述")
    private String remark;


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

}
