package com.yeejoin.equipmanage.common.entity;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yeejoin.equipmanage.common.entity.publics.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 *
 *
 * @author wujiang
 * @date 2020-07-07
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("wl_equipment_detail")
@ApiModel(value = "EquipmentDetail对象", description = "")
public class EquipmentDetail extends BaseEntity {

	private static final long serialVersionUID = 1L;

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

	@TableField("code")
	@ApiModelProperty(value = "编码")
	private String code;

	@TableField("equipment_id")
	@ApiModelProperty(value = "装备定义id")
	private Long equipmentId;

	@TableField("equipment_name")
	@ApiModelProperty(value = "装备定义名称")
	private String equipmentName;

	@TableField(exist = false)
	private Equipment equipment;

	@TableField(exist = false)
	private String categoryName;

	@TableField("remark")
	@ApiModelProperty(value = "备注")
	private String remark;

	@TableField("creator_id")
	@ApiModelProperty(value = "创建人id")
	private Long creatorId;

	@TableField("manufacturer_id")
	@ApiModelProperty(value = "生产厂商id")
	private Long manufacturerId;

	@TableField(exist = false)
	private String manufacturerName;

	@TableField(exist = false)
	private ManufacturerInfo manufacturerInfo;

	@TableField("standard")
	@ApiModelProperty(value = "规格")
	private String standard;

	@TableField("maintenance_cycle")
	@ApiModelProperty(value = "保养周期")
	private BigDecimal maintenanceCycle;

	@TableField("update_date")
	@ApiModelProperty(value = "更新时间")
	private Date updateDate;

	@TableField("agent")
	@ApiModelProperty(value = "代理商")
	private String agent;

	@TableField("brand")
	@ApiModelProperty(value = "品牌")
	private String brand;

	@TableField("contract_code")
	@ApiModelProperty(value = "合同编号")
	private String contractCode;

	@TableField(value = "production_date", updateStrategy = FieldStrategy.IGNORED)
    @JsonFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty(value = "生产日期")
	private Date productionDate;

	@TableField(value = "delivery_date", updateStrategy = FieldStrategy.IGNORED)
    @JsonFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty(value = "投运日期")
	private Date deliveryDate;

	@TableField("perf_quota_str")
	@ApiModelProperty(value = "核心参数")
	private String perfQuotaStr;

	@TableField("expiry_date")
	@ApiModelProperty(value = "核心参数")
	private String expiryDate;

	@TableField("price_interregional")
	@ApiModelProperty(value = "价格区间")
	private String priceInterregional;

	@TableField("country")
	@ApiModelProperty(value = "国别")
	private String country;

	@TableField("is_import")
	@ApiModelProperty(value = "是否进口")
	private Boolean isImport;

	@TableField("supplier_id")
	@ApiModelProperty(value = "供应商id")
	private String supplierId;

	@TableField(exist = false)
	private List<UploadFile> img;

	@TableField(exist = false)
	private List<UploadFile> video;

	@TableField(exist = false)
	private List<UploadFile> certification;

	@TableField(exist = false)
	private List<UploadFile> instruction;

	@TableField(exist = false)
	private List<EquProperty> equPropertyList;

	@TableField("org_code")
	@ApiModelProperty(value = "归属组织")
	private String orgCode;

	@TableField("company_name")
	@ApiModelProperty(value = "公司名")
	private String companyName;

	@TableField("department_orgcode")
	@ApiModelProperty(value = "部门code")
	private String departmentOrgcode;

	@TableField("department_name")
	@ApiModelProperty(value = "部门名")
	private String departmentName;

	@TableField(exist = false)
	private String countryName;

	@TableField(exist = false)
	private String unitName;


	@TableField("area")
	@ApiModelProperty(value = "位置信息")
	private String area;


	@ApiModelProperty(value = "经度")
	@TableField(value = "longitude")
	private Double longitude;

	@ApiModelProperty(value = "纬度")
	@TableField(value = "latitude")
	private Double latitude;

	@TableField(exist = false)
	private List<UploadFile> quality;

	@TableField(exist = false)
	private List<UploadFile> operation;

}
