|
@ -616,6 +616,26 @@ public class AdapterDatasetService extends SQLGeneralDAO {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public AdapterDatasetModel getAdapterDatasetByCode(String schemaName,String version, String datasetCode) {
|
|
|
try {
|
|
|
if (StringUtil.isEmpty(datasetCode)) {
|
|
|
return null;
|
|
|
}
|
|
|
SqlCreator sqlCreator = new SqlCreator(AdapterDatasetModel.class);
|
|
|
sqlCreator.equalCondition("stdDatasetCode", datasetCode);
|
|
|
String sql = sqlCreator.selectData("adapter_dataset_" + version);
|
|
|
|
|
|
String myCatAnnotation = "/*#mycat\\:schema=" + schemaName + "*/ ";
|
|
|
String completeSql = myCatAnnotation + sql;
|
|
|
|
|
|
Query query = getQuery(sqlCreator, completeSql);
|
|
|
return (AdapterDatasetModel) query.uniqueResult();
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public List<AdapterDatasetModel> getAdapterDatasetByAdapterIdList(AdapterVersion adapterVersion, List<Integer> datasetIdList) {
|
|
|
try {
|
|
|
if (CollectionUtil.isEmpty(datasetIdList)) {
|
|
@ -632,17 +652,17 @@ public class AdapterDatasetService extends SQLGeneralDAO {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public void strategy(String version,String std_version,String adapter_std_version) throws Exception {
|
|
|
List<AdapterMetadataModel> unAdapterMetadataModels = adapterMetadataService.getAllUnAdaptMetadata(version);//等待适配的标准数据元
|
|
|
public void strategy(String schemaName,String version,String std_version,String adapter_std_version) throws Exception {
|
|
|
List<AdapterMetadataModel> unAdapterMetadataModels = adapterMetadataService.getAllUnAdaptMetadata(schemaName,version);//等待适配的标准数据元
|
|
|
List<AdapterMetadataModel> adapterMetadataModel = new ArrayList<AdapterMetadataModel>();//之前已经适配好的适配方案
|
|
|
//获取所有未匹配的
|
|
|
//查找出 之前已经适配好的适配方案
|
|
|
List<AdapterSchemeVersionModel> all = adapterSchemeVersionService.getAll();
|
|
|
List<AdapterSchemeVersionModel> all = adapterSchemeVersionService.getAll(schemaName);
|
|
|
if(all!=null){
|
|
|
for(AdapterSchemeVersionModel adapterSchemeVersionModel:all){
|
|
|
String vers = adapterSchemeVersionModel.getVersion();
|
|
|
if(org.apache.commons.lang3.StringUtils.isNotBlank(vers)){
|
|
|
List<AdapterMetadataModel> adaptMetadata = adapterMetadataService.getAllAdaptMetadata(adapterSchemeVersionModel.getVersion());
|
|
|
List<AdapterMetadataModel> adaptMetadata = adapterMetadataService.getAllAdaptMetadata(schemaName,adapterSchemeVersionModel.getVersion());
|
|
|
adapterMetadataModel.addAll(adaptMetadata);
|
|
|
}
|
|
|
}
|
|
@ -651,9 +671,9 @@ public class AdapterDatasetService extends SQLGeneralDAO {
|
|
|
matchVO.setCodeAdapter(matchVO.geNameGroup(adapterMetadataModel));
|
|
|
|
|
|
//設置匹配的机构数据緩存
|
|
|
List<StdMetaDataModel> orgMetadatas = stdMetadataService.getList(adapter_std_version, null, null, null, null, null);//查找出机构所有的metadatas
|
|
|
List<StdMetaDataModel> orgMetadatas = stdMetadataService.getList(schemaName,adapter_std_version, null, null, null, null, null);//查找出机构所有的metadatas
|
|
|
for (StdMetaDataModel stdMetadata:orgMetadatas){
|
|
|
StdDataSetModel stdDataset = stdDataSetModelDao.getDatasetName(std_version, stdMetadata.getDatasetId());
|
|
|
StdDataSetModel stdDataset = stdDataSetModelDao.getDatasetName(schemaName,std_version, stdMetadata.getDatasetId());
|
|
|
if(null != stdDataset){
|
|
|
MetatdataStandardNameStrategy.getNameMap().put(stdMetadata.getName() + "_" + stdDataset.getCode(),stdMetadata);
|
|
|
MetatdataStandardNameStrategy.getRemarkMap().put(stdMetadata.getDefinition() + "_" + stdDataset.getCode(),stdMetadata);
|
|
@ -665,20 +685,20 @@ public class AdapterDatasetService extends SQLGeneralDAO {
|
|
|
Set<String> sqlList = new HashSet<String>();
|
|
|
|
|
|
for (AdapterMetadataModel unAdapterMetadataModel : unAdapterMetadataModels) {
|
|
|
threadPoolTaskExecutor.execute(new MetadataStrategyExecute(unAdapterMetadataModel, matchVO, std_version,adapter_std_version,version, stdMetaDataModelDao,stdDataSetModelDao,adapterMetadataService));
|
|
|
threadPoolTaskExecutor.execute(new MetadataStrategyExecute(schemaName,unAdapterMetadataModel, matchVO, std_version,adapter_std_version,version, stdMetaDataModelDao,stdDataSetModelDao,adapterMetadataService));
|
|
|
|
|
|
String metadataNameFirstCode = GetChineseFirst.cn2py(unAdapterMetadataModel.getStdMetadataName());//待匹配
|
|
|
List<AdapterMetadataModel> adapterMetadatas = matchVO.getCodeAdapter().get(metadataNameFirstCode);//已存在
|
|
|
if (adapterMetadatas != null && adapterMetadatas.size() > 0) {
|
|
|
//获取待适配的数据集名
|
|
|
Integer unAdaptStdId = unAdapterMetadataModel.getStdDatasetId();
|
|
|
StdDataSetModel adapterDataset = stdDataSetModelDao.getDatasetName(adapter_std_version, unAdaptStdId);
|
|
|
StdDataSetModel adapterDataset = stdDataSetModelDao.getDatasetName(schemaName,adapter_std_version, unAdaptStdId);
|
|
|
if (adapterDataset != null) {
|
|
|
adapterDatasetService = SpringBeanUtil.getService(AdapterDatasetService.BEAN_ID);
|
|
|
AdapterDatasetModel entity = adapterDatasetService.getAdapterDatasetByCode(version, adapterDataset.getCode());
|
|
|
AdapterDatasetModel entity = adapterDatasetService.getAdapterDatasetByCode(schemaName,version, adapterDataset.getCode());
|
|
|
String sqrSql = null;
|
|
|
if(null != entity){
|
|
|
sqrSql = adapterDatasetService.saveAdaptDatasetSql(entity, adapterDataset, version);
|
|
|
sqrSql = adapterDatasetService.saveAdaptDatasetSql(schemaName,entity, adapterDataset, version);
|
|
|
}
|
|
|
if(null != sqrSql && !"".equals(sqrSql)){
|
|
|
sqlList.add(sqrSql);
|
|
@ -720,4 +740,18 @@ public class AdapterDatasetService extends SQLGeneralDAO {
|
|
|
sqlBuffer.append(" where id=" + strategyDataset.getId());
|
|
|
return sqlBuffer.toString();
|
|
|
}
|
|
|
|
|
|
public String saveAdaptDatasetSql(String schemaName,AdapterDatasetModel strategyDataset,StdDataSetModel orgDataset,String version) throws Exception {
|
|
|
StringBuilder sqlBuffer = new StringBuilder();
|
|
|
sqlBuffer.append(SqlConstants.UPDATE + new AdapterVersion(version).getDataSetTableName() + SqlConstants.SET);
|
|
|
sqlBuffer.append(" adapter_dataset_id = " + orgDataset.getId());
|
|
|
sqlBuffer.append(",adapter_dataset_code = '" + orgDataset.getCode() + "'");
|
|
|
sqlBuffer.append(",adapter_dataset_name = '" + orgDataset.getName() + "'");
|
|
|
sqlBuffer.append(" where id=" + strategyDataset.getId());
|
|
|
|
|
|
String myCatAnnotation = "/*#mycat\\:schema=" + schemaName + "*/ ";
|
|
|
String completeSql = myCatAnnotation + sqlBuffer;
|
|
|
|
|
|
return completeSql;
|
|
|
}
|
|
|
}
|