/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.security.trans.task.entity;

import com.baomidou.mybatisplus.annotation.*;
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 org.security.ht.entity.common.BaseEntity;
import org.security.ht.entity.common.FlowEntity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 任务-任务提报实体类
 *
 * @author BladeX
 * @since 2022-03-14
 */
@Data
@TableName("T_TASK_HANDIN")
@ApiModel(value = "TaskHandin对象", description = "任务-任务提报")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class TaskHandin extends FlowEntity implements Serializable {

	private static final long serialVersionUID = 1L;

	/**
	* ID
	*/
		@ApiModelProperty(value = "ID")
		@TableId("ID")
	private String id;
	/**
	* 提交时间
	*/
		@ApiModelProperty(value = "提交时间")
		@TableField("SUBMIT_TIME")
		@JsonFormat(pattern="yyyy-MM-dd")
	private Date submitTime;
	/**
	* 关联任务ID
	*/
		@ApiModelProperty(value = "关联任务ID")
		@TableField("TASK_ID")
	private String taskId;
	/**
	* 相关附件
	*/
		@ApiModelProperty(value = "相关附件")
		@TableField("FILE_IDS")
	private String fileIds;
	/**
	* 提报用户
	*/
		@ApiModelProperty(value = "提报用户")
		@TableField("USER_ID")
	private String userId;
	/**
	* 提报角色
	*/
		@ApiModelProperty(value = "提报角色")
		@TableField("ROLE_ID")
	private String roleId;
	/**
	* 所属模块
	*/
		@ApiModelProperty(value = "所属模块")
		@TableField("MODULE")
	private String module;
	/**
	* 业务类型
	*/
		@ApiModelProperty(value = "业务类型")
		@TableField("BUSINESS_TYPE")
	private String businessType;
	/**
	 * 类型;1-日常任务 2-专项任务
	 */
	@ApiModelProperty(value = "类型;1-日常任务 2-专项任务")
	@TableField("FLAG")
	private String flag;
	/**
	* 提报期限
	*/
		@ApiModelProperty(value = "提报期限")
		@TableField("DEADLINE")
		@JsonFormat(pattern="yyyy-MM-dd")
	private Date deadline;
	/**
	* 现场照片
	*/
		@ApiModelProperty(value = "现场照片")
		@TableField("PIC_IDS")
	private String picIds;
	/**
	* 执行次数;用于记录如应急演练‘演练次数’或其他类似次数信息
	*/
		@ApiModelProperty(value = "执行次数;用于记录如应急演练‘演练次数’或其他类似次数信息")
		@TableField("EXECUTE_NUMBER")
	private BigDecimal executeNumber;
	/**
	* 参与人数;用于记录如应急演练‘参演人数’或其他人数信息
	*/
		@ApiModelProperty(value = "参与人数")
		@TableField("PEOPLE_NUMBER")
	private BigDecimal peopleNumber;
	/**
	* 部门id
	*/
		@ApiModelProperty(value = "部门id")
		@TableField("DEPT_ID")
	private String deptId;
	/**
	 * 部门名称
	 */
	@ApiModelProperty(value = "部门名称")
	@TableField("DEPT_NAME")
	private String deptName;
	/**
	* 逻辑删除标识符;1-删除，0-正常
	*/
		@ApiModelProperty(value = "逻辑删除标识符;1-删除，0-正常")
		@TableField("DEL_FLAG")
		@TableLogic
	private String delFlag;
	/**
	* 任务主题-用于记录如应急演练主题、教育培训主题等
	*/
		@ApiModelProperty(value = "任务主题")
		@TableField("TITLE")
	private String title;
	/**
	* 暂存标志
	*/
		@ApiModelProperty(value = "暂存标志")
		@TableField("SUBMIT_TYPE")
	private String submitType;
	/**
	* 附件groupName
	*/
		@ApiModelProperty(value = "附件groupName")
		@TableField("GROUP_NAME")
	private String groupName;
	/**
	* 业务状态 0-未提报 1-超时未报 2-按时提报 3-超时提报 4-任务终止
	*/
		@ApiModelProperty(value = "业务状态 0-未提报 1-超时未报 2-按时提报 3-超时提报 4-任务终止")
		@TableField("STATUS")
	private String status;

}
