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

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

import javax.validation.constraints.NotBlank;
import java.util.Date;
import java.util.List;

/**
 * 搜索 Es 中实例纬度的数据
 *
 * @author wangli
 * @since 2024-10-08 14:03
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel("搜索 Es 中实例纬度的数据")
@Data
public class InstanceSearchReqDTO extends BpmPageParam {

    @ApiModelProperty(value = "审批人所属租户 ID")
    private String tenantId;

    @ApiModelProperty(value = "审批人所属单位 ID")
    private String ouId;

    @ApiModelProperty(value = "审批人自然人 ID")
    private String personId;

    @ApiModelProperty(value = "审批人姓名")
    private String assigneeName;

    @ApiModelProperty(value = "流程实例状态", notes = "参考 BpmnProcessInstanceResultEnum 枚举")
    private String businessStatus;

    @ApiModelProperty(value = "流程实例名称")
    private String processInstanceName;

    private Date beginStartTime;
    private Date overStartTime;

    private Date beginEndTime;
    private Date overEndTime;

    /**
     * 流程实例 ID, 与其它所有的属性互斥
     */
    @ApiModelProperty(value = "流程实例 ID 集合")
    private List<String> processInstanceIds;
}
