package com.xinelu.manage.vo.signpatientmanageroutenode;

import com.alibaba.fastjson2.JSONObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xinelu.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDateTime;
import java.time.LocalTime;
import lombok.Data;

/**
 * @description: 任务节点详细信息视图类
 * @author: haown
 * @create: 2024-04-12 17:15
 **/
@ApiModel("任务节点详细信息视图类")
@Data
public class SignPatientManageRouteNodeInfoVo {
	/** 主键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;

	/** 任务执行类型（批量还是单个执行） */
	@ApiModelProperty(value = "任务执行类型（批量还是单个执行，'批量任务：BATCH_TASK,单个实时拔打任务：ACTUAL_TIME_TASK'）")
	@Excel(name = "任务执行类型（批量还是单个执行，'批量任务：BATCH_TASK,单个实时拔打任务：ACTUAL_TIME_TASK'）")
	private String taskExcuteType;

	/** 任务计划执行时间，格式：YYYY-MM-dd HH:mm */
	@ApiModelProperty(value = "任务计划执行时间，格式：YYYY-MM-dd HH:mm")
	@JsonFormat(pattern = "YYYY-MM-dd HH:mm")
	@Excel(name = "任务计划执行时间，格式：YYYY-MM-dd HH:mm:ss", width = 30, dateFormat = "YYYY-MM-dd HH:mm:ss")
	private LocalDateTime nodePlanTime;




	/** 任务类型，电话外呼：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 scriptInfoId;

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

	/** 问卷表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;

	/** 公众号推送标识，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;

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

	/** 详细信息 */
	@ApiModelProperty(value = "详细信息")
	private JSONObject detailInfo;
}
