package com.bs.ct.domain;

import com.bs.common.annotation.Excel;
import com.bs.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;
import java.util.List;

/**
 * 任务模板对象 ct_task_template
 *
 * @author bs
 * @date 2025-02-22
 */
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("ct_task_template")
@Data
public class CtTaskTemplate extends BaseEntity{
    private static final long serialVersionUID = 1L;

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

    /** 任务类型 */

    @Excel(name = "任务类型")
    @ApiModelProperty(value = "任务类型")
    private String taskType;

    /** 模板名称 */

    @Excel(name = "模板名称")
    @ApiModelProperty(value = "模板名称")
    private String templateName;

    /** 任务标题 */

    @Excel(name = "任务标题")
    @ApiModelProperty(value = "任务标题")
    private String taskTitle;

    /** 任务要求 */

    @Excel(name = "任务要求")
    @ApiModelProperty(value = "任务要求")
    private String taskContent;

    /** 备注 */

    @Excel(name = "备注")
    @ApiModelProperty(value = "备注")
    private String remarks;

    /** 创建人 */

    @Excel(name = "创建人")
    @ApiModelProperty(value = "创建人")
    @TableField(exist = false)
    private String createByUserName;

    /** 创建部门 */

    @Excel(name = "创建部门")
    @ApiModelProperty(value = "创建部门")
    @TableField(exist = false)
    private String createByDeptName;

    /** 创建单位 */

    @Excel(name = "创建单位")
    @ApiModelProperty(value = "创建单位")
    @TableField(exist = false)
    private String createByBranch;

    /** 任务标签 */

    @Excel(name = "任务标签id")
    @ApiModelProperty(value = "任务标签id")
    @TableField(exist = false)
    private List<String> tagIds;

    /** 任务标签 */

    @Excel(name = "任务标签")
    @ApiModelProperty(value = "任务标签")
    @TableField(exist = false)
    private List<CtTaskTemplateTag> tags;


    /** 任务标签 */

    @Excel(name = "任务标签")
    @ApiModelProperty(value = "任务标签")
    @TableField(exist = false)
    private String tagNames;

    @Excel(name = "创建时间")
    @ApiModelProperty(value = "创建时间")
    @TableField(exist = false)
    private String createTimeVo;

    @TableField(exist = false)
    private Integer pageNum;

    @TableField(exist = false)
    private Integer pageSize;

    @TableField(exist = false)
    private Date startCreateTime;

    @TableField(exist = false)
    private Date endCreateTime;
}

