package cn.estsh.i3plus.pojo.model.form;

import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn;
import cn.estsh.i3plus.pojo.base.enumutil.BlockFormEnumUtil;
import io.swagger.annotations.ApiParam;
import lombok.Data;

/**
 * @Description : 存储过程列模型
 * @Reference :
 * @Author : yunhao
 * @CreateDate : 2020-10-21 19:00
 * @Modify:
 **/
@Data
public class SqlProcedureColumnModel {

    @ApiParam(value = "过程")
    private String procedureCat;

    @ApiParam(value = "过程方案")
    private String procedureSchem;

    @ApiParam(value = "过程名称")
    private String procedureName;

    @ApiParam(value = "列名")
    private String columnName;

    /**
     * 1是入参
     * 2是出入参
     * 3是？
     * 4是出参
     * 5是返回值（函数）
     */
    @AnnoOutputColumn(refClass = BlockFormEnumUtil.PROCEDURE_COL_TYPE.class)
    @ApiParam(value = "列类型")
    private Integer columnType;

    @ApiParam(value = "数据类型")
    private Integer dataType;

    @ApiParam(value = "数据类型名称")
    private String typeName;

    // 字段Java 类型
    @ApiParam(value = "字段Java 类型")
    private String className;

    @ApiParam(value = "长度")
    private Integer length;

    @ApiParam(value = "精度")
    private Integer scale;

    @ApiParam(value = "是否允许为空")
    private Integer nullable;

    @ApiParam(value = "备注")
    private String remarks;

    /**
     * 0为返回值
     * 1为首位
     */
    @ApiParam(value = "顺序位置")
    private Integer ordinalPosition;


}
