package cn.cecep.talroad.domain;


import cn.cecep.talroad.common.core.annotation.Excel;
import cn.cecep.talroad.common.core.web.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;


/**
 * 监测参数汇总(有组织)对象 bas_param
 *
 * @author szhpt
 * @date 2023-01-10*/
@ApiModel(value = "监测参数汇总(有组织)")
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("bas_param")
public class BasParam extends BaseEntity
{
    private static final long serialVersionUID = 1L;


    @ApiModelProperty(value = "参数ID 212协议编码")
    /** 参数ID 212协议编码 */
    @TableId(value = "param_id",type = IdType.AUTO)
    private String paramId;


    @ApiModelProperty(value = "参数ID 212协议编码（新）")
    /** 参数ID 212协议编码（新） */
    @Excel(name = "参数ID 212协议编码", readConverterExp = "新=")
    private String paramIdNew;


    @ApiModelProperty(value = "接口中的参数名 不同参数可能有同名")
    /** 接口中的参数名 不同参数可能有同名 */
    @Excel(name = "接口中的参数名 不同参数可能有同名")
    private String paramCodeSvc;


    @ApiModelProperty(value = "名称")
    /** 名称 */
    @Excel(name = "名称")
    private String name;


    @ApiModelProperty(value = "参数类型")
    /** 参数类型 */
    @Excel(name = "参数类型")
    private String paramType;


    @ApiModelProperty(value = "Java数据类型 Double,String...")
    /** Java数据类型 Double,String... */
    @Excel(name = "Java数据类型 Double,String...")
    private String dataTypeJava;


    @ApiModelProperty(value = "所属行业 枚举。钢铁/焦化/水泥...")
    /** 所属行业 枚举。钢铁/焦化/水泥... */
    private String industry;


    @ApiModelProperty(value = "所属设备类别 枚举。焦炉/烧结机...")
    /** 所属设备类别 枚举。焦炉/烧结机... */
    private String deviceType;


    @ApiModelProperty(value = "所属设施类别 枚举。生产/CEMS...")
    /** 所属设施类别 枚举。生产/CEMS... */
    private String facilityType;


    @ApiModelProperty(value = "所属设施名称")
    /** 所属设施名称 */
    @Excel(name = "所属设施名称")
    private String facilityName;


    @ApiModelProperty(value = "实时值的单位")
    /** 实时值的单位 */
    @Excel(name = "实时值的单位")
    private String unitReal;


    @ApiModelProperty(value = "统计值的单位")
    /** 统计值的单位 */
    @Excel(name = "统计值的单位")
    private String unitStat;


    @ApiModelProperty(value = "小数点后保留的位数")
    /** 小数点后保留的位数 */
    @Excel(name = "小数点后保留的位数")
    private Integer scale;


    @ApiModelProperty(value = "参与统计的最小值 小于此值则不参与统计(对所有值有效)")
    /** 参与统计的最小值 小于此值则不参与统计(对所有值有效) */
    @Excel(name = "参与统计的最小值 小于此值则不参与统计(对所有值有效)")
    private String statMinValue;


    @ApiModelProperty(value = "参与统计的最大值 大于此值则不参与统计(只对实时值有效)")
    /** 参与统计的最大值 大于此值则不参与统计(只对实时值有效) */
    @Excel(name = "参与统计的最大值 大于此值则不参与统计(只对实时值有效)")
    private String statMaxValue;


    @ApiModelProperty(value = "超标阈值 超过此值则认为超标")
    /** 超标阈值 超过此值则认为超标 */
    @Excel(name = "超标阈值 超过此值则认为超标")
    private String overMaxVal;


    @ApiModelProperty(value = "停产判断阈值 不同参数含义不同，可能为比例值或阈值等")
    /** 停产判断阈值 不同参数含义不同，可能为比例值或阈值等 */
    @Excel(name = "停产判断阈值 不同参数含义不同，可能为比例值或阈值等")
    private String stopValue;


    @ApiModelProperty(value = "停产判断阈值备注")
    /** 停产判断阈值备注 */
    @Excel(name = "停产判断阈值备注")
    private String stopValueMemo;


    @ApiModelProperty(value = "是否检查恒定值报警 0=否，1=是")
    /** 是否检查恒定值报警 0=否，1=是 */
    @Excel(name = "是否检查恒定值报警 0=否，1=是")
    private Long isChkSame;


    @ApiModelProperty(value = "是否检查异常值报警 0=否，1=是")
    /** 是否检查异常值报警 0=否，1=是 */
    @Excel(name = "是否检查异常值报警 0=否，1=是")
    private Long isChkAbnormal;


    @ApiModelProperty(value = "显示顺序 同一类别下的显示顺序")
    /** 显示顺序 同一类别下的显示顺序 */
    @Excel(name = "显示顺序 同一类别下的显示顺序")
    private Integer showOrder;




    @ApiModelProperty(value = "状态 0=停用，1=启用")
    /** 状态 0=停用，1=启用 */
    @Excel(name = "状态 0=停用，1=启用")
    @TableField(fill = FieldFill.INSERT)
    private Long status;


    @ApiModelProperty(value = "最小宽度(用与前端表头渲染)")
    /** 最小宽度(用与前端表头渲染) */
    @Excel(name = "最小宽度(用与前端表头渲染)")
    private Long minWidth;


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("paramId", getParamId())
            .append("paramIdNew", getParamIdNew())
            .append("paramCodeSvc", getParamCodeSvc())
            .append("name", getName())
            .append("paramType", getParamType())
            .append("dataTypeJava", getDataTypeJava())
            .append("industry", getIndustry())
            .append("deviceType", getDeviceType())
            .append("facilityType", getFacilityType())
            .append("facilityName", getFacilityName())
            .append("unitReal", getUnitReal())
            .append("unitStat", getUnitStat())
            .append("scale", getScale())
            .append("statMinValue", getStatMinValue())
            .append("statMaxValue", getStatMaxValue())
            .append("overMaxVal", getOverMaxVal())
            .append("stopValue", getStopValue())
            .append("stopValueMemo", getStopValueMemo())
            .append("isChkSame", getIsChkSame())
            .append("isChkAbnormal", getIsChkAbnormal())
            .append("showOrder", getShowOrder())
            .append("createTime", getCreateTime())
            .append("status", getStatus())
            .append("minWidth", getMinWidth())
            .toString();
    }
}
