package com.zd.laboratory.domain;

import com.zd.common.core.annotation.Excel;
import com.zd.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.List;

/**
 * 风险预案对象 lab_risk_plan
 *
 * @author zd
 * @date 2021-09-03
 */
@ApiModel("风险预案表")
public class LabRiskPlan extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @ApiModelProperty(value = "${comment}")
    private Long id;

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

    /**
     * 关联危险源id
     */
    @ApiModelProperty(value = "关联危险源id")
    @Excel(name = "关联危险源id")
    private Long hazardId;

    @ApiModelProperty(value = "压力容器id")
    private Long containerId;

    /**
     * 部门id
     */
    @ApiModelProperty(value = "部门id")
    @Excel(name = "部门id")
    private Long deptId;

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

    /**
     * 创建人（用于数据权限）
     */
    @ApiModelProperty(value = "创建人（用于数据权限）")
    @Excel(name = "创建人", readConverterExp = "用=于数据权限")
    private Long userId;

    /**
     * 短信内容
     */
    @ApiModelProperty(value = "短信内容")
    @Excel(name = "短信内容")
    private String message;

    /**
     * 语音播报内容
     */
    @ApiModelProperty(value = "语音播报内容")
    @Excel(name = "语音播报内容")
    private String voicebroadcast;

    /**
     * 消息内容
     */
    @ApiModelProperty(value = "消息内容")
    @Excel(name = "消息内容")
    private String information;

    /**
     * 预案级别
     */
    @ApiModelProperty(value = "预案级别")
    @Excel(name = "预案级别")
    private String level;

    /**
     * 是否疏散：1是，0否
     */
    @ApiModelProperty(value = "是否疏散：1是，0否")
    @Excel(name = "是否疏散：1是，0否")
    private Integer evacuation;

    /**
     * 是否有关联实验室操作权限
     */
    @ApiModelProperty(value = "是否有关联实验室操作权限")
    private Boolean joinSubOper;

    /**
     * 提交的时候，有重复传感器的预案是否覆盖
     */
    @ApiModelProperty(value = "提交的时候，有重复传感器的预案是否覆盖")
    private Boolean yesOrNo;

    /**
     * 预案所属院系和实验室组合名称
     */
    @ApiModelProperty(value = "预案所属院系和实验室组合名称")
    private String topName;

    /**
     * 楼层id
     */
    @ApiModelProperty(value = "楼层id")
    private Long floorId;

    /**
     * 风险预案与硬件关联
     */
    List<LabRiskPlanHardwareRelation> riskPlanHardwareList;

    /**
     * 风险管理和传感器关联
     */
    List<LabRiskPlanSensorRelation> riskPlanSensorList;


    List<LabRiskPlanjoinsub> labRiskPlanjoinsubList;

    private Integer riskPlanSensorSize;

    /**
     * 是否全选
     */
    private Boolean allSelect;

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

    public Long getId() {
        return id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getMessage() {
        return message==null?"":message;
    }

    public void setVoicebroadcast(String voicebroadcast) {
        this.voicebroadcast = voicebroadcast;
    }

    public String getVoicebroadcast() {
        return voicebroadcast==null?"":voicebroadcast;
    }

    public void setLevel(String level) {
        this.level = level;
    }

    public String getLevel() {
        return level;
    }

    public Long getHazardId() {
        return hazardId;
    }

    public void setHazardId(Long hazardId) {
        this.hazardId = hazardId;
    }

    public Integer getEvacuation() {
        return evacuation;
    }

    public void setEvacuation(Integer evacuation) {
        this.evacuation = evacuation;
    }

    public Boolean getJoinSubOper() {
        return joinSubOper;
    }

    public void setJoinSubOper(Boolean joinSubOper) {
        this.joinSubOper = joinSubOper;
    }

    public Long getContainerId() {
        return containerId;
    }

    public void setContainerId(Long containerId) {
        this.containerId = containerId;
    }

    public List<LabRiskPlanHardwareRelation> getRiskPlanHardwareList() {
        return riskPlanHardwareList;
    }

    public void setRiskPlanHardwareList(List<LabRiskPlanHardwareRelation> riskPlanHardwareList) {
        this.riskPlanHardwareList = riskPlanHardwareList;
    }

    public List<LabRiskPlanSensorRelation> getRiskPlanSensorList() {
        return riskPlanSensorList;
    }

    public void setRiskPlanSensorList(List<LabRiskPlanSensorRelation> riskPlanSensorList) {
        this.riskPlanSensorList = riskPlanSensorList;
    }

    public String getInformation() {
        return information==null?"":information;
    }

    public void setInformation(String information) {
        this.information = information;
    }

    public Integer getRiskPlanSensorSize() {
        return riskPlanSensorSize;
    }

    public void setRiskPlanSensorSize(Integer riskPlanSensorSize) {
        this.riskPlanSensorSize = riskPlanSensorSize;
    }

    public List <LabRiskPlanjoinsub> getLabRiskPlanjoinsubList() {
        return labRiskPlanjoinsubList;
    }

    public void setLabRiskPlanjoinsubList(List <LabRiskPlanjoinsub> labRiskPlanjoinsubList) {
        this.labRiskPlanjoinsubList = labRiskPlanjoinsubList;
    }

    public Boolean getYesOrNo() {
        return yesOrNo;
    }

    public void setYesOrNo(Boolean yesOrNo) {
        this.yesOrNo = yesOrNo;
    }

    public String getTopName() {
        return topName;
    }

    public void setTopName(String topName) {
        this.topName = topName;
    }

    public Long getFloorId() {
        return floorId;
    }

    public void setFloorId(Long floorId) {
        this.floorId = floorId;
    }

    public Boolean getAllSelect() {
        return allSelect;
    }

    public void setAllSelect(Boolean allSelect) {
        this.allSelect = allSelect;
    }
}
