package com.ruoyi.doubledefense.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.GnhzBaseEntity;
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.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 隐患排查任务对象 tb_check_task
 *
 * @author ruoyi
 * @date 2023-08-03
 */
@ApiModel("隐患排查任务入参实体")
public class CheckTaskDTO implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 主键UUID */
    @ApiModelProperty("主键")
    private String id;

    /** 所属管控措施UUID */
    @ApiModelProperty("所属管控措施UUID")
    @Excel(name = "所属管控措施UUID")
    private String riskMeasureId;

    @ApiModelProperty("风险分析对象ID")
    @Excel(name = "风险分析对象ID")
    private String hazardId;

    @ApiModelProperty("风险分析单元ID")
    @Excel(name = "风险分析单元ID")
    private String riskUnitId;

    @ApiModelProperty("风险事件Id")
    @Excel(name = "风险事件ID")
    private String riskEventId;

    /** 隐患排查内容 */
    @ApiModelProperty("隐患排查内容")
    @Excel(name = "隐患排查内容")
    private String troubleshootContent;

    /** 巡查类型：1日常排查，2综合排查，3专业性排查，4季节性排查，5重点时段及节假日前排查，6事故类比排查，7复产复工前排查，8外聘专家诊断式排查，9管控措施失效，10其它 */
    @ApiModelProperty("巡查类型：1日常排查，2综合排查，3专业性排查，4季节性排查，5重点时段及节假日前排查，6事故类比排查，7复产复工前排查，8外聘专家诊断式排查，9管控措施失效，10其它")
    @Excel(name = "巡查类型：1日常排查，2综合排查，3专业性排查，4季节性排查，5重点时段及节假日前排查，6事故类比排查，7复产复工前排查，8外聘专家诊断式排查，9管控措施失效，10其它")
    private Long checkType;

    /** 巡查方式：1-单位周期N次；2-时间段内1次； */
    @ApiModelProperty("巡查方式：1-单位周期N次；2-时间段内1次；")
    @Excel(name = "巡查方式")
    private Long checkTypeCount;

    /** 巡查周期 */
    @ApiModelProperty("巡查周期")
    @Excel(name = "巡查周期")
    private Long checkCycle;

    /** 巡查周期单位：小时，天，月，年 */
    @ApiModelProperty("巡查周期单位：小时，天，月，年")
    @Excel(name = "巡查周期单位：小时，天，月，年")
    private String checkCycleUnit;

    /** 开始时间 */
    @ApiModelProperty("开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startDate;

    /** 结束时间 */
    @ApiModelProperty("结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endDate;

    /** 隐患级别：0一般隐患，1重大隐患 */
    @ApiModelProperty("隐患级别：0一般隐患，1重大隐患")
    @Excel(name = "隐患级别：0一般隐患，1重大隐患")
    private Long troubleshootLevel;

//    @ApiModelProperty("岗位Id列表")
    @ApiModelProperty("岗位Id(排查任务清单表修改未为单选)")
    @Excel(name = "岗位Id")
    private Long postId;

    @ApiModelProperty("岗位Id(查询条件多选)")
    private List<Long> postIdList;

    @ApiModelProperty("岗位名称")
    private String postName;


    /** 企业编码 */
    @ApiModelProperty(value = "企业编码",hidden = true)
    @Excel(name = "企业编码")
    private String companyCode;


    public List<Long> getPostIdList() {
        return postIdList;
    }

    public void setPostIdList(List<Long> postIdList) {
        this.postIdList = postIdList;
    }

    public String getCompanyCode() {
        return companyCode;
    }

    public void setCompanyCode(String companyCode) {
        this.companyCode = companyCode;
    }

    public String getHazardId() {
        return hazardId;
    }

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

    public String getRiskUnitId() {
        return riskUnitId;
    }

    public void setRiskUnitId(String riskUnitId) {
        this.riskUnitId = riskUnitId;
    }

    public String getRiskEventId() {
        return riskEventId;
    }

    public void setRiskEventId(String riskEventId) {
        this.riskEventId = riskEventId;
    }

    public Long getPostId() {
        return postId;
    }

    public void setPostId(Long postId) {
        this.postId = postId;
    }

    public String getPostName() {
        return postName;
    }

    public void setPostName(String postName) {
        this.postName = postName;
    }

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

    public String getId()
    {
        return id;
    }
    public void setRiskMeasureId(String riskMeasureId)
    {
        this.riskMeasureId = riskMeasureId;
    }

    public String getRiskMeasureId()
    {
        return riskMeasureId;
    }
    public void setTroubleshootContent(String troubleshootContent)
    {
        this.troubleshootContent = troubleshootContent;
    }

    public String getTroubleshootContent()
    {
        return troubleshootContent;
    }
    public void setCheckType(Long checkType)
    {
        this.checkType = checkType;
    }

    public Long getCheckType()
    {
        return checkType;
    }
    public void setCheckCycle(Long checkCycle)
    {
        this.checkCycle = checkCycle;
    }

    public Long getCheckCycle()
    {
        return checkCycle;
    }
    public void setCheckCycleUnit(String checkCycleUnit)
    {
        this.checkCycleUnit = checkCycleUnit;
    }

    public String getCheckCycleUnit()
    {
        return checkCycleUnit;
    }
    public void setStartDate(Date startDate)
    {
        this.startDate = startDate;
    }

    public Date getStartDate()
    {
        return startDate;
    }
    public void setEndDate(Date endDate)
    {
        this.endDate = endDate;
    }

    public Date getEndDate()
    {
        return endDate;
    }
    public void setTroubleshootLevel(Long troubleshootLevel)
    {
        this.troubleshootLevel = troubleshootLevel;
    }

    public Long getTroubleshootLevel()
    {
        return troubleshootLevel;
    }

    public Long getCheckTypeCount() {
        return checkTypeCount;
    }

    public void setCheckTypeCount(Long checkTypeCount) {
        this.checkTypeCount = checkTypeCount;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("riskMeasureId", getRiskMeasureId())
            .append("troubleshootContent", getTroubleshootContent())
            .append("checkType", getCheckType())
            .append("checkTypeCount", getCheckTypeCount())
            .append("checkCycle", getCheckCycle())
            .append("checkCycleUnit", getCheckCycleUnit())
            .append("startDate", getStartDate())
            .append("endDate", getEndDate())
            .append("troubleshootLevel", getTroubleshootLevel())
            .toString();
    }
}
