package com.qqchen.deploy.backend.workflow.dto.query;

import com.qqchen.deploy.backend.framework.annotation.QueryField;
import com.qqchen.deploy.backend.framework.enums.QueryType;
import com.qqchen.deploy.backend.framework.query.BaseQuery;
import com.qqchen.deploy.backend.workflow.enums.FormBusinessTypeEnums;
import com.qqchen.deploy.backend.workflow.enums.FormDataStatusEnums;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 表单数据查询对象
 *
 * @author qqchen
 * @date 2025-10-24
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class FormDataQuery extends BaseQuery {

    /**
     * 表单定义ID（精确查询）
     */
    @QueryField(field = "formDefinitionId", type = QueryType.EQUAL)
    private Long formDefinitionId;

    /**
     * 表单标识（精确查询）
     */
    @QueryField(field = "formKey", type = QueryType.EQUAL)
    private String formKey;

    /**
     * 表单分类ID（精确查询）
     */
    @QueryField(field = "categoryId", type = QueryType.EQUAL)
    private Long categoryId;

    /**
     * 业务标识（精确查询）
     */
    @QueryField(field = "businessKey", type = QueryType.EQUAL)
    private String businessKey;

    /**
     * 业务类型（精确查询）
     */
    @QueryField(field = "businessType", type = QueryType.EQUAL)
    private FormBusinessTypeEnums businessType;

    /**
     * 提交人（精确查询）
     */
    @QueryField(field = "submitter", type = QueryType.EQUAL)
    private String submitter;

    /**
     * 状态（精确查询）
     */
    @QueryField(field = "status", type = QueryType.EQUAL)
    private FormDataStatusEnums status;
}

