package com.xinda.itsm.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.xinda.common.annotation.Excel;
import com.xinda.common.core.domain.BaseEntity;

/**
 * 调度计划管理对象 schedule
 *
 * @author kerwincui
 * @date 2025-04-23
 */
@ApiModel(value = "Schedule",description = "调度计划管理 schedule")
@Data
public class Schedule extends BaseEntity
        {
private static final long serialVersionUID = 1L;

    /** 调度计划id */
    private Long scheduleId;

    /** 计划编号 */
            @Excel(name = "计划编号")
            @ApiModelProperty("计划编号")
    private String number;

    /** 类型 */
            @Excel(name = "类型")
            @ApiModelProperty("类型")
    private String type;

    /** 计划周期 */
            @Excel(name = "计划周期")
            @ApiModelProperty("计划周期")
    private String cycle;

    /** 站所 */
            @Excel(name = "站所")
            @ApiModelProperty("站所")
    private String station;

    /** 状态 */
            @Excel(name = "状态")
            @ApiModelProperty("状态")
    private String status;

    /** 是否超时(0是，1不是) */
            @Excel(name = "是否超时(0是，1不是)")
            @ApiModelProperty("是否超时(0是，1不是)")
    private String isTimeout;

    /** 计划名称 */
            @Excel(name = "计划名称")
            @ApiModelProperty("计划名称")
    private String name;

    /** 计划来源 */
            @Excel(name = "计划来源")
            @ApiModelProperty("计划来源")
    private String source;

    /** 计划内容 */
            @Excel(name = "计划内容")
            @ApiModelProperty("计划内容")
    private String content;

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

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

    /** 一级提醒 */
            @Excel(name = "一级提醒")
            @ApiModelProperty("一级提醒")
    private Long firstReminder;

    /** 二级提醒 */
            @Excel(name = "二级提醒")
            @ApiModelProperty("二级提醒")
    private Long secondReminder;

    /** 开工执行人 */
            @Excel(name = "开工执行人")
            @ApiModelProperty("开工执行人")
    private String operator;

    /** 开工时间 */
            @JsonFormat(pattern = "yyyy-MM-dd")
            @Excel(name = "开工时间", width = 30, dateFormat = "yyyy-MM-dd")
            @ApiModelProperty("开工时间")
    private Date commencementTime;

    /** 归结执行人 */
            @Excel(name = "归结执行人")
            @ApiModelProperty("归结执行人")
    private String terminator;

    /** 归结时间 */
            @JsonFormat(pattern = "yyyy-MM-dd")
            @Excel(name = "归结时间", width = 30, dateFormat = "yyyy-MM-dd")
            @ApiModelProperty("归结时间")
    private Date resolutionTime;

    /** 归结内容 */
            @Excel(name = "归结内容")
            @ApiModelProperty("归结内容")
    private String resolutionContent;

    /** 编制人 */
            @Excel(name = "编制人")
            @ApiModelProperty("编制人")
    private String preparedBy;

    /** 负责人 */
            @Excel(name = "负责人")
            @ApiModelProperty("负责人")
    private String head;

}
