package com.boman.domain.dto;


import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @author zhong.h
 * createTime: 2021/6/17
 * description:任务中心的DTO
 */

@Data
@Accessors(chain = true)
public class TaskDto extends BaseDto {
    private static final long serialVersionUID = -1L;

    /**
     * 主键id
     */
    @JSONField
    private Long id;

    /**
     * 上一次的任务id
     */
    private Long lastTaskId;

    /**
     * 批处理数据的id以","分隔
     */
    private String ids;

    /**
     * 任务所属节点id
     */
    private Long nodeId;

    /**
     * 流程实例id
     */
    @JSONField
    private Long instanceId;

    /**
     * 任务所属动作
     */
    private Long actId;

    /**
     * 任务动作类别:定时任务设置的就算作自动
     */
    private Short actType;

    /**
     * 版本
     */
    private Integer rev;

    /**
     * 任务描述
     */
    private String description;

    /**
     * 任务创建时间
     */
    @JSONField(name = "startTime", format = "yyyy-MM-dd HH:mm")
    private Date createTime;

    /**
     * 任务修改时间
     */
    @JSONField(format = "yyyy-MM-dd HH:mm")
    private Date updateTime;

    private String approvedTime;

    /**
     * 上一步任务实例
     */
    private Long lastTask;

    /**
     * 任务执行状态
     */
    private Short excuStatus;

    /**
     * 审批人编号
     */
    private Long approver;

    /**
     * 转派人编号
     */
    private Long delegateId;


    /**
     * 详情查询类型：待办为0，历史为1
     */
    private Integer loadType;

    /**
     * 操作类型：同意,驳回，转派
     */
    private Short type;

    /**
     * 业务编号
     */
    private Long businessCode;

    /**
     * 业务类型
     */
    private Long businessType;

    /**
     * 业务单据
     */
    private String businessBody;

    /**
     * 发起人id
     */
    private Long initiator;

    /**
     * 发起人中文名
     */
    private String initiatorName;

    /**
     * 是否是本人
     */
    private Boolean isinitiator;

    /**
     * 当前用户id
     */
    private Long userId;

    /**
     * 列表查询类型
     */
    private String searchType;

    /**
     * 审批人类型
     */
    private Short approverType;

    /**
     * 用于时间段的截至时间
     */
    private String endTime;

    /**
     * 驳回节点
     */
    private Long backId;

    /**
     * 模板id
     */
    private Long moduleId;

    /**
     * 流程状态
     */
    private Short processStatus;

    //业务数据编号
    private String businessNumber;

    /**
     * 审批人中文名
     */
    private String approverName;

    /**
     * 单据类型中文名
     */
    private String businessTypeName;

    /**
     * 掌云或条件搜索字段
     */
    private String searchField;

    /**
     * 审批人id，和审批人中文名
     */
    private List<Map<String,String>> approverInfo;

    /**
     * 批次号
     */
    private Integer batch;

    /**
     * 人工干预驳回节点id
     */
    private Long backNodeId;

    /**
     * 人工干预同意节点id
     */
    private Long passNodeId;

    /**
     * 是否轮询
     */
    private Boolean isPoll;

    /**
     * 节点名称，代办列表的节点名称筛
     */
    private String nodeName;

    /** 表名 */
    private String tableName;

    /***/
    private String other;
}