package com.zc.business.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.omg.CORBA.INTERNAL;

/**
 * 信息发布管理记录对象 dc_publish_manage
 * 
 * @author ruoyi
 * @date 2024-04-19
 */
public class DcPublishManage extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 事件编号 */
    @Excel(name = "事件编号")
    private String eventId;

    /** 所属机构 */
    @Excel(name = "所属机构")
    private Long deptId;

    /** 发布渠道ID */
    @Excel(name = "发布渠道ID")
    private Long publishChannelsId;

    /** 标题 */
    @Excel(name = "标题")
    private String title;

    /** 发布渠道:多选用逗号隔开1-手机短信2-微信公众号3-微博4-情报板5-服务网站6-微信小程序 */
    @Excel(name = "发布渠道",readConverterExp="1=手机短信,2=微信公众号,3=微博,4=情报板,5=服务网站,6=微信小程序")
    private Integer publishChannels;

    /** 审核状态:0-待审核1-已审核2-未通过 */
    @Excel(name = "审核状态: 0-待审核 1-已审核 2-未通过")
    private Integer isverify;

    /** 发布者 */
    @Excel(name = "发布者")
    private String publisher;

    /** 审核者1 */
    @Excel(name = "审核者1")
    private String auditor1;

    /** 审核者1 */
    @Excel(name = "审核者1")
    private String auditor2;

    /** 审核时间1 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @Excel(name = "审核时间1", width = 30, dateFormat = "yyyy-MM-dd")
    private Date auditTime1;

    /** 审核时间1 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @Excel(name = "审核时间1", width = 30, dateFormat = "yyyy-MM-dd")
    private Date auditTime2;

    /** 审核者1意见 */
    @Excel(name = "审核者1意见")
    private String auditComment1;

    /** 审核者2意见 */
    @Excel(name = "审核者2意见")
    private String auditComment2;

    /** 发布时间 */
    @Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date publishTime;

    /** 发布状态:1-成功2-失败3-草稿 */
    @Excel(name = "发布状态: 1-成功 2-失败 3-草稿")
    private Integer publishStatus;

    /** 事件详情 */
    @Excel(name = "事件详情")
    private String contentDetails;

    @Excel(name = "方向", readConverterExp = "1=菏泽方向,3=济南方向")
    private String direction;
    @Excel(name = "桩号")
    private String stakeMark;
    @Excel(name = "事件主类",readConverterExp = "1=交通事故,2=车辆故障,3=交通管制,4=交通拥堵,5=非法上路,6=路障清除,7=施工建设,8=服务区异常,9=设施设备隐患,10=异常天气,11=其他事件")
    private String eventType;
    @Excel(name = "事件子类", readConverterExp = "1-1=追尾,1-2=侧翻,1-3=撞护栏,1-4=自然,1-5=其他事故,2-1=车辆故障,3-1=主线封闭和限行,3-2=收费站封闭和限行,3-3=立交封闭和限行,3-4=服务区封闭和限行,4-1=道路拥堵,4-2=立交拥堵,4-3=收费站拥堵,4-4=服务区拥堵,5-1=行人,5-2=非机动车,5-3=摩托车,5-4=其他,6-1=烟雾,6-2=倒伏树木,6-3=撒落物,6-4=动物,6-5=其他,7-1=道路养护施工,7-2=收费站养护施工,7-3=服务区养护施工,7-4=枢纽立交匝道养护施工,7-5=地方道路养护施工,7-6=道路工程建设施工,7-7=收费站工程建设施工,7-8=服务区工程建设施工,7-9=枢纽立交匝道工程建设施工,7-10=地方道路工程建设施工,8-1=封闭、暂停营业,8-2=重要设施停用,8-3=服务区其他异常,9-1=摄像机,9-2=护栏,9-3=隔离栅")
    private String eventSubclass;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date eventTime;

    /** 参数开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date startTime;
    /** 参数结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date endTime;
    //参数
    private String startStakeMarkValue;
    //参数
    private String endStakeMarkValue;
    //参数
    private Integer startStakeMark;
    //参数
    private Integer endStakeMark;
    //管制收费站
    private String facilityName;
    //事件状态:0-待确认1-处理中2-已完成
    private Integer eventState;

    public Integer getEventState() {
        return eventState;
    }

    public void setEventState(Integer eventState) {
        this.eventState = eventState;
    }

    public String getFacilityName() {
        return facilityName;
    }

    public void setFacilityName(String facilityName) {
        this.facilityName = facilityName;
    }

    public String getStartStakeMarkValue() {
        return startStakeMarkValue;
    }

    public void setStartStakeMarkValue(String startStakeMarkValue) {
        this.startStakeMarkValue = startStakeMarkValue;
    }

    public String getEndStakeMarkValue() {
        return endStakeMarkValue;
    }

    public void setEndStakeMarkValue(String endStakeMarkValue) {
        this.endStakeMarkValue = endStakeMarkValue;
    }

    public Integer getStartStakeMark() {
        return startStakeMark;
    }

    public void setStartStakeMark(Integer startStakeMark) {
        this.startStakeMark = startStakeMark;
    }

    public Integer getEndStakeMark() {
        return endStakeMark;
    }

    public void setEndStakeMark(Integer endStakeMark) {
        this.endStakeMark = endStakeMark;
    }

    public String getDirection() {
        return direction;
    }

    public Date getEventTime() {
        return eventTime;
    }

    public void setEventTime(Date eventTime) {
        this.eventTime = eventTime;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public void setDirection(String direction) {
        this.direction = direction;
    }

    public String getStakeMark() {
        return stakeMark;
    }

    public void setStakeMark(String stakeMark) {
        this.stakeMark = stakeMark;
    }

    public String getEventType() {
        return eventType;
    }

    public void setEventType(String eventType) {
        this.eventType = eventType;
    }

    public String getEventSubclass() {
        return eventSubclass;
    }

    public void setEventSubclass(String eventSubclass) {
        this.eventSubclass = eventSubclass;
    }

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

    public Long getId() 
    {
        return id;
    }
    public void setEventId(String eventId) 
    {
        this.eventId = eventId;
    }

    public String getEventId() 
    {
        return eventId;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setPublishChannelsId(Long publishChannelsId) 
    {
        this.publishChannelsId = publishChannelsId;
    }

    public Long getPublishChannelsId() 
    {
        return publishChannelsId;
    }
    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }
    public void setPublishChannels(Integer publishChannels) 
    {
        this.publishChannels = publishChannels;
    }

    public Integer getPublishChannels() 
    {
        return publishChannels;
    }
    public void setIsverify(Integer isverify) 
    {
        this.isverify = isverify;
    }

    public Integer getIsverify() 
    {
        return isverify;
    }
    public void setPublisher(String publisher) 
    {
        this.publisher = publisher;
    }

    public String getPublisher() 
    {
        return publisher;
    }
    public void setAuditor1(String auditor1) 
    {
        this.auditor1 = auditor1;
    }

    public String getAuditor1() 
    {
        return auditor1;
    }
    public void setAuditor2(String auditor2) 
    {
        this.auditor2 = auditor2;
    }

    public String getAuditor2() 
    {
        return auditor2;
    }
    public void setAuditTime1(Date auditTime1) 
    {
        this.auditTime1 = auditTime1;
    }

    public Date getAuditTime1() 
    {
        return auditTime1;
    }
    public void setAuditTime2(Date auditTime2) 
    {
        this.auditTime2 = auditTime2;
    }

    public Date getAuditTime2() 
    {
        return auditTime2;
    }
    public void setAuditComment1(String auditComment1) 
    {
        this.auditComment1 = auditComment1;
    }

    public String getAuditComment1() 
    {
        return auditComment1;
    }
    public void setAuditComment2(String auditComment2) 
    {
        this.auditComment2 = auditComment2;
    }

    public String getAuditComment2() 
    {
        return auditComment2;
    }
    public void setPublishTime(Date publishTime) 
    {
        this.publishTime = publishTime;
    }

    public Date getPublishTime() 
    {
        return publishTime;
    }
    public void setPublishStatus(Integer publishStatus) 
    {
        this.publishStatus = publishStatus;
    }

    public Integer getPublishStatus() 
    {
        return publishStatus;
    }
    public void setContentDetails(String contentDetails) 
    {
        this.contentDetails = contentDetails;
    }

    public String getContentDetails() 
    {
        return contentDetails;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("eventId", getEventId())
            .append("deptId", getDeptId())
            .append("publishChannelsId", getPublishChannelsId())
            .append("title", getTitle())
            .append("publishChannels", getPublishChannels())
            .append("isverify", getIsverify())
            .append("publisher", getPublisher())
            .append("auditor1", getAuditor1())
            .append("auditor2", getAuditor2())
            .append("auditTime1", getAuditTime1())
            .append("auditTime2", getAuditTime2())
            .append("auditComment1", getAuditComment1())
            .append("auditComment2", getAuditComment2())
            .append("publishTime", getPublishTime())
            .append("publishStatus", getPublishStatus())
            .append("contentDetails", getContentDetails())
            .append("remark", getRemark())
            .append("updateTime", getUpdateTime())
            .append("createTime", getCreateTime())
            .toString();
    }
}