package com.xinelu.manage.domain.signpatientmanageroutenode;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xinelu.common.annotation.Excel;
import com.xinelu.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.time.LocalDateTime;
import java.time.LocalTime;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * 签约患者管理任务路径节点对象 sign_patient_manage_route_node
 *
 * @author haown
 * @date 2024-03-18
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "签约患者管理任务路径节点对象", description = "sign_patient_manage_route_node")
public class SignPatientManageRouteNode extends BaseEntity {
	private static final long serialVersionUID=1L;

    /** 主键id */
    private Long id;

    /** 签约患者管理任务表id */
    @ApiModelProperty(value = "签约患者管理任务表id")
    @Excel(name = "签约患者管理任务表id")
    private Long manageRouteId;

    /** 路径名称（任务名称） */
    @ApiModelProperty(value = "路径名称")
    @Excel(name = "路径名称", readConverterExp = "任=务名称")
    private String manageRouteName;

    /** 管理路径节点名称 */
    @ApiModelProperty(value = "管理路径节点名称")
    @Excel(name = "管理路径节点名称")
    private String routeNodeName;

    /** 管理路径节点时间，时间单位为：天 */
    @ApiModelProperty(value = "管理路径节点时间，时间单位为：天")
    @Excel(name = "管理路径节点时间，时间单位为：天")
    private Integer routeNodeDay;

    /** 任务类型，电话外呼：PHONE_OUTBOUND，问卷量表：QUESTIONNAIRE_SCALE，宣教文章：PROPAGANDA_ARTICLE，文字提醒：TEXT_REMIND，人工随访：ARTIFICIAL_FOLLOW_UP */
    @ApiModelProperty(value = "任务类型，电话外呼：PHONE_OUTBOUND，问卷量表：QUESTIONNAIRE_SCALE，宣教文章：PROPAGANDA_ARTICLE，文字提醒：TEXT_REMIND，人工随访：ARTIFICIAL_FOLLOW_UP")
    @Excel(name = "任务类型，电话外呼：PHONE_OUTBOUND，问卷量表：QUESTIONNAIRE_SCALE，宣教文章：PROPAGANDA_ARTICLE，文字提醒：TEXT_REMIND，人工随访：ARTIFICIAL_FOLLOW_UP")
    private String taskType;

    /** 任务状态 */
    @ApiModelProperty(value = "任务状态")
    @Excel(name = "任务状态")
    private String taskStatus;

    /** 任务细分 */
    @ApiModelProperty(value = "任务细分")
    @Excel(name = "任务细分")
    private String taskSubdivision;

    /** 二级分类描述 */
    @ApiModelProperty(value = "二级分类描述")
    @Excel(name = "二级分类描述")
    private String secondClassifyDescribe;

