package com.cirs.biz.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.cirs.common.annotation.Excel;
import com.cirs.common.core.domain.BaseEntity;

/**
 * 元器件对象 t_electron_component
 * 
 * @author allen
 * @date 2023-11-03
 */
public class TElectronComponent extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
//    @Excel(name = "元器件id")
    private Long id;

    /** 元器件名称 */
    @Excel(name = "元器件名称")
    private String componentName;

    /** 生产厂家 */
    @Excel(name = "生产厂家")
    private String manufacturer;

    /** 型号规格 */
    @Excel(name = "型号规格")
    private String componentModel;

    /** 国产替代型号 */
    @Excel(name = "国产替代型号")
    private String replaceDomesticModel;

    /** 质量等级（质量由优到劣为JYJCTJTJP） */
//    @Excel(name = "质量等级", readConverterExp = "质=量由优到劣为JYJCTJTJP")//质量最优
    @Excel(name = "质量等级")
    private String qualityGrade;

    /** 供货周期（周） */
//    @Excel(name = "供货周期", readConverterExp = "周=")//供货周期最优
    @Excel(name = "供货周期（周）")//供货周期最优
    private BigDecimal deliveryCycle;

    /** 供货量(个/年） */
    @Excel(name = "供货量（个/年）")//供货量最优
    private BigDecimal supplyQuantity;

    /** 价格（元） */
//    @Excel(name = "价格", readConverterExp = "元=")//成本最优
    @Excel(name = "价格（元）")
    private BigDecimal unitPrice;

    /** ZZKK等级 */
    @Excel(name = "ZZKK等级")
    private String zzkkLevel;

    /** 是否在优选目录内 */
    @Excel(name = "是否在优选目录内")
    private String inPreference;

    /** 停产断档日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "停产断档日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date shutdownDate;

    /** 封装形式 */
    @Excel(name = "封装形式")
    private String encapsulationMode;

    /** 最大正向电流IFM（mA） */
//    @Excel(name = "最大正向电流IFM", readConverterExp = "m=A")
    @Excel(name = "最大正向电流IFM（mA）")
    private BigDecimal paramIfm;


    /** 最大反向工作电压VRRM（V） */
//    @Excel(name = "最大反向工作电压VRRM", readConverterExp = "V=")
    @Excel(name = "最大反向工作电压VRRM（V）")
    private BigDecimal paramVrrm;

    /** 最大浪涌电流IFSM（A） */
//    @Excel(name = "最大浪涌电流IFSM", readConverterExp = "A=")
    @Excel(name = "最大浪涌电流IFSM（A）")
    private BigDecimal paramIfsm;

    /** 稳压状态下的动态电阻ZZ（Ω） */
//    @Excel(name = "稳压状态下的动态电阻ZZ", readConverterExp = "Ω=")
    @Excel(name = "稳压状态下的动态电阻ZZ（Ω）")
    private BigDecimal paramZz;

    /** 最大额定功率PCM（mW） */
//    @Excel(name = "最大额定功率PCM", readConverterExp = "m=W")
    @Excel(name = "最大额定功率PCM（mW）")
    private BigDecimal paramPcm;

    /** 最大集电极电流ICM（mA） */
//    @Excel(name = "最大集电极电流ICM", readConverterExp = "m=A")
    @Excel(name = "最大集电极电流ICM（mA）")
    private BigDecimal paramIcm;

    /** 最大集电极-基极电压VCBO（V） */
//    @Excel(name = "最大集电极-基极电压VCBO", readConverterExp = "V=")
    @Excel(name = "最大集电极-基极电压VCBO（V）")
    private BigDecimal paramVcbo;


    /** 集电极-发射极电压VCEO（V） */
//    @Excel(name = "集电极-发射极电压VCEO", readConverterExp = "V=")
    @Excel(name = "集电极-发射极电压VCEO（V）")
    private BigDecimal paramVceo;

    /** 发射极-基极电压VEBO（V） */
//    @Excel(name = "发射极-基极电压VEBO", readConverterExp = "V=")
    @Excel(name = "发射极-基极电压VEBO（V）")
    private BigDecimal paramVebo;

    /** 漏源电压VDSS（V） */
