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.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.math.BigDecimal;

/**
 * 废气有组织、无组织排口对象 pc_outlet
 *
 * @author szhpt
 * @date 2023-01-11*/
@ApiModel(value = "废气有组织、无组织排口")
@Data
@ToString
@EqualsAndHashCode(callSuper = false)
@TableName("pc_outlet")
public class PcOutlet extends BaseEntity
{
    private static final long serialVersionUID = 1L;


    @ApiModelProperty(value = "主键id")
    /** 主键id*/
//    @TableId(value = "id",type = IdType.AUTO)  IdType.AUTO存在时，调用mybatis insert方法失效
    private String id;


    @ApiModelProperty(value = "企业id")
    /** 企业id*/
    @Excel(name = "企业id")
    private String factoryId;


    @ApiModelProperty(value = "污染物类型（1废气、2废水、3、无组织、4:在线监测）")
    /** 污染物类型（废气、废水）*/
    @Excel(name = "污染物类型", readConverterExp = "1=废气,2=废水,3=无组织、4:在线监测")
    private String pollutantType;


    @ApiModelProperty(value = "排口分类（1有组织、2无组织）")
    /** 排口分类（有组织、无组织）*/
    @Excel(name = "排口分类", readConverterExp = "1=有组织,2=无组织")
    private String pollutantOutletType;


    @ApiModelProperty(value = "排放形式")
    /** 排放形式*/
    @Excel(name = "排放形式")
    private String emissionsForm;


    @ApiModelProperty(value = "排放口设置是否符合要求")
    /** 排放口设置是否符合要求*/
    @Excel(name = "排放口设置是否符合要求")
    private String whetherOutletRequirements;


    @ApiModelProperty(value = "产污环节")
    /** 产污环节*/
    @Excel(name = "产污环节")
    private String productionProcess;


    @ApiModelProperty(value = "排口类型(主要排口、一般排扣)")
    /** 排口类型(主要排口、一般排扣)*/
    @Excel(name = "排口类型(主要排口、一般排扣)")
    private String outletTypes;

    @TableField(exist = false)
    private String outletTypesName;

    public String getOutletTypesName() {
        return "1".equals(outletTypes) ? "主要排口" : "一般排口";
    }

    @ApiModelProperty(value = "对应监测点位名称")
    /** 对应监测点位名称*/
    @Excel(name = "对应监测点位名称")
    private String monitoringPointName;


    @ApiModelProperty(value = "对应治理设施编号")
    /** 对应治理设施编号*/
    @Excel(name = "对应治理设施编号")
    private String manageFacilitiesCode;


    @ApiModelProperty(value = "对应治理设施名称")
    /** 对应治理设施名称*/
    @Excel(name = "对应治理设施名称")
    private String manageFacilitiesName;


    @ApiModelProperty(value = "对应生产设施编号")
    /** 对应生产设施编号*/
    @Excel(name = "对应生产设施编号")
    private String productionFacilitiesCode;


    @ApiModelProperty(value = "对应生产设施名称")
    /** 对应生产设施名称 */
    @Excel(name = "对应生产设施名称")
    private String productionFacilitiesName;


    @ApiModelProperty(value = "排口经度")
    /** 排口经度*/
    @Excel(name = "排口经度")
    private BigDecimal outletLon;


    @ApiModelProperty(value = "排口纬度")
    /** 排口纬度*/
    @Excel(name = "排口纬度")
    private BigDecimal outletLat;


    @ApiModelProperty(value = "排气筒高度（m）")
    /** 排气筒高度（m）*/
    @Excel(name = "排气筒高度", readConverterExp = "m=")
    private String exhaustFunnelHight;

    @ApiModelProperty(value = "排气筒出口内径（m）")
    /** 排气筒出口内径（m）*/
    @Excel(name = "排气筒出口内径", readConverterExp = "m=")
    private String exhaustFunnelInner;


    @ApiModelProperty(value = "排气温度")
    /** 排气温度*/
    @Excel(name = "排气温度")
    private String exhaustGasTemperature;


    @ApiModelProperty(value = "排放口编号")
    /** 排放口编号*/
    @Excel(name = "排放口编号")
    private String outletCode;


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


