package org.security.trans.task.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * @author Created by yzy
 * @date 2022/4/22 14:21
 */
@Data
@ApiModel(value = "TaskTodo对象", description = "任务-待办事项")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class TaskTodo {
	/**
	 * ID
	 */
	@ApiModelProperty(value = "ID")
	private String id;

	/**
	 * 待办任务对应实体名
	 * taskHandin-应急演练、教育培训
	 * inspection-检查整改
	 * assessment-考核评价
	 * SccUnlocaleCheck-非现场检查整改
	 * SccAlarmPush-警情处理
	 * prevent-案件材料报送
	 */
	@ApiModelProperty(value = "待办实体名")
	private String entityName;

	/**
	 * 提报机构ID
	 */
	@ApiModelProperty(value = "提报机构ID")
	private String department;

	/**
	 * 提报用户
	 */
	@ApiModelProperty(value = "提报用户")
	private String userId;

	/**
	 * 提报角色
	 */
	@ApiModelProperty(value = "提报角色")
	private String roleId;
	/**
	 * 提报部门id
	 */
	@ApiModelProperty(value = "提报部门id")
	private String deptId;
	/**
	 * 所属模块
	 */
	@ApiModelProperty(value = "所属模块")
	private String module;

	/**
	 * 业务类型
	 */
	@ApiModelProperty(value = "业务类型")
	private String businessType;
	/**
	 * 任务类型;1-日常任务 2-专项任务
	 */
	@ApiModelProperty(value = "类型;1-日常任务 2-专项任务")
	private String flag;
	/**
	 * 待办状态;1-代签收 2-待提报 3-超时待签收 4-超时待提报
	 */
	@ApiModelProperty(value = "状态;1-代签收 2-待提报 3-超时待签收 4-超时待提报")
	private String state;

	/**
	 * 提报期限
	 */
	@ApiModelProperty(value = "提报期限")
	@JsonFormat(pattern="yyyy-MM-dd")
	private Date deadline;


	/**
	 * 源业务id
	 */
	@ApiModelProperty(value = "源业务id")
	private String linkId;
	/**
	 * 任务名称
	 */
	@ApiModelProperty(value = "任务名称")
	private String taskName;
}
