zhaidongmeng %!s(int64=9) %!d(string=hai) anos
pai
achega
e17d6cca64

+ 28 - 0
Hos-resource/src/main/java/com/yihu/ehr/crawler/model/config/SysConfig.java

@ -25,6 +25,7 @@ public class SysConfig {
    private Map<String, String> publicKeyMap;
    private Map<String, String> versionMap;
    public static String tempFile;
    public static String orgcode;
    public static String registerDataSet;
    public static String registerIdCardNo;
@ -124,12 +125,39 @@ public class SysConfig {
            this.initCrawler(rootElement);
            this.initEventNo(rootElement);
            this.initVersion(rootElement);
//            this.initPatientIndex(rootElement);
        } catch (Exception e) {
            logger.error(e.getCause().toString());
        }
    }
    private void initVersion(Element rootElement){
        String tempFile = rootElement.elementTextTrim("temp_file");
        if (!StringUtil.isEmpty(tempFile)) {
            this.tempFile = tempFile;
        } else {
            String home = System.getProperty("catalina.home").replace('\\','/');
            String homeUrl = home.substring(0,home.lastIndexOf('/')+1);
            this.tempFile = homeUrl + "temp";
        }
        List queueDataSets = rootElement.element("ehr_version").elements("org_code");
        for (Object obj : queueDataSets) {
            if (obj instanceof Element) {
                Element element = (Element) obj;
                String dataSetCode = element.attributeValue("code");
                String version = element.elementTextTrim("version");
                String ehrVersion=new String(version);
                versionMap.put(dataSetCode,ehrVersion);
            }
        }
        Element registerDataSet = rootElement.element("register").element("dataset");
        this.registerDataSet = registerDataSet.attributeValue("code");
        this.registerIdCardNo = registerDataSet.elementTextTrim("id_card");
    }
    private void initCrawler(Element rootElement) {
        String tempFile = rootElement.elementTextTrim("temp_file");
        if (!StringUtil.isEmpty(tempFile)) {

+ 8 - 2
Hos-resource/src/main/java/com/yihu/ehr/crawler/service/CrawlerManager.java

@ -29,6 +29,7 @@ public class CrawlerManager {
    private static Logger logger = LogManager.getLogger(CrawlerManager.class);
    private static DataCollectDispatcher dispatch = DataCollectDispatcher.getInstance();
    private static SysConfig sysConfig=SysConfig.getInstance();
    private static Map<String, Map<String, AdapterDataSet>> adapterDataSetVersionMap = new HashMap<>();
    private Map<String, AdapterDataSet> adapterDataSetMap;
    private Boolean adapterFlg = false;
@ -88,8 +89,13 @@ public class CrawlerManager {
            }
            //getRemoteVersion
            if (!dispatch.getRemoteVersion(patient.getOrgCode())) {
                logger.error("远程版本获取失败");
//            if (!dispatch.getRemoteVersion(patient.getOrgCode())) {
//                logger.error("远程版本获取失败");
//                return false;
//            }
            if(StringUtil.isEmpty(sysConfig.getVersionMap().get(patient.getOrgCode()))){
                logger.error("版本获取失败");
                return false;
            }

+ 5 - 0
Hos-resource/src/main/resources/config/sys.config.xml

@ -1,6 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<config>
    <!--<temp_file>D:\temp</temp_file>-->
    <ehr_version>
        <org_code code="jkzl">
            <version>56395d75b854</version>
        </org_code>
    </ehr_version>
    <event_no>
        <item>HDSD03_01_031</item>
        <item>HDSD00_01_579</item>