    @ApiModelProperty(value = "排口监测类型")
    /** 排口监测类型*/
    @Excel(name = "排口监测类型")
    private String outletMonitorName;


    @ApiModelProperty(value = "治理设施工艺")
    /** 治理设施工艺*/
    @Excel(name = "治理设施工艺")
    private String treatmentFacilityProcess;


    @ApiModelProperty(value = "视频监控")
    /** 视频监控*/
    @Excel(name = "视频监控")
    private String videoSurveillance;


    @ApiModelProperty(value = "许可证无组织监测点位名称")
    /** 许可证无组织监测点位名称*/
    @Excel(name = "许可证无组织监测点位名称")
    private String stationName;


    @ApiModelProperty(value = "无组织监测点位")
    /** 无组织监测点位*/
    @Excel(name = "无组织监测点位")
    private String stationId;


    @ApiModelProperty(value = "主要污染防治措施")
    /** 主要污染防治措施*/
    @Excel(name = "主要污染防治措施")
    private String pollutionPreventionMeasures;


    @ApiModelProperty(value = "废水来源")
    /** 废水来源*/
    @Excel(name = "废水来源")
    private String sourcesWastewater;

    @ApiModelProperty(value = "其他信息")
    /** 其他信息*/
    @Excel(name = "其他信息")
    private String moreDetails;

    @ApiModelProperty(value = "排水去向")
    /** 排水去向*/
    @Excel(name = "排水去向")
    private String directionDrainage;
    @ApiModelProperty(value = "排放规律")
    /** 排放规律*/
    @Excel(name = "排放规律")
    private String dischargeLaw;
    @ApiModelProperty(value = "间歇式排放时段")
    /** 间歇式排放时段*/
    @Excel(name = "间歇式排放时段")
    private String intermittentEmissionPeriod;
    @ApiModelProperty(value = "受纳污水处理厂名称")
    /** 受纳污水处理厂名称*/
    @Excel(name = "受纳污水处理厂名称")
    private String treatmentPlantAcceptedName;

    @ApiModelProperty(value = "入河排污口批复文号")
    /** 入河排污口批复文号*/
    @Excel(name = "入河排污口批复文号")
    private String approvalDocument;

    @ApiModelProperty(value = "受纳自然水体信息-名称")
    /** 受纳自然水体信息-名称*/
    @Excel(name = "受纳自然水体信息-名称")
    private String receivingWaterName;


    @ApiModelProperty(value = "受纳自然水体信息-功能目标")
    /** 受纳自然水体信息-功能目标*/
    @Excel(name = "受纳自然水体信息-功能目标")
    private String receivingWaterObjective;


    @ApiModelProperty(value = "汇入受纳自然水体处地理坐标-经度")
    /** 汇入受纳自然水体处地理坐标-经度*/
    @Excel(name = "汇入受纳自然水体处地理坐标-经度")
    private String receivingWaterLon;


    @ApiModelProperty(value = "汇入受纳自然水体处地理坐标-纬度")
    /** 汇入受纳自然水体处地理坐标-纬度*/
    @Excel(name = "汇入受纳自然水体处地理坐标-纬度")
    private String receivingWaterLat;


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

    @ApiModelProperty(value = "入河口编号")
    /** 入河口编号*/
    @Excel(name = "入河口编号")
    private String riversOutletCode;

    @ApiModelProperty(value = "标记 N正常  F停运  M维护/维修  S手工输入的设定值  D故障/断电  C校准  T超测量上限")
    /** 标记 N正常  F停运  M维护/维修  S手工输入的设定值  D故障/断电  C校准  T超测量上限*/
    @Excel(name = "标记 N正常  F停运  M维护/维修  S手工输入的设定值  D故障/断电  C校准  T超测量上限")
    private String mark;

    @ApiModelProperty(value = "在线监测-状态: 正常, 预警、异常,超标, 掉线")
    private String outletStatus;

    @ApiModelProperty(value = "无组织监控-状态: 正常, 报警, 离线")
    private String wzzStatus;

    @ApiModelProperty(value = "最新报警信息")
    private String alarmInfo;

    private String parentOutletId;

    @ApiModelProperty(value = "是否手工填报 1-是")
    private String isManualEntry;

    @ApiModelProperty(value = "是否启用")
    private String isStatus;

}
