Commit 8c5c14b89dba60b9bfd504296905eb1c75253223

Authored by landong2015

Merge remote-tracking branch 'origin/master'

Showing 2 changed files

platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/LisCrisisItemService.java View file @ 8c5c14b
1 1 package com.lyms.platform.biz.service;
2 2  
3 3 import com.lyms.platform.biz.dal.LisCrisisItemDao;
  4 +import com.lyms.platform.common.dao.operator.MongoQuery;
4 5 import com.lyms.platform.pojo.LisCrisisItem;
5 6 import com.lyms.platform.query.LisCrisisItemQuery;
  7 +import org.apache.commons.lang.StringUtils;
6 8 import org.springframework.beans.factory.annotation.Autowired;
  9 +import org.springframework.data.domain.Sort;
7 10 import org.springframework.stereotype.Service;
8 11  
9 12 import java.util.List;
10 13  
... ... @@ -17,7 +20,20 @@
17 20 @Autowired
18 21 private LisCrisisItemDao lisCrisisItemDao;
19 22  
  23 + public LisCrisisItem addLisCrisisItem(LisCrisisItem obj) {
  24 + return lisCrisisItemDao.addLisCrisisItem(obj);
  25 + }
  26 +
  27 + public LisCrisisItem getLisCrisisItem(String id) {
  28 + return lisCrisisItemDao.getLisCrisisItem(id);
  29 + }
  30 +
20 31 public List<LisCrisisItem> query(LisCrisisItemQuery query) {
  32 + MongoQuery mongoQuery = query.convertToQuery();
  33 + if (StringUtils.isNotEmpty(query.getNeed())) {
  34 + query.mysqlBuild(lisCrisisItemDao.queryLisCrisisItemCount(mongoQuery));
  35 + mongoQuery.start(query.getOffset()).end(query.getLimit());
  36 + }
21 37 return lisCrisisItemDao.queryLisCrisisItem(query.convertToQuery());
22 38 }
23 39  
platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHisService.java View file @ 8c5c14b
1 1 package com.lyms.hospitalapi.qhdfy;
2 2  
  3 +import com.lyms.platform.biz.param.AssayConfigQuery;
  4 +import com.lyms.platform.biz.service.AssayConfigService;
  5 +import com.lyms.platform.biz.service.LisCrisisItemService;
3 6 import com.lyms.platform.biz.service.LisReportService;
4 7 import com.lyms.platform.biz.service.PatientsService;
  8 +import com.lyms.platform.pojo.AssayConfig;
  9 +import com.lyms.platform.pojo.LisCrisisItem;
5 10 import com.lyms.platform.pojo.LisReport;
6 11 import com.lyms.platform.pojo.LisReportItem;
7 12 import com.lyms.platform.query.LisReportQuery;
... ... @@ -15,9 +20,7 @@
15 20  
16 21 import java.sql.Connection;
17 22 import java.sql.SQLException;
18   -import java.util.ArrayList;
19   -import java.util.Date;
20   -import java.util.List;
  23 +import java.util.*;
