package com.yihu.hos.resource.service;


import com.yihu.hos.web.framework.model.DictionaryResult;
import com.yihu.hos.standard.model.adapter.AdapterDatasetModel;
import com.yihu.hos.standard.model.adapter.AdapterDictEntryModel;
import com.yihu.hos.standard.model.adapter.resultModel.AdapterMetadataResultDetailModel;
import com.yihu.hos.standard.model.adapter.resultModel.AdapterSchemeVersionResultDetailModel;
import com.yihu.hos.standard.model.standard.StdDataSetModel;
import com.yihu.hos.standard.model.standard.StdMetaDataModel;

import java.util.List;
import java.util.Map;

/**
 * Created by hzp on 2016/1/20.
 */
public interface IStdService {

    /**
     * 通过适配方案获取字典列表
     */
    public DictionaryResult getDictResultByVersion(String schemeVersion, String dictId) throws Exception;


    /**************************** 适配方案 **************************************************/
    /**
     * 获取适配方案列表
     */
    public List<AdapterSchemeVersionResultDetailModel> getSchemeVersion() throws Exception;

    /**
     * 通过适配方案获取数据集列表
     */
    public List<AdapterDatasetModel> getDatasetByScheme(String schemeVersion) throws Exception;

    /**
     * 通过适配方案+应用数据集ID获取数据集列表
     */
    public List<AdapterDatasetModel> getDatasetByScheme(String schemeVersion, String adapterDatasetId) throws Exception;

    /**
     * 通过适配方案获取字段列表
     */
    public List<AdapterMetadataResultDetailModel> getDatacolByScheme(String schemeVersion, String datasetId) throws Exception;

    /**
     * 通过适配方案获取字典列表
     */
    public List<AdapterDictEntryModel> getDictByScheme(String schemeVersion, String dictId) throws Exception;

    /**
     * 通过适配方案+标准数据集CODE获取数据集
     * @return
     */
    public AdapterDatasetModel getDatasetByCode(String schemeVersion,String stdDatasetCode) throws Exception;
    /******************************** 标准版本 *****************************************************/
    /**
     * 通过标准版本获取数据集列表
     */
    public List<StdDataSetModel> getDatasetByVersion(String stdVersion) throws Exception;

    public List<StdMetaDataModel> metadatasAllVersionList(Map<String, Object> params) throws Exception;

    public List<StdDataSetModel> datasetsAllVersionList() throws Exception;

    public List datasetVersionListByName(String rsResourceImportDatasetDialogName)throws Exception;
}
