Commit 8c5c14b89dba60b9bfd504296905eb1c75253223
Exists in
master
and in
8 other branches
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 | } |