|
@ -16,9 +16,11 @@ import com.yihu.hos.standard.model.standard.StdDictionaryModel;
|
|
|
import com.yihu.hos.standard.service.bo.AdapterVersion;
|
|
|
import com.yihu.hos.standard.service.bo.StandardVersion;
|
|
|
import com.yihu.hos.standard.service.standard.StdDictService;
|
|
|
import com.yihu.hos.web.framework.constant.SqlConstants;
|
|
|
import com.yihu.hos.web.framework.dao.SQLGeneralDAO;
|
|
|
import com.yihu.hos.web.framework.model.DetailModelResult;
|
|
|
import com.yihu.hos.web.framework.model.Result;
|
|
|
import com.yihu.hos.web.framework.util.springutil.SpringBeanUtil;
|
|
|
import com.yihu.hos.web.framework.util.sql.SqlCreator;
|
|
|
import org.hibernate.Query;
|
|
|
import org.hibernate.Session;
|
|
@ -27,9 +29,8 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Iterator;
|
|
|
import java.util.List;
|
|
|
import java.util.*;
|
|
|
|
|
|
@Transactional
|
|
|
@Service("AdapterDictService")
|
|
|
public class AdapterDictService extends SQLGeneralDAO {
|
|
@ -54,6 +55,8 @@ public class AdapterDictService extends SQLGeneralDAO {
|
|
|
@Autowired
|
|
|
private StdDictService stdDictService;
|
|
|
|
|
|
private AdapterDictService adapterDictService;
|
|
|
|
|
|
public AdapterDictService() {
|
|
|
}
|
|
|
|
|
@ -201,7 +204,7 @@ public class AdapterDictService extends SQLGeneralDAO {
|
|
|
Integer count = Integer.parseInt(StringUtil.toString(query.list().get(0)));
|
|
|
return count;
|
|
|
}
|
|
|
public void strategy(String version,String std_version, String adapter_std_version) {
|
|
|
public void strategy(String version,String std_version, String adapter_std_version) throws Exception {
|
|
|
List<AdapterDictEntryModel> unAdapterDictEntryModels= adapterDictEntryService.getAllUnAdaptDictEntry(version);//等待适配的标准字典项
|
|
|
List<AdapterDictEntryModel> adapterDictEntryModels = new ArrayList<AdapterDictEntryModel>();//之前已经适配好的适配方案
|
|
|
//查找出 之前已经适配好的适配方案
|
|
@ -229,8 +232,24 @@ public class AdapterDictService extends SQLGeneralDAO {
|
|
|
//执行匹配
|
|
|
DictItemStrategyExecute.setFirst(version, unAdapterDictEntryModels.size());//设置第一次匹配
|
|
|
|
|
|
Set<String> sqlList = new HashSet<String>();
|
|
|
|
|
|
for (AdapterDictEntryModel unAdapterDictEntryModel : unAdapterDictEntryModels) {
|
|
|
threadPoolTaskExecutor.execute(new DictItemStrategyExecute(unAdapterDictEntryModel, matchVO,std_version,adapter_std_version,version, stdDictionaryDao, stdDictionaryEntryDao,adapterDictEntryService));
|
|
|
|
|
|
Integer unAdaptDicId = unAdapterDictEntryModel.getStdDictId();
|
|
|
StdDictionaryModel adapterDictionaryModel = stdDictionaryDao.getDictionaryName(adapter_std_version, unAdaptDicId);
|
|
|
if (adapterDictionaryModel != null) {
|
|
|
adapterDictService = SpringBeanUtil.getService(AdapterDictService.BEAN_ID);
|
|
|
AdapterDictModel entity = adapterDictService.getAdapterDictByCode(version, adapterDictionaryModel.getCode());
|
|
|
String sqrSql = null;
|
|
|
if (null != entity) {
|
|
|
sqrSql = adapterDictService.saveAdaptDictSql(entity, adapterDictionaryModel, version);
|
|
|
}
|
|
|
if (null != sqrSql && !"".equals(sqrSql)) {
|
|
|
sqlList.add(sqrSql);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
@ -245,6 +264,16 @@ public class AdapterDictService extends SQLGeneralDAO {
|
|
|
query.executeUpdate();
|
|
|
}
|
|
|
|
|
|
public String saveAdaptDictSql(AdapterDictModel strategyDict, StdDictionaryModel orgDict, String version) throws Exception {
|
|
|
StringBuilder sqlBuffer = new StringBuilder();
|
|
|
sqlBuffer.append(SqlConstants.UPDATE + new AdapterVersion(version).getDictTableName() + SqlConstants.SET);
|
|
|
sqlBuffer.append(" adapter_dict_id = " + orgDict.getId());
|
|
|
sqlBuffer.append(",adapter_dict_code = '" + orgDict.getCode() + "'");
|
|
|
sqlBuffer.append(",adapter_dict_name = '" + orgDict.getName() + "'");
|
|
|
sqlBuffer.append(" where id=" + strategyDict.getId());
|
|
|
return sqlBuffer.toString();
|
|
|
}
|
|
|
|
|
|
public AdapterDictModel getAdapterDictByCode(String version, String dictCode) {
|
|
|
try {
|
|
|
if (StringUtil.isEmpty(dictCode)) {
|