package cn.stylefeng.workflow.instance.api.pojo;

import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import cn.stylefeng.workflow.api.enums.TaskConditionEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

@EqualsAndHashCode(callSuper = true)
@Data
public class TaskQueryParam extends BaseRequest {

    @ChineseDescription("查询条件枚举")
    private TaskConditionEnum taskCondition;

    @ChineseDescription("任务id")
    private Long taskId;

    @ChineseDescription("提交人id，发起人id")
    private List<Long> applicant;

    @ChineseDescription("提交人所属的组织id")
    private Long applicantOrgId;

    @ChineseDescription("流程实例状态：10-草稿，20-处理中，30-已完成，40-拒绝，50-挂起，60-作废")
    private List<Integer> instanceStatusList;

    @ChineseDescription("流程任务处理人")
    private Long approver;

    @ChineseDescription("任务类型：10-发起，20-审批，30-抄送，40-征询，50-办理")
    private List<Integer> taskTypeList;

    @ChineseDescription("任务状态的集合")
    private List<Integer> taskStatusCollection;

    @ChineseDescription("任务已读未读状态")
    private String readFlag;

    @ChineseDescription("查询条件，流程模型列表")
    private List<Long> flowModelIdList;

    @ChineseDescription("流程标签名称列表")
    private List<String> tagNameList;

}
