Browse Source

采集病人档案上传逻辑修改

lingfeng 9 years ago
parent
commit
33513ddec5

+ 1 - 1
Hos-resource/pom.xml

@ -103,7 +103,7 @@
        <dependency>
            <groupId>com.yihu.core</groupId>
            <artifactId>ehr-dbhelper</artifactId>
            <version>1.1.8</version>
            <version>1.1.9</version>
        </dependency>
        <!-- =============WEBSERVICE调用====================-->

+ 3 - 3
Hos-resource/src/main/java/com/yihu/ehr/crawler/controller/CrawlerController.java

@ -84,11 +84,11 @@ public class CrawlerController {
        CrawlerManager crawlerManager = new CrawlerManager();
        Patient patient = crawlerManager.parsePatient(patientInfo);
        if (patient != null) {
            String message = crawlerManager.collectProcess(patient);
            if (StringUtil.isEmpty(message)) {
            Boolean result = crawlerManager.collectProcess(patient);
            if (result) {
                return Result.success("采集上传成功");
            } else {
                return Result.error(message);
                return Result.error("采集上传失败");
            }
        } else {
            return Result.error("参数转换病人实体失败");

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

@ -64,7 +64,10 @@ public class CrawlerManager {
        if (!CollectionUtil.isEmpty(patientList)) {
            totalCount = patientList.size();
            for (Patient patient : patientList) {
                collectProcess(patient);
                Boolean result = collectProcess(patient);
                if (result) {
                    count++;
                }
            }
        }
        message = "本次采集病人共" + totalCount + "条,成功采集信息"+ count + "条";
@ -73,28 +76,24 @@ public class CrawlerManager {
    }
    //单个病人采集上传
    public String collectProcess(Patient patient) {
        String message;
    public Boolean collectProcess(Patient patient) {
        if (!getDataForPrepare()) {
            message = "适配数据尚未准备";
            logger.error(message);
            return message;
            logger.error("适配数据尚未准备");
            return false;
        }
        patient.setReUploadFlg(StringUtil.toString(false));
        logger.trace("采集->注册->打包上传,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
        try {
            //getToken
            if (!dispatch.getToken()) {
                message = "token获取失败";
                logger.error(message);
                return message;
                logger.error("token获取失败");
                return false;
            }
            //getRemoteVersion
            if (!dispatch.getRemoteVersion(patient.getOrgCode())) {
                message = "远程版本获取失败";
                logger.error(message);
                return message;
                logger.error("远程版本获取失败");
                return false;
            }
            Map<String, AdapterDataSet> dataSetMap = new HashMap<>();
@ -103,6 +102,7 @@ public class CrawlerManager {
                /**
                 * 获取数据
                 */
                logger.info("获取病人档案数据");
                AdapterDataSet adapterDataSet = adapterDataSetMap.get(key);
                String data = dispatch.fecthData(patient, adapterDataSet);
                if (StringUtil.isEmpty(data)) {
@ -118,6 +118,7 @@ public class CrawlerManager {
                if (SysConfig.getInstance().getRegisterDataSet().equals(adapterDataSet.getAdapterDataSetT().getStdDatasetCode())) {
                    if (!StringUtil.isEmpty(jsonObject.get("data")) && !StringUtil.isEmpty(jsonObject.get("data").get(0))) {
                        if (!StringUtil.isEmpty(jsonObject.get("data").get(0).get(SysConfig.getInstance().getRegisterIdCardNo()))) {
                            logger.info("注册病人");
                            dispatch.register(patient, data);
                        }
                    }
@ -125,28 +126,27 @@ public class CrawlerManager {
            }
            logger.info("采集病人成功,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
            //上传档案
            logger.info("上传病人档案");
            try {
                if (!CollectionUtil.isEmpty(dataMap.keySet())) {
                    if (!dispatch.upload(dataMap, patient, dataSetMap)) {
                        message = "上传档案失败";
                        logger.error(message);
                        return message;
                        logger.error("上传档案失败");
                        return false;
                    }
                }
            } catch (Exception e) {
                message = "上传档案失败";
                logger.error("档案上传失败,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
                return message;
                return false;
            }
        } catch (Exception e) {
            message = "采集病人失败";
            logger.error("采集病人失败,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo(), e);
            return message;
            return false;
        }
        return Constants.EMPTY;
        return true;
    }
    public Boolean getDataForPrepare() {
        logger.info("适配基本相关数据准备");
        if (adapterFlg) {
            return true;
        }

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

@ -25,8 +25,7 @@ public class ArchiveUploadJob implements IBaseJob {
    @Override
    public void execute(String jobId) throws Exception{
        System.out.println("档案上传quartz:"+DateConvert.toString(new Date()) + ",jobId:"+jobId);
        logger.info("档案上传quartz:"+DateConvert.toString(new Date()) + ":"+jobId);
        logger.info("档案采集上传开始:"+DateConvert.toString(new Date()) + ":"+jobId);
        IDatacollectManager datacollect = SpringBeanUtil.getService(Services.Datacollect);
        RsJobConfig job = datacollect.getJobById(jobId);
        Map<String, Object> condition = new HashMap<>();
@ -53,6 +52,7 @@ public class ArchiveUploadJob implements IBaseJob {
            job.setRepeatEndTime(DateUtil.formatYMDToYMDHMS(DateUtil.getSysDateTime().toString()));
        }
        datacollect.updateJob(job);
        logger.info("档案采集上传结束:"+DateConvert.toString(new Date()) + ":"+jobId);
        return;
    }
}