package com.hz.pm.api.sys.model.vo;

import com.baomidou.mybatisplus.annotation.IdType;
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.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 项目预警
 * @author PoffyZhang
 */
@Data
@NoArgsConstructor
@ToString(callSuper = true)
@Accessors(chain = true)
@TableName("nd_project_early_warning")
@ApiModel(value = "ProjectEarlyWarning", description = "项目预警")
public class ProjectEarlyWarningVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "项目编码")
    private String projectCode;

    @ApiModelProperty(value = "项目名称")
    private String projectName;

    @ApiModelProperty(value = "区域")
    private String areaCode;

    @ApiModelProperty(value = "建设单位CODE")
    private String buildOrgCode;

    @ApiModelProperty(value = "预警状态")
    private String status;

    @ApiModelProperty(value = "流程预警是否异常")
    private Boolean processWarning;
    @ApiModelProperty(value = "填报预警是否异常")
    private Boolean declaredWarning;
    @ApiModelProperty(value = "运维预警是否异常")
    private Boolean operationWarning;
    @ApiModelProperty(value = "续建资金预警是否异常")
    private Boolean renewalFundWarning;
    @ApiModelProperty(value = "是否正常")
    private Boolean normal;

    @ApiModelProperty(value = "规则类型 1.流程预警规则 2.填报预警规则 3.实施监督 4.续建资金项目")
    private Integer ruleType;
    @ApiModelProperty(value = "1超期 2临期")
    private Integer noticeType;

    /**
     * 最新的一条预警记录
     */
    @ApiModelProperty(value = "预警ID")
    private Long recordId;
    @ApiModelProperty(value = "预警员工号")
    private String warningUserId;
    @ApiModelProperty(value = "通知方式 0浙政钉 1短信 逗号分隔")
    private String noticeMethod;
    @ApiModelProperty(value = "通知内容")
    private String noticeContent;
    @ApiModelProperty(value = "任务开始时间")
    private LocalDateTime instStart;
    @ApiModelProperty(value = "预警时间")
    private LocalDateTime warningTime;
    @ApiModelProperty(value = "路径")
    private String path;
    @ApiModelProperty(value = "这一批要通知的员工号")
    private String batchUserIds;


    private LocalDateTime createOn;

}
