diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/LisCrisisItemService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/LisCrisisItemService.java index 3567f4b..bb7b296 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/LisCrisisItemService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/LisCrisisItemService.java @@ -1,9 +1,12 @@ package com.lyms.platform.biz.service; import com.lyms.platform.biz.dal.LisCrisisItemDao; +import com.lyms.platform.common.dao.operator.MongoQuery; import com.lyms.platform.pojo.LisCrisisItem; import com.lyms.platform.query.LisCrisisItemQuery; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; import java.util.List; @@ -17,7 +20,20 @@ public class LisCrisisItemService { @Autowired private LisCrisisItemDao lisCrisisItemDao; + public LisCrisisItem addLisCrisisItem(LisCrisisItem obj) { + return lisCrisisItemDao.addLisCrisisItem(obj); + } + + public LisCrisisItem getLisCrisisItem(String id) { + return lisCrisisItemDao.getLisCrisisItem(id); + } + public List query(LisCrisisItemQuery query) { + MongoQuery mongoQuery = query.convertToQuery(); + if (StringUtils.isNotEmpty(query.getNeed())) { + query.mysqlBuild(lisCrisisItemDao.queryLisCrisisItemCount(mongoQuery)); + mongoQuery.start(query.getOffset()).end(query.getLimit()); + } return lisCrisisItemDao.queryLisCrisisItem(query.convertToQuery()); } diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHisService.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHisService.java index 49a3fe2..95ebe23 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHisService.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHisService.java @@ -1,7 +1,12 @@ package com.lyms.hospitalapi.qhdfy; +import com.lyms.platform.biz.param.AssayConfigQuery; +import com.lyms.platform.biz.service.AssayConfigService; +import com.lyms.platform.biz.service.LisCrisisItemService; import com.lyms.platform.biz.service.LisReportService; import com.lyms.platform.biz.service.PatientsService; +import com.lyms.platform.pojo.AssayConfig; +import com.lyms.platform.pojo.LisCrisisItem; import com.lyms.platform.pojo.LisReport; import com.lyms.platform.pojo.LisReportItem; import com.lyms.platform.query.LisReportQuery; @@ -15,9 +20,7 @@ import org.springframework.stereotype.Service; import java.sql.Connection; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; /** * Created by Administrator on 2016/10/19 0019. @@ -31,6 +34,13 @@ public class QhdfyHisService { @Autowired private LisReportService lisReportService; + @Autowired + private AssayConfigService assayConfigService; + + @Autowired + private LisCrisisItemService lisCrisisItemService; + + public void syncLisReportTask() { DateTime dt = new DateTime(); dt = dt.minusDays(1); @@ -51,6 +61,15 @@ public class QhdfyHisService { Object[] params = {startDate}; List list = queryRunner.query(conn, sql, new BeanListHandler(LisReport.class)); if (list.size() > 0) { + AssayConfigQuery assayConfigQuery = new AssayConfigQuery(); + assayConfigQuery.setHospitalId(hospitalId+""); + List assayConfigList = assayConfigService.query(assayConfigQuery); + Map assayConfigMap = new HashMap<>(); + for (AssayConfig config:assayConfigList) { + assayConfigMap.put(config.getProjectCode(), config); + } + + for (LisReport report:list) { patientsQuery.setVcCardNo(report.getVcCardNo()); int count = patientsService.queryPatientCount(patientsQuery); @@ -66,6 +85,33 @@ public class QhdfyHisService { report.setItemList(itemList); report.setHospitalId(hospitalId + ""); lisReportService.addLisReport(report); + + // crisis init + for (LisReportItem item:itemList) { + if (item.getFlag() != null) { + LisCrisisItem crisisItem = new LisCrisisItem(); + crisisItem.setHospitalId(hospitalId + ""); + crisisItem.setId(report.getId() + ":" + item.getCode()); + crisisItem.setPublishTime(report.getPublishTime()); + crisisItem.setAge(report.getAge()); + crisisItem.setApplyDoctorCode(report.getApplyDoctorCode()); + crisisItem.setApplyDoctorName(report.getApplyDoctorName()); + AssayConfig assayConfig = assayConfigMap.get(item.getCode()); + if (assayConfig != null) { + crisisItem.setClassify(assayConfig.getClassify()); + crisisItem.setClassifyName(assayConfig.getClassify()); + } + crisisItem.setFlag(item.getFlag()); + crisisItem.setItemCode(item.getCode()); + crisisItem.setItemName(item.getName()); + crisisItem.setRef(item.getRef()); + crisisItem.setResult(item.getResult()); + crisisItem.setStatus(1); + crisisItem.setStatusName("待处理"); + crisisItem.setUnit(item.getUnit()); + lisCrisisItemService.addLisCrisisItem(crisisItem); + } + } } } }