package com.hotent.surveyinfo.model;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.hotent.util.treeutil.SumTree;
import lombok.Data;
import lombok.NoArgsConstructor;


import java.util.Date;

/**
 *
 * app任务模型
 * @版本： V3.2.0
 * @版权： 
 * @作者： snxx开发平台组
 * @日期： 2023-02-02 15:41:45
 */
@Data

public class Tasktree extends SumTree {

 private String taskid;

    private String pid;

    @JsonProperty("id")
    private String id=taskid;


    @JsonProperty("parentId")
    private String parentId=pid;


    /**
     * 任务编号
     */
    @JsonProperty("taskno")
    private String taskno;

    /**
     * 任务主题
     */
    @JsonProperty("tasktheme")
    private String tasktheme;

    /**
     * 任务概要
     */
    @JsonProperty("tasksummarize")
    private String tasksummarize;

    /**
     * 任务内容
     */
    @JsonProperty("taskcontent")
    private String taskcontent;

//    /**
//     * 任务内容类型：1 文字 2 语音
//     */
//    @JsonProperty("taskcontenttype")
//    private String taskcontenttype;
//
//    /**
//     * 语音任务地址
//     */
//    @JsonProperty("taskaudiopath")
//    private String taskaudiopath;

    /**
     * 任务执行人id
     */
    @JsonProperty("taskexecute_user_id")
    private String taskexecute_user_id;

    /**
     * 任务执行人
     */
    @JsonProperty("taskexecute_user")
    private String taskexecute_user;



    /**
     * 任务状态 正常 即将逾期 逾期 手动终止
     */
    @JsonProperty("taskstate")
    private String taskstate;

    /**
     * 是否协作任务
     */
   @JsonProperty("iscooperatetask")
    private Integer iscooperatetask;

    /**
     * 任务进度
     */
   @JsonProperty("task_progress")
    private Integer task_progress;

    /**
     * 任务下达时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
   @JsonProperty("tasksendtime")
    private Date tasksendtime;

    /**
     * 任务接受时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
   @JsonProperty("taskrecivetime")
    private Date taskrecivetime;

    /**
     * 任务截止时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
   @JsonProperty("taskrequireendtime")
    private Date taskrequireendtime;

    /**
     * 开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
   @JsonProperty("realstarttime")
    private Date realstarttime;

    /**
     * 任务实际结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
   @JsonProperty("realendtime")
    private Date realendtime;





    /**
     * 任务创建人id
     */
   @JsonProperty("createuserid")
    private String createuserid;
    /**
     * 任务创建人
     */
   @JsonProperty("createuser")
    private String createuser;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
   @JsonProperty("createtime")
    private Date createtime;
    /**
     * 任务创建代理人id
     */
   @JsonProperty("delegatecreateuserid")
    private String delegatecreateuserid;

    /**
     * 任务创建代理人
     */
   @JsonProperty("delegatecreateuser")
    private String delegatecreateuser;

    /**
     * 任务分类id
     */
   @JsonProperty("tasktypeid")
    private String tasktypeid;
    /**
     * 任务分类名称
     */
   @JsonProperty("tasktypename")
    private String tasktypename;
    /**
     * 可见范围
     */
   @JsonProperty("seeopcition")
    private String seeopcition;

    /**
     * 任务来源内容类型
     */
   @JsonProperty("orgintaskcontenttype")
    private String orgintaskcontenttype;

    /**
     * 任务来源内容
     */
   @JsonProperty("orgintaskcontent")
    private String orgintaskcontent;

    /**
     * 任务来源语音地址
     */
   @JsonProperty("orgintaskaudiopath")
    private String orgintaskaudiopath;

    /**
     * 汇报频率 日(day） 周（week） 月（month）
     */
   @JsonProperty("reportfrequency")
    private String reportfrequency;

    /**
     * 任务等级
     */
   @JsonProperty("tasklevel")
    private String tasklevel;

    /**
     * 当前任务归属顶级任务id
     */
   @JsonProperty("tasktopid")
    private String tasktopid;

    /**
     * 任务基础分值
     */
   @JsonProperty("basevalue")
    private double basevalue;

    /**
     * 层级-当前属于第几层级
     */
   @JsonProperty("layerlevel")
    private Integer layerlevel;

   @JsonProperty("powerpercent")
    private double powerpercent;

    /**
     * 备注
     */
   @JsonProperty("note")
    private String note;
    /**
     * 任务花费时长
     */
   @JsonProperty("totalsaletime")
    private Integer totalsaletime;
    /**
     * 任务执行人（多选）
     */

    private String[] userIds;

    /**
     * 任务执行人名称（多选）
     */

    private String usernames;

    /**
     * 系统标签
     */

    private String tagid;

    /**
     * 个人标签
     */

    private String persontagid;


    private String uploadFzField;

    /**
     * 指令相关性
     *
    * */
    private Boolean realition;

    /**
     * 指令内容顺序
     *
     * */
    private int contentordernum;

    private String  priorityid;
    private String quadrantid;
    private String subordinatelook;
    private String open;
    private String parentcreateuserid;
    private String senduserid;
    private String sendsubrootnode;

    /**
     * 视频列表
     */
    @JsonProperty("videolist")
    private String videolist;
    /**
     * 附件列表
     */
    @JsonProperty("fileList")
    private String fileList;
    /**
     * 部门id
     */
    @JsonProperty("executeuserOrganizeId")
    private String executeuserOrganizeId;
    /**
     * 部门名称
     */
    @JsonProperty("executeuserOrganizename")
    private String executeuserOrganizename;
    /**
     * 岗位id
     */
    @JsonProperty("executeuserPositionId")
    private String executeuserPositionId;
    /**
     * 岗位名称
     */
    @JsonProperty("executeuserPostionname")
    private String executeuserPostionname;

    /**
     * 创建人部门id
     */
    @JsonProperty("createuserOrganizeId")
    private String createuserOrganizeId;
    /**
     * 创建人部门名称
     */
    @JsonProperty("createuserOrganizename")
    private String createuserOrganizename;
    /**
     * 创建人岗位id
     */
    @JsonProperty("createuserPositionId")
    private String createuserPositionId;
    /**
     * 创建人岗位名称
     */
    @JsonProperty("createuserPostionname")
    private String createuserPostionname;

    @JsonProperty("createheadicon")
    private String createheadicon;

    /**
     * 执行人头像
     */
    @JsonProperty("taskexeuserheadicon")
    private String taskexeuserheadicon;

    private String  realexeuserid;
    private String  realexeusernames;

}