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.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;

/**
 * @author zhouhanwei
 * @create 2024/3/4 9:52
 */
@Data
public class SaasFlowInitializeSubmitReqDTO {

    @NotNull(groups = GroupAction.UpdateAction.class, message = "id不能为空")
    @Null(groups = GroupAction.InsertAction.class, message = "id必须为空")
    private Long id;
    /**
     * 所属业务
     */
    @ApiModelProperty(name = "belongBusiness", value = "所属业务")
    private Long belongBusiness;
    /**
     * 表单流程标识
     */
    @NotBlank(message = "流程标识不能为空")
    @ApiModelProperty(name = "formFlowCode", value = "表单流程标识")
    private String formFlowCode;
    /**
     * 适用对象（1：所有用户，2：企业内部用户，3：管理端人员）
     */
    @ApiModelProperty(name = "applyObjectType", value = "适用对象（1：平台用户  2：组织管理员 3：组织员工）")
    private String applyObjectType;
    /**
     * 表单类型（1：基础表单，2：子表单，3：初始化表单）
     */
    @ApiModelProperty(name = "formType", value = "表单类型（1：基础表单，2：子表单，3：初始化表单）")
    private String formType;
    /**
     * 表单内容
     */
    @ApiModelProperty(name = "formContent", value = "表单内容")
    private String formContent;
    /**
     * 表单名称/别名
     */
    @ApiModelProperty(name = "formName", value = "表单名称/别名")
    private String formName;
    /**
     * 申请维度
     */
    @ApiModelProperty(name = "applyDimensionality", value = "申请维度")
    private String applyDimensionality;
    /**
     * 流程设置内容
     */
    @ApiModelProperty(name = "process", value = "流程设置内容")
    private String process;
    /**
     * 设置项
     */
    @ApiModelProperty(name = "settings", value = "设置项")
    private String settings;
    /**
     * 子表单id
     */
    @ApiModelProperty(name = "groupInfoId", value = "子表单id")
    private Long groupInfoId;
}
