package com.storlead.sales.pojo.dto.excel;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.storlead.framework.annotate.AnnotateEnumType;
import com.storlead.framework.annotate.Dict;
import com.storlead.framework.annotate.OrgAutoMateAnnotate;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * @program: sp-sales-platform
 * @description:
 * @author: chenkq
 * @create: 2024-06-28 16:27
 */
public class TaskExcelVerifyEntity extends ExcelVerifyEntityOfMode {

    private static final long serialVersionUID = 1L;


    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JSONField(format ="yyyy-MM-dd HH:mm:ss")
    @Excel(name = "任务开始时")
    private LocalDateTime taskBeginTime;

    @Excel(name = "任务内容")
    private String taskContent;

    @Excel(name = "业务类型")
    private String linkWorkGroupName;

    @ApiModelProperty(value = "关联业务")
    private String linkWorkDataName;

    @ApiModelProperty(value = "关联业务10:客户(包含线索)�?0:联系人�?0:商机�?0:订单�?0:跟进")
    private String linkWorkGroup;

    @Excel(name = "抄送人")
    private String cooperateByName;

    @Excel(name = "紧急程")
    private Integer priorityGradeName;

    @Excel(name = "标记")
    private String markTag;

    @Excel(name = "状")
    private Integer taskStatusName;

    @Excel(name = "备注")
    private String remark;

    @Excel(name = "提醒类型")
    private String remindTypeName;

    @Excel(name = "提醒方式")
    private String remindModeName;

    @ApiModelProperty(value = "关联业务数据")
    private String linkWorkDataId;

    @ApiModelProperty(value = "抄送人")
    @OrgAutoMateAnnotate(valueField = "cooperateByName",annotateType = AnnotateEnumType.USER,multiple = true)
    private String cooperateBy;

    @ApiModelProperty(value = "紧急程度：1：重要，2：紧�?3：重要不紧�?4:重要且紧")
    @Dict(dictCode = "task_priority_grade",valueField = "priorityGradeName",multiple = true)
    private Integer priorityGrade;

    @ApiModelProperty(value = "状�?0 :未开�?1:已完�?2:已取�?3:已超�?4:未完")
    @Dict(dictCode = "task_status_type",valueField = "taskStatusName")
    private Integer taskStatus;

    @ApiModelProperty(value = "操作")
    private Long operatorBy;

    @ApiModelProperty(value = "操作时间")
    private LocalDateTime operatorTime;

    @ApiModelProperty(value = "0：准时提醒，1:提前5分钟,30：提前半小时")
    @Dict(dictCode = "task_remind_type",valueField = "remindTypeName")
    private Integer remindType;

    @ApiModelProperty(value = "提醒类型：site：站内，mail：邮�?sms：短�?�?多个逗号分割")
    @Dict(dictCode = "task_remind_mode",valueField = "remindModeName",multiple = true)
    private String remindMode;

    @ApiModelProperty(value = "任务提醒时间")
    private LocalDateTime remindTime;
}
