package com.njcn.gather.icd.mapping.pojo.param;

import com.njcn.gather.icd.mapping.pojo.bo.icd.IcdDocument;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * 提交索引绑定并生成 MMS JSON 的请求参数。
 */
@Data
@ApiModel("提交索引绑定并生成 MMS JSON 的请求参数")
public class SubmitIndexSelectionRequest {

    /** ICD 解析结果。 */
    @ApiModelProperty("ICD 解析结果，通常来自候选接口返回")
    private IcdDocument icdDocument;

    /** 映射版本号。 */
    @ApiModelProperty("映射版本号，空时默认使用当天日期")
    private String version;

    /** 映射作者。 */
    @ApiModelProperty("映射作者，空时使用模块默认作者")
    private String author;

    /** 是否落盘。 */
    @ApiModelProperty("是否将生成结果落盘保存")
    private boolean saveToDisk;

    /** 是否格式化 JSON。 */
    @ApiModelProperty("是否返回格式化后的 JSON")
    private boolean prettyJson;

    /** 输出目录。 */
    @ApiModelProperty("输出目录，仅在 saveToDisk=true 时生效")
    private String outputDir;

    /** 用户最终确认的索引绑定关系。 */
    @ApiModelProperty("用户最终确认的索引绑定关系")
    private List<IndexSelectionGroupRequest> indexSelection = new ArrayList<IndexSelectionGroupRequest>();
}