21 24  
22 25 /**
23 26 * Created by Administrator on 2016/10/19 0019.
... ... @@ -31,6 +34,13 @@
31 34 @Autowired
32 35 private LisReportService lisReportService;
33 36  
  37 + @Autowired
  38 + private AssayConfigService assayConfigService;
  39 +
  40 + @Autowired
  41 + private LisCrisisItemService lisCrisisItemService;
  42 +
  43 +
34 44 public void syncLisReportTask() {
35 45 DateTime dt = new DateTime();
36 46 dt = dt.minusDays(1);
37 47  
... ... @@ -46,11 +56,20 @@
46 56 QueryRunner queryRunner = new QueryRunner(true);
47 57 try {
48 58 PatientsQuery patientsQuery = new PatientsQuery();
49   - String sql = "select top 10000 shenqinghao as hospitalId,bingrenid as patientFid,zhuyuanhao as patientHid,kahao as vcCardNo,huanzhexingming as name,xingbie as sex,nianling as age,shenqingkeshidaima as deptCode,shenqingkeshimingcheng as deptName,shenqingyishengdaima as applyDoctorCode,shenqingyishengmingcheng as applyDoctorName,jianchayishengdaima as checkDoctorCode,jianchayishengxingming as checkDoctorName,baogaofabushijian as publishTime from valllist_ex_en where kahao is not null order by shenqinghao desc";
  59 + String sql = "select top 10000 shenqinghao as hospitalId,bingrenid as patientFid,zhuyuanhao as patientHid,kahao as vcCardNo,huanzhexingming as name,xingbie as sex,nianling as age,shenqingkeshidaima as deptCode,shenqingkeshimingcheng as deptName,shenqingyishengdaima as applyDoctorCode,shenqingyishengmingcheng as applyDoctorName,jianchayishengdaima as checkDoctorCode,jianchayishengxingming as checkDoctorName,baogaofabushijian as publishTime from valllist_ex_en where kahao is not null and shenqinghao is not null order by shenqinghao desc";
50 60 String subSql = "select top 1000 sheqingdanhao as id,xiangmudaima as code,xiangmumingcheng as name,xiangmujieguo as result,zifujieguo as charResult,shuzijieguo as numberResult,gaodibiaozhi as flag,cankaozhi as ref,danwei as unit,jieguoleixing as result from valresult_ex_en where sheqingdanhao='";
51 61 Object[] params = {startDate};
52 62 List<LisReport> list = queryRunner.query(conn, sql, new BeanListHandler<LisReport>(LisReport.class));
53 63 if (list.size() > 0) {
  64 + AssayConfigQuery assayConfigQuery = new AssayConfigQuery();
  65 + assayConfigQuery.setHospitalId(hospitalId+"");
  66 + List<AssayConfig> assayConfigList = assayConfigService.query(assayConfigQuery);
  67 + Map<String, AssayConfig> assayConfigMap = new HashMap<>();
  68 + for (AssayConfig config:assayConfigList) {
  69 + assayConfigMap.put(config.getProjectCode(), config);
  70 + }
  71 +
  72 +
54 73 for (LisReport report:list) {
55 74 patientsQuery.setVcCardNo(report.getVcCardNo());
56 75 int count = patientsService.queryPatientCount(patientsQuery);
... ... @@ -66,6 +85,33 @@
66 85 report.setItemList(itemList);
67 86 report.setHospitalId(hospitalId + "");
68 87 lisReportService.addLisReport(report);
  88 +
  89 + // crisis init
  90 + for (LisReportItem item:itemList) {
  91 + if (item.getFlag() != null) {
  92 + LisCrisisItem crisisItem = new LisCrisisItem();
  93 + crisisItem.setHospitalId(hospitalId + "");
  94 + crisisItem.setId(report.getId() + ":" + item.getCode());
  95 + crisisItem.setPublishTime(report.getPublishTime());
  96 + crisisItem.setAge(report.getAge());
  97 + crisisItem.setApplyDoctorCode(report.getApplyDoctorCode());
  98 + crisisItem.setApplyDoctorName(report.getApplyDoctorName());
  99 + AssayConfig assayConfig = assayConfigMap.get(item.getCode());
  100 + if (assayConfig != null) {
  101 + crisisItem.setClassify(assayConfig.getClassify());
  102 + crisisItem.setClassifyName(assayConfig.getClassify());
  103 + }
  104 + crisisItem.setFlag(item.getFlag());
  105 + crisisItem.setItemCode(item.getCode());
  106 + crisisItem.setItemName(item.getName());
  107 + crisisItem.setRef(item.getRef());
  108 + crisisItem.setResult(item.getResult());
  109 + crisisItem.setStatus(1);
  110 + crisisItem.setStatusName("待处理");
  111 + crisisItem.setUnit(item.getUnit());
  112 + lisCrisisItemService.addLisCrisisItem(crisisItem);
  113 + }
  114 + }
69 115 }
70 116 }
71 117 }