//    @Excel(name = "漏源电压VDSS", readConverterExp = "V=")
    @Excel(name = "漏源电压VDSS（V）")
    private BigDecimal paramVdss;

    /** 漏极直流电流ID（A） */
//    @Excel(name = "漏极直流电流ID", readConverterExp = "A=")
    @Excel(name = "漏极直流电流ID（A）")
    private BigDecimal paramId;

    /** 漏-源通态电阻RDS(on)（mΩ） */
//    @Excel(name = "漏-源通态电阻RDS(on)", readConverterExp = "m=Ω")
    @Excel(name = "漏-源通态电阻RDS(on)（mΩ）")
    private BigDecimal paramRdsOn;


    /** 抗静电能力 */
    @Excel(name = "抗静电能力")
    private String antistaticCapacity;

    /** 抗辐照能力 */
    @Excel(name = "抗辐照能力")
    private String radiationResistance;

    /** 材料 */
    @Excel(name = "材料")
    private String materials;

    /** 工艺 */
    @Excel(name = "工艺")
    private String craft;

    /** 重量 */
    @Excel(name = "重量")
    private String weight;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setComponentName(String componentName) 
    {
        this.componentName = componentName;
    }

    public String getComponentName() 
    {
        return componentName;
    }
    public void setManufacturer(String manufacturer) 
    {
        this.manufacturer = manufacturer;
    }

    public String getManufacturer() 
    {
        return manufacturer;
    }
    public void setComponentModel(String componentModel) 
    {
        this.componentModel = componentModel;
    }

    public String getComponentModel() 
    {
        return componentModel;
    }
    public void setReplaceDomesticModel(String replaceDomesticModel) 
    {
        this.replaceDomesticModel = replaceDomesticModel;
    }

    public String getReplaceDomesticModel() 
    {
        return replaceDomesticModel;
    }
    public void setQualityGrade(String qualityGrade) 
    {
        this.qualityGrade = qualityGrade;
    }

    public String getQualityGrade() 
    {
        return qualityGrade;
    }
    public void setDeliveryCycle(BigDecimal deliveryCycle) 
    {
        this.deliveryCycle = deliveryCycle;
    }

    public BigDecimal getDeliveryCycle() 
    {
        return deliveryCycle;
    }
    public void setSupplyQuantity(BigDecimal supplyQuantity) 
    {
        this.supplyQuantity = supplyQuantity;
    }

    public BigDecimal getSupplyQuantity() 
    {
        return supplyQuantity;
    }
    public void setUnitPrice(BigDecimal unitPrice) 
    {
        this.unitPrice = unitPrice;
    }

    public BigDecimal getUnitPrice() 
    {
        return unitPrice;
    }
    public void setZzkkLevel(String zzkkLevel) 
    {
        this.zzkkLevel = zzkkLevel;
    }

    public String getZzkkLevel() 
    {
        return zzkkLevel;
    }
    public void setInPreference(String inPreference) 
    {
        this.inPreference = inPreference;
    }

    public String getInPreference() 
    {
        return inPreference;
    }
    public void setShutdownDate(Date shutdownDate) 
    {
        this.shutdownDate = shutdownDate;
    }

    public Date getShutdownDate() 
    {
        return shutdownDate;
    }
    public void setEncapsulationMode(String encapsulationMode) 
    {
        this.encapsulationMode = encapsulationMode;
    }

    public String getEncapsulationMode() 
    {
        return encapsulationMode;
    }
    public void setParamIfm(BigDecimal paramIfm) 
    {
        this.paramIfm = paramIfm;
    }

    public BigDecimal getParamIfm() 
    {
        return paramIfm;
    }
    public void setParamVrrm(BigDecimal paramVrrm) 
    {
        this.paramVrrm = paramVrrm;
    }

    public BigDecimal getParamVrrm() 
    {
        return paramVrrm;
    }
    public void setParamIfsm(BigDecimal paramIfsm) 
    {
        this.paramIfsm = paramIfsm;
    }

    public BigDecimal getParamIfsm() 
    {
        return paramIfsm;
    }
    public void setParamZz(BigDecimal paramZz) 
    {
        this.paramZz = paramZz;
    }

    public BigDecimal getParamZz() 
    {
        return paramZz;
    }
    public void setParamPcm(BigDecimal paramPcm) 
    {
        this.paramPcm = paramPcm;
    }

    public BigDecimal getParamPcm() 
    {
        return paramPcm;
    }
    public void setParamIcm(BigDecimal paramIcm) 
    {
        this.paramIcm = paramIcm;
    }

    public BigDecimal getParamIcm() 
    {
        return paramIcm;
    }
    public void setParamVcbo(BigDecimal paramVcbo) 
    {
        this.paramVcbo = paramVcbo;
    }

    public BigDecimal getParamVcbo() 
    {
        return paramVcbo;
    }
    public void setParamVceo(BigDecimal paramVceo) 
    {
        this.paramVceo = paramVceo;
    }

    public BigDecimal getParamVceo() 
    {
        return paramVceo;
    }
    public void setParamVebo(BigDecimal paramVebo) 
    {
        this.paramVebo = paramVebo;
    }

    public BigDecimal getParamVebo() 
    {
        return paramVebo;
    }
    public void setParamVdss(BigDecimal paramVdss) 
    {
        this.paramVdss = paramVdss;
    }

    public BigDecimal getParamVdss() 
    {
        return paramVdss;
    }
    public void setParamId(BigDecimal paramId) 
    {
        this.paramId = paramId;
    }

    public BigDecimal getParamId() 
    {
        return paramId;
    }
    public void setParamRdsOn(BigDecimal paramRdsOn) 
    {
        this.paramRdsOn = paramRdsOn;
    }

    public BigDecimal getParamRdsOn() 
    {
        return paramRdsOn;
    }
    public void setAntistaticCapacity(String antistaticCapacity) 
    {
        this.antistaticCapacity = antistaticCapacity;
    }

    public String getAntistaticCapacity() 
    {
        return antistaticCapacity;
    }
    public void setRadiationResistance(String radiationResistance) 
    {
        this.radiationResistance = radiationResistance;
    }

    public String getRadiationResistance() 
    {
        return radiationResistance;
    }
    public void setMaterials(String materials) 
    {
        this.materials = materials;
    }

    public String getMaterials() 
    {
        return materials;
    }
    public void setCraft(String craft) 
    {
        this.craft = craft;
    }

    public String getCraft() 
    {
        return craft;
    }
    public void setWeight(String weight) 
    {
        this.weight = weight;
    }

    public String getWeight() 
    {
        return weight;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("componentName", getComponentName())
            .append("manufacturer", getManufacturer())
            .append("componentModel", getComponentModel())
            .append("replaceDomesticModel", getReplaceDomesticModel())
            .append("qualityGrade", getQualityGrade())
            .append("deliveryCycle", getDeliveryCycle())
            .append("supplyQuantity", getSupplyQuantity())
            .append("unitPrice", getUnitPrice())
            .append("zzkkLevel", getZzkkLevel())
            .append("inPreference", getInPreference())
            .append("shutdownDate", getShutdownDate())
            .append("encapsulationMode", getEncapsulationMode())
            .append("paramIfm", getParamIfm())
            .append("paramVrrm", getParamVrrm())
            .append("paramIfsm", getParamIfsm())
            .append("paramZz", getParamZz())
            .append("paramPcm", getParamPcm())
            .append("paramIcm", getParamIcm())
            .append("paramVcbo", getParamVcbo())
            .append("paramVceo", getParamVceo())
            .append("paramVebo", getParamVebo())
            .append("paramVdss", getParamVdss())
            .append("paramId", getParamId())
            .append("paramRdsOn", getParamRdsOn())
            .append("antistaticCapacity", getAntistaticCapacity())
            .append("radiationResistance", getRadiationResistance())
            .append("materials", getMaterials())
            .append("craft", getCraft())
            .append("weight", getWeight())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