    /** 执行时间，格式：HH:mm */
    @ApiModelProperty(value = "执行时间，格式：HH:mm")
    @JsonFormat(pattern = "HH:mm")
    @Excel(name = "执行时间，格式：HH:mm", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalTime executeTime;

    /** 电话推送标识，0：未开启，1：已开启 */
    @ApiModelProperty(value = "电话推送标识，0：未开启，1：已开启")
    @Excel(name = "电话推送标识，0：未开启，1：已开启")
    private Integer phonePushSign;

    /** 电话话术表id */
    @ApiModelProperty(value = "电话话术表id")
    @Excel(name = "电话话术表id")
    private Long phoneId;

    /** 电话模板ID */
    @ApiModelProperty(value = "电话模板ID")
    @Excel(name = "电话模板ID")
    private String phoneTemplateId;

    /** 电话模板名称 */
    @ApiModelProperty(value = "电话模板名称")
    @Excel(name = "电话模板名称")
    private String phoneTemplateName;

    /** 电话内容（富文本存放整个节点的信息，包含标签画像的名称以及其它，标签画像名称使用特殊符号进行标记） */
    @ApiModelProperty(value = "电话内容")
    @Excel(name = "电话内容", readConverterExp = "富文本存放整个节点的信息，包含标签画像的名称以及其它，标签画像名称使用特殊符号进行标记")
    private String phoneNodeContent;

    /** 电话重拨次数，重拨一次：REDIAL_ONCE，重拨二次：REDIAL_TWICE，不重播：NOT_REPLAY */
    @ApiModelProperty(value = "电话重拨次数，重拨一次：REDIAL_ONCE，重拨二次：REDIAL_TWICE，不重播：NOT_REPLAY")
    @Excel(name = "电话重拨次数，重拨一次：REDIAL_ONCE，重拨二次：REDIAL_TWICE，不重播：NOT_REPLAY")
    private String phoneRedialTimes;

    /** 电话时间间隔，单位为：分钟 */
    @ApiModelProperty(value = "电话时间间隔，单位为：分钟")
    @Excel(name = "电话时间间隔，单位为：分钟")
    private Integer phoneTimeInterval;

    /** 电话短信提醒，不发送短信：NOT_SEND_MESSAGE，未接通发短信：NOT_CONNECTED_SEND_MESSAGE，接通后发短信：CONNECTED_SEND_MESSAGE，所有人发短信：EVERYONE_SEND_MESSAGE */
    @ApiModelProperty(value = "电话短信提醒，不发送短信：NOT_SEND_MESSAGE，未接通发短信：NOT_CONNECTED_SEND_MESSAGE，接通后发短信：CONNECTED_SEND_MESSAGE，所有人发短信：EVERYONE_SEND_MESSAGE")
    @Excel(name = "电话短信提醒，不发送短信：NOT_SEND_MESSAGE，未接通发短信：NOT_CONNECTED_SEND_MESSAGE，接通后发短信：CONNECTED_SEND_MESSAGE，所有人发短信：EVERYONE_SEND_MESSAGE")
    private String phoneMessageRemind;

    /** 电话短信模板表id */
    @ApiModelProperty(value = "电话短信模板表id")
    @Excel(name = "电话短信模板表id")
    private Long phoneMessageTemplateId;

    /** 电话短信模板名称 */
    @ApiModelProperty(value = "电话短信模板名称")
    @Excel(name = "电话短信模板名称")
    private String phoneMessageTemplateName;

    /** 问卷表id */
    @ApiModelProperty(value = "问卷表id")
    @Excel(name = "问卷表id")
    private Long questionInfoId;

    /** 问卷模板名称 */
    @ApiModelProperty(value = "问卷模板名称")
    @Excel(name = "问卷模板名称")
    private String questionnaireName;

    /** 问卷模板内容（富文本存放整个节点的信息，包含标签画像的名称以及其它，标签画像名称使用特殊符号进行标记） */
    @ApiModelProperty(value = "问卷模板内容")
    @Excel(name = "问卷模板内容", readConverterExp = "富=文本存放整个节点的信息，包含标签画像的名称以及其它，标签画像名称使用特殊符号进行标记")
    private String questionnaireContent;

    /** 问卷有效期，单位：天 */
    @ApiModelProperty(value = "问卷有效期，单位：天")
    @Excel(name = "问卷有效期，单位：天")
    private Integer questionExpirationDate;

    /** 宣教文章表id */
    @ApiModelProperty(value = "宣教文章表id")
    @Excel(name = "宣教文章表id")
    private Long propagandaInfoId;

    /** 宣教文章模板标题（宣教模板名称） */
    @ApiModelProperty(value = "宣教文章模板标题")
    @Excel(name = "宣教文章模板标题", readConverterExp = "宣=教模板名称")
    private String propagandaTitle;

    /** 宣教文章内容（富文本存放整个节点的信息，包含标签画像的名称以及其它，标签画像名称使用特殊符号进行标记） */
    @ApiModelProperty(value = "宣教文章内容")
    @Excel(name = "宣教文章内容", readConverterExp = "富=文本存放整个节点的信息，包含标签画像的名称以及其它，标签画像名称使用特殊符号进行标记")
    private String propagandaContent;

    /** 短信推送标识，0：未开启，1：已开启 */
    @ApiModelProperty(value = "短信推送标识，0：未开启，1：已开启")
    @Excel(name = "短信推送标识，0：未开启，1：已开启")
    private Integer messagePushSign;

    /** 短信模板表id */
    @ApiModelProperty(value = "短信模板表id")
    @Excel(name = "短信模板表id")
    private Long messageTemplateId;

    /** 短信模板名称 */
    @ApiModelProperty(value = "短信模板名称")
    @Excel(name = "短信模板名称")
    private String messageTemplateName;

    /** 短信预览 */
    @ApiModelProperty(value = "短信预览")
    @Excel(name = "短信预览")
    private String messagePreview;

    /** 短信节点内容（富文本存放整个节点的信息，包含标签画像的名称以及其它，标签画像名称使用特殊符号进行标记） */
    @ApiModelProperty(value = "短信节点内容")
    @Excel(name = "短信节点内容", readConverterExp = "富=文本存放整个节点的信息，包含标签画像的名称以及其它，标签画像名称使用特殊符号进行标记")
    private String messageNodeContent;

    /** 公众号推送标识，0：未开启，1：已开启 */
    @ApiModelProperty(value = "公众号推送标识，0：未开启，1：已开启")
    @Excel(name = "公众号推送标识，0：未开启，1：已开启")
    private Integer officialPushSign;

    /** 公众号模板表id */
    @ApiModelProperty(value = "公众号模板表id")
    @Excel(name = "公众号模板表id")
    private Long officialTemplateId;

    /** 公众号模板名称 */
    @ApiModelProperty(value = "公众号模板名称")
    @Excel(name = "公众号模板名称")
    private String officialTemplateName;

    /** 公众号提醒内容 */
    @ApiModelProperty(value = "公众号提醒内容")
    @Excel(name = "公众号提醒内容")
    private String officialRemindContent;

    /** 公众号节点内容（富文本存放整个节点的信息，包含标签画像的名称以及其它，标签画像名称使用特殊符号进行标记） */
    @ApiModelProperty(value = "公众号节点内容")
    @Excel(name = "公众号节点内容", readConverterExp = "富=文本存放整个节点的信息，包含标签画像的名称以及其它，标签画像名称使用特殊符号进行标记")
    private String officialNodeContent;

    /** 小程序推送标识，0：未开启，1：已开启 */
    @ApiModelProperty(value = "小程序推送标识，0：未开启，1：已开启")
    @Excel(name = "小程序推送标识，0：未开启，1：已开启")
    private Integer appletPushSign;

    /** 小程序模板表id */
    @ApiModelProperty(value = "小程序模板表id")
    @Excel(name = "小程序模板表id")
    private Long appletTemplateId;

    /** 小程序模板名称 */
    @ApiModelProperty(value = "小程序模板名称")
    @Excel(name = "小程序模板名称")
    private String appletTemplateName;

    /** 小程序提醒内容 */
    @ApiModelProperty(value = "小程序提醒内容")
    @Excel(name = "小程序提醒内容")
    private String appletRemindContent;

    /** 小程序提示说明 */
    @ApiModelProperty(value = "小程序提示说明")
    @Excel(name = "小程序提示说明")
    private String appletPromptDescription;

    /** 小程序节点内容（富文本存放整个节点的信息，包含标签画像的名称以及其它，标签画像名称使用特殊符号进行标记） */
    @ApiModelProperty(value = "小程序节点内容")
    @Excel(name = "小程序节点内容", readConverterExp = "富=文本存放整个节点的信息，包含标签画像的名称以及其它，标签画像名称使用特殊符号进行标记")
    private String appletNodeContent;

    /** 人工随访模板表id */
    @ApiModelProperty(value = "人工随访模板表id")
    @Excel(name = "人工随访模板表id")
    private Long followTemplateId;

    /** 人工随访模板名称 */
    @ApiModelProperty(value = "人工随访模板名称")
    @Excel(name = "人工随访模板名称")
    private String followTemplateName;

    /** 人工随访模板内容（富文本存放整个节点的信息，包含标签画像的名称以及其它，标签画像名称使用特殊符号进行标记） */
    @ApiModelProperty(value = "人工随访模板内容")
    @Excel(name = "人工随访模板内容", readConverterExp = "富=文本存放整个节点的信息，包含标签画像的名称以及其它，标签画像名称使用特殊符号进行标记")
    private String followContent;

    /** 节点审核状态，同意：AGREE，不同意：DISAGREE */
    @ApiModelProperty(value = "节点审核状态，同意：AGREE，不同意：DISAGREE")
    @Excel(name = "节点审核状态，同意：AGREE，不同意：DISAGREE")
    private String routeCheckStatus;

    /** 节点审核人姓名 */
    @ApiModelProperty(value = "节点审核人姓名")
    @Excel(name = "节点审核人姓名")
    private String routeCheckPerson;

    /** 节点审核时间 */
    @ApiModelProperty(value = "节点审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "节点审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime routeCheckDate;

    /** 节点审核备注信息，存储审核备注信息以及审核不通过原因等信息 */
    @ApiModelProperty(value = "节点审核备注信息，存储审核备注信息以及审核不通过原因等信息")
    @Excel(name = "节点审核备注信息，存储审核备注信息以及审核不通过原因等信息")
    private String routeCheckRemark;

    /** 备注信息 */
    @ApiModelProperty(value = "备注信息")
    @Excel(name = "备注信息")
    private String routeNodeRemark;

    /** 节点任务执行状态，已执行：EXECUTED，未执行：UNEXECUTED */
    @ApiModelProperty(value = "节点任务执行状态，已执行：EXECUTED，未执行：UNEXECUTED")
    @Excel(name = "节点任务执行状态，已执行：EXECUTED，未执行：UNEXECUTED")
    private String nodeExecuteStatus;

    /** 任务处理信息 */
    @ApiModelProperty(value = "任务处理信息")
    @Excel(name = "任务处理信息")
    private String routeHandleRemark;

    /** 任务处理人id */
    @ApiModelProperty(value = "任务处理人id")
    @Excel(name = "任务处理人id")
    private Long routeHandleId;

    /** 任务处理人姓名 */
    @ApiModelProperty(value = "任务处理人姓名")
    @Excel(name = "任务处理人姓名")
    private String routeHandlePerson;

    /** 任务链接 */
    @ApiModelProperty(value = "任务链接")
    @Excel(name = "任务链接")
    private String routeLink;

    /** 文字提醒内容 */
    @ApiModelProperty(value = "文字提醒内容")
    @Excel(name = "文字提醒内容")
    private String textRemindContent;
}
