package cn.axzo.workflow.common.model.request.es;

import cn.axzo.workflow.common.model.request.BpmPageParam;
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * 搜索 Es 中任务纬度的数据
 *
 * @author wangli
 * @since 2024-10-08 09:49
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel("搜索 Es 中任务纬度的数据")
@Data
public class TaskSearchReqDTO extends BpmPageParam {
    private static final long serialVersionUID = -1L;

    @ApiModelProperty(value = "流程实例 ID")
    private String processInstanceId;
    /**
     * 搜索含有指定该租户的任务
     */
    @ApiModelProperty(value = "租户 ID")
    private String assigneeTenantId;

    /**
     * 搜索含有指定单位的任务
     */
    @ApiModelProperty(value = "单位 ID")
    private String assigneeOuId;

    /**
     * 搜索含有指定自然人的任务
     */
    @ApiModelProperty(value = "自然人 ID")
    private String assigneePersonId;

    /**
     * 搜索含有指定自然人名称的任务
     */
    @ApiModelProperty(value = "自然人姓名")
    private String assigneeName;

    /**
     * 与上面三个属性互斥
     * <p>
     * 成对是数据项
     */
    @ApiModelProperty(value = "审批人信息集合")
    private List<BpmnTaskDelegateAssigner> assigners;
}
