瀏覽代碼

esb拉模式采集逻辑修改

lingfeng 9 年之前
父節點
當前提交
ec565f1218

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

@ -19,13 +19,14 @@ public class SysConfig {
    private static Logger logger = LogManager.getLogger(SysConfig.class);
    public static final String HOS_RESOURCES_CONFIG = "/config/sys.config.xml";
    public static Map<String, String> publicKeyMap;
    public static String tempFile;
    public static String registerDataSet;
    public static String registerIdCardNo;
    private static volatile SysConfig instance = null;
    private HashMap<String, PatientIdentity> patientIdentityHashMap;
    private Map<String, PatientIndex> patientIndexMap;//病人摘要信息内容
    private Map<String, String> publicKeyMap;
    private Map<String, String> versionMap;
    public static String tempFile;
    public static String registerDataSet;
    public static String registerIdCardNo;
    private SysConfig() {
        patientIdentityHashMap = new HashMap<>();
@ -83,10 +84,18 @@ public class SysConfig {
        return patientIndexMap;
    }
    public static Map<String, String> getPublicKeyMap() {
    public Map<String, String> getPublicKeyMap() {
        return publicKeyMap;
    }
    public Map<String, String> getVersionMap() {
        return versionMap;
    }
    public void setVersionMap(Map<String, String> versionMap) {
        this.versionMap = versionMap;
    }
    private Document getDocument() throws DocumentException {
        SAXReader reader = new SAXReader();
        Document document = null;

+ 10 - 5
Hos-resource/src/main/java/com/yihu/ehr/crawler/service/CrawlerManager.java

@ -89,7 +89,7 @@ public class CrawlerManager {
            return message;
        }
        patient.setReUploadFlg(StringUtil.toString(false));
        logger.trace("采集->注册->打包上传,任务ID:,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
        logger.trace("采集->注册->打包上传,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
        try {
            //getToken
            if (!dispatch.getToken()) {
@ -97,6 +97,14 @@ public class CrawlerManager {
                logger.error(message);
                return message;
            }
            //getRemoteVersion
            if (!dispatch.getRemoteVersion(patient.getOrgCode())) {
                message = "远程版本获取失败";
                logger.error(message);
                return message;
            }
            Map<String, AdapterDataSet> dataSetMap = new HashMap<>();
            Map<String, JsonNode> dataMap = new HashMap<>();
            for (String key : adapterDataSetMap.keySet()) {
@ -104,9 +112,6 @@ public class CrawlerManager {
                 * 获取数据
                 */
                AdapterDataSet adapterDataSet = adapterDataSetMap.get(key);
                if (patient.getEventNo().equals("1001000001")) {
                    System.out.println("123");
                }
                String data = dispatch.fecthData(patient, adapterDataSet);
                if (StringUtil.isEmpty(data)) {
                    continue;
@ -175,7 +180,7 @@ public class CrawlerManager {
                        adapterDataSetMap.put(adapterDatasetModel.getStdDatasetCode(), new AdapterDataSet(adapterDatasetModel, adapterVersion));
                    }
                }
                SysConfig.getInstance().setVersionMap(new HashMap<>());
                adapterFlg = true;
            } catch (Exception e) {
                adapterFlg = false;

+ 18 - 2
Hos-resource/src/main/java/com/yihu/ehr/crawler/service/DataCollectDispatcher.java

@ -55,6 +55,22 @@ public class DataCollectDispatcher {
        }
    }
    public Boolean getRemoteVersion (String orgCode) {
        try {
            if (StringUtil.isEmpty(SysConfig.getInstance().getVersionMap().get(orgCode))) {
                String stdVersion = EsbHttp.getRemoteVersion(orgCode);
                if (StringUtil.isEmpty(stdVersion)) {
                    return false;
                }
                SysConfig.getInstance().getVersionMap().put(orgCode, stdVersion);
            }
            return true;
        } catch (Exception e) {
            logger.error("本次任务执行失败,获取token失败!");
            return false;
        }
    }
    /**
     * 获取病人列表
     *
@ -150,7 +166,7 @@ public class DataCollectDispatcher {
        return propertyMap;
    }
    public String fecthData(Patient patient, AdapterDataSet adapterDataSet, List<EhrCondition> queryParams ) {
    public String fecthData(Patient patient, AdapterDataSet adapterDataSet, List<EhrCondition> queryParams) {
        try {
            ObjectMapper mapper = new ObjectMapper();
            ObjectNode paramsNode = mapper.createObjectNode();
@ -175,7 +191,7 @@ public class DataCollectDispatcher {
                jsonObject.put("event_no", patient.getEventNo());
                String agencyCode = patient.getOrgCode();
                jsonObject.put("org_code", agencyCode);
                jsonObject.put("inner_version", "123456");
                jsonObject.put("inner_version", SysConfig.getInstance().getVersionMap().get(patient.getOrgCode()));
                jsonObject.put("create_date", DateUtil.toString(new Date(), DateUtil.DEFAULT_YMDHMSDATE_FORMAT));
                jsonObject.put("event_time", patient.getReferenceTime());//DateUtil.toString(patient.getReferenceTime(), DateUtil.DEFAULT_YMDHMSDATE_FORMAT)
                if (StringUtil.isEmpty(patient.getReUploadFlg())) {

+ 1 - 1
Hos-resource/src/main/java/com/yihu/ehr/job/service/ArchiveUploadJob.java

@ -25,7 +25,7 @@ public class ArchiveUploadJob implements IBaseJob {
    @Override
    public void execute(String jobId) throws Exception{
        System.out.println("档案上传quartz:"+DateConvert.toString(new Date()) + ":"+jobId);
        System.out.println("档案上传quartz:"+DateConvert.toString(new Date()) + ",jobId:"+jobId);
        logger.info("档案上传quartz:"+DateConvert.toString(new Date()) + ":"+jobId);
        IDatacollectManager datacollect = SpringBeanUtil.getService(Services.Datacollect);
        RsJobConfig job = datacollect.getJobById(jobId);