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.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
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;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.Version;
import java.util.Date;


/**
 * 关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据对象 s_ra_real_time_analysis_run_one
 *
 * @author szhpt
 * @date 2023-05-17*/
@ApiModel(value = "关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据")
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("s_ra_real_time_analysis_run_one")
public class SRaRealTimeAnalysisRunOne extends BaseEntity
{
    private static final long serialVersionUID = 1L;


    @ApiModelProperty(value = "数据主键")
    /** 数据主键 */
    @TableId(value = "data_id", type = IdType.ASSIGN_UUID)
    private String dataId;


    @ApiModelProperty(value = "企业主键")
    /** 企业主键 */
    private String factoryId;


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


    @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)")
    /** 行业类别名称(多个使用'、'拼接) */
    @Excel(name = "行业类别")
    private String industryCategoryName;


    @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)")
    /** 行业类别编码(多个使用'、'拼接) */
    private String industryCategoryCode;


    @ApiModelProperty(value = "所在区县名称")
    /** 所在区县名称 */
    @Excel(name = "所在区县")
    private String districtName;


    @ApiModelProperty(value = "所在区县编码")
    /** 所在区县编码 */
    private String districtCode;


    @ApiModelProperty(value = "绩效级别")
    /** 绩效级别 */
    @Excel(name = "绩效级别",readConverterExp = "A=A级,B=B级,B-=B-级,C=C级,D=D级,EXEMPTION=豁免类,NOT_RATED=未评级,NON_PERFORMING_BUSINESS=非绩效企业")
    private String performanceLevel;


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


    @ApiModelProperty(value = "设备编号")
    /** 设备编号 */
    private String deviceId;


    @ApiModelProperty(value = "设备类型(生产设备/治理设备)")
    /** 设备类型(生产设备/治理设备) */
    @Excel(name = "设备类型",readConverterExp = "1=生产设备,2=治理设备")
    private String deviceType;


    @ApiModelProperty(value = "运行状态(1=运行,2=停运,3=启停,4=停启,5=数据缺失,6=数据恒值,7-数据异常)")
    /** 运行状态(1=运行,2=停运,3=启停,4=停启,5=数据缺失) */
    @Excel(name = "运行状态", readConverterExp = "1=运行,2=停运,3=启停,4=停启,5=数据缺失,6=数据恒值,7=数据异常")
    private String operationStatus;


    @ApiModelProperty(value = "判断依据(1=工况数据,2=分表计电数据,3=数据缺失,4=无法判断)")
    /** 判断依据(1=工况数据,2=分表计电数据,3=数据缺失,4=无法判断) */
    @Excel(name = "判断依据", readConverterExp = "1=工况数据,2=分表计电数据,3=数据缺失,4=无法判断")
    private String judgementBasis;

    @ApiModelProperty(value = "更新时间")
    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "更新时间", dateFormat = "yyyy-MM-dd HH:mm")
    private Date updateTime;

    @ApiModelProperty(value = "更新时间")
    @TableField(exist = false)
    private String updateTimeTmp;

    @ApiModelProperty(value = "运行状态时间段")
    /** 运行状态时间段 */
    private String runEtc;


    @ApiModelProperty(value = "异常情况")
    /** 异常情况 */
    private String goingsOn;
    @ApiModelProperty(value = "排污许可行业名称")
    /** 异常情况 */
    private String industryPermissionName;

    /**
     * 运行状态 1=运行,2=停运,3=启停,4=停启,5=数据缺失,6=数据恒值,7-数据异常
     */
    public enum OperationStatus {

        S_1(1, "运行"),
        S_2(2,"停运"),
        S_3(2,"启停"),
        S_4(2,"停启"),
        S_5(2,"数据缺失"),
        S_6(2,"数据恒值"),
        S_7(2,"数据异常");

        public Integer value;
        public String label;

        public Integer getValue() {
            return value;
        }

        public void setValue(Integer value) {
            this.value = value;
        }

        public String getLabel() {
            return label;
        }

        public void setLabel(String label) {
            this.label = label;
        }

        OperationStatus(Integer value, String label) {
            this.value = value;
            this.label = label;
        }
    }

    @ApiModelProperty(value = "总有功电量示值（安）(用电量)")
//    @Excel(name = "总有功电量示值（安）(用电量)")
    private String activePowerQuantityTmp;

    @ApiModelProperty(value = "总有功电量示值（安）(用电量)")
//    @Excel(name = "总有功电量示值（安）(用电量)")
    private String activePowerQuantity;
}
