package com.yuchen.saas.flow.api.dto.req;

import com.thinkunion.park.service.common.constant.GroupAction;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;

/**
 * <p>
 * 
 * </p>
 *
 * @author zhouhanwei
 * @since 2024-02-22
 */
@Data
public class SaasFlowFormDataSubmitReqDTO {

    @NotNull(groups = GroupAction.UpdateAction.class, message = "id不能为空")
    @Null(groups = GroupAction.InsertAction.class, message = "id必须为空")
    private Long id;

    /**
     * 分组id
     */
    @ApiModelProperty(name = "groupId", value = "分组id")
    private String groupId;
    /**
     * 数据表名称
     */
    @ApiModelProperty(name = "dataTableName", value = "数据表名称")
    private String dataTableName;
    /**
     * 数据表名
     */
    @ApiModelProperty(name = "dataTableDesc", value = "数据表名")
    private String dataTableDesc;
    /**
     * 所属业务
     */
    @ApiModelProperty(name = "belongBusiness", value = "所属业务")
    private Long belongBusiness;
    /**
     * 表类型
     */
    @ApiModelProperty(name = "subdivideType", value = "表类型")
    private String subdivideType;
    /**
     * 业务细分表标识
     */
    @ApiModelProperty(name = "businessSubdivideFormCode", value = "业务细分表标识")
    private String businessSubdivideFormCode;
    /**
     * 业务细分表名称/子表单名称
     */
    @ApiModelProperty(name = "businessSubdivideFormName", value = "业务细分表名称/子表单名称")
    private String businessSubdivideFormName;
    /**
     * 表单配置类型（1：可自定义配置，2：业务配置）
     */
    @ApiModelProperty(name = "processFormFlag", value = "表单配置类型（1：可自定义配置，2：业务配置）")
    private String processFormFlag;
    /**
     * 是否审批流程（1：是，2：否）
     */
    @ApiModelProperty(name = "processFlowFlag", value = "是否审批流程（1：是，0：否）")
    private String processFlowFlag;
    /**
     * 业务类型
     */
    @ApiModelProperty(name = "processBusinessType", value = "业务类型")
    private String processBusinessType;
    /**
     * 表单流程标识
     */
    @ApiModelProperty(name = "formFlowCode", value = "表单流程标识")
    private String formFlowCode;
    /**
     * 父级id
     */
    @ApiModelProperty(name = "parentId", value = "父级id")
    private Long parentId;
    /**
     * 适用对象（1：所有用户，2：企业内部用户，3：管理端人员）
     */
    @ApiModelProperty(name = "applyObjectType", value = "适用对象（1：平台用户  2：组织管理员 3：组织员工）")
    private String applyObjectType;
    /**
     * 备注
     */
    @ApiModelProperty(name = "remark", value = "备注")
    private String remark;
}
