Commit f2b21899ba4d246abdc35788e0592e10a65a92e3
1 parent
4eb5096950
Exists in
master
and in
1 other branch
code update
Showing 9 changed files with 345 additions and 342 deletions
- platform-biz-patient-service/src/main/java/com/lyms/platform/biz/JdbcUtil.java
- platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/SimplePatient.java
- platform-common/src/main/java/com/lyms/platform/common/enums/ExpEnums.java
- platform-common/src/main/java/com/lyms/platform/common/enums/ExpYunEnums.java
- platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java
- platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java
- platform-data-api/src/main/java/com/lyms/platform/data/util/AmsMessageService.java
- platform-job-index/src/main/java/com/lyms/platform/job/index/service/SyncDataService.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/JdbcUtil.java
View file @
f2b2189
... | ... | @@ -710,7 +710,7 @@ |
710 | 710 | System.out.println(patients.getId() + "============"); |
711 | 711 | |
712 | 712 | |
713 | - bq.add(new SimplePatient(person.getId(), patients.getId())); | |
713 | + // bq.add(new SimplePatient(person.getId(), patients.getId())); | |
714 | 714 | /* syncChuZhen(person.getId(), patients.getId(), mongoTemplate); |
715 | 715 | syncFuzhen(person.getId(), patients.getId(), mongoTemplate);*/ |
716 | 716 | } catch (Exception e) { |
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/SimplePatient.java
View file @
f2b2189
1 | 1 | package com.lyms.platform.biz.service; |
2 | 2 | |
3 | +import java.util.Date; | |
4 | + | |
3 | 5 | /** |
4 | 6 | * Created by Administrator on 2016/10/12 0012. |
5 | 7 | */ |
6 | 8 | |
7 | 9 | |
... | ... | @@ -7,10 +9,14 @@ |
7 | 9 | |
8 | 10 | private String pid; |
9 | 11 | private String id; |
12 | + private Date lastMenses; | |
13 | + private int weeks; | |
10 | 14 | |
11 | - public SimplePatient(String pid,String id){ | |
15 | + public SimplePatient(String pid,String id,Date lastMenses,int weeks){ | |
12 | 16 | this.pid=pid; |
13 | 17 | this.id=id; |
18 | + this.lastMenses = lastMenses; | |
19 | + this.weeks = weeks; | |
14 | 20 | } |
15 | 21 | |
16 | 22 | public String getPid() { |
... | ... | @@ -27,6 +33,22 @@ |
27 | 33 | |
28 | 34 | public void setId(String id) { |
29 | 35 | this.id = id; |
36 | + } | |
37 | + | |
38 | + public int getWeeks() { | |
39 | + return weeks; | |
40 | + } | |
41 | + | |
42 | + public void setWeeks(int weeks) { | |
43 | + this.weeks = weeks; | |
44 | + } | |
45 | + | |
46 | + public Date getLastMenses() { | |
47 | + return lastMenses; | |
48 | + } | |
49 | + | |
50 | + public void setLastMenses(Date lastMenses) { | |
51 | + this.lastMenses = lastMenses; | |
30 | 52 | } |
31 | 53 | |
32 | 54 | @Override |
platform-common/src/main/java/com/lyms/platform/common/enums/ExpEnums.java
View file @
f2b2189
platform-common/src/main/java/com/lyms/platform/common/enums/ExpYunEnums.java
View file @
f2b2189
platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java
View file @
f2b2189
... | ... | @@ -604,6 +604,10 @@ |
604 | 604 | condition = condition.and("birth", birth, MongoOper.IS); |
605 | 605 | } |
606 | 606 | |
607 | + if (null != expVip) { | |
608 | + condition = condition.and("expVip", expVip, MongoOper.IS); | |
609 | + } | |
610 | + | |
607 | 611 | |
608 | 612 | if (null != orServiceStatus && orServiceStatus.length > 1) { |
609 | 613 | condition = condition.and("serviceStatus", Arrays.asList(orServiceStatus), MongoOper.IN); |
platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java
View file @
f2b2189
... | ... | @@ -408,11 +408,50 @@ |
408 | 408 | //健康指导短信 只能是类型为 增值服务 开通状态 才发送 |
409 | 409 | babyQuery.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId()); |
410 | 410 | babyQuery.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId()); |
411 | + //查询符合条件儿童 | |
412 | + List<BabyModel> babies = babyBookbuildingService.queryBabyBuildByCond(babyQuery); | |
411 | 413 | |
412 | 414 | |
415 | + babyQuery.setExpVip(1); | |
416 | + babyQuery.setServiceType(null); | |
417 | + babyQuery.setServiceStatus(null); | |
418 | + //查询体验会员 | |
419 | + List<BabyModel> expBabies = babyBookbuildingService.queryBabyBuildByCond(babyQuery); | |
420 | + if (CollectionUtils.isNotEmpty(expBabies) && CollectionUtils.isNotEmpty(expBabies)) | |
421 | + { | |
422 | + for(BabyModel vip : expBabies) | |
423 | + { | |
424 | + if (vip == null || vip.getExpType() == null || vip.getBirth() == null) | |
425 | + { | |
426 | + continue; | |
427 | + } | |
428 | + if (ExpEnums.SGY.getId() == vip.getExpType()) | |
429 | + { | |
430 | + Date expDate = DateUtil.addMonth(vip.getBirth(),3); | |
431 | + if (expDate.getTime() > new Date().getTime()) | |
432 | + { | |
433 | + int count = Collections.frequency(babies,vip); | |
434 | + if (count == 0) | |
435 | + { | |
436 | + babies.add(vip); | |
437 | + } | |
438 | + } | |
439 | + } | |
440 | + else if (ExpEnums.ETFW.getId() == vip.getExpType()) | |
441 | + { | |
442 | + Date expDate = DateUtil.addYear(vip.getBirth(), 3); | |
443 | + if (expDate.getTime() > new Date().getTime()) | |
444 | + { | |
445 | + int count = Collections.frequency(babies,vip); | |
446 | + if (count == 0) | |
447 | + { | |
448 | + babies.add(vip); | |
449 | + } | |
450 | + } | |
451 | + } | |
452 | + } | |
453 | + } | |
413 | 454 | |
414 | - //查询符合条件儿童 | |
415 | - List<BabyModel> babies = babyBookbuildingService.queryBabyBuildByCond(babyQuery); | |
416 | 455 | if (CollectionUtils.isNotEmpty(babies)) |
417 | 456 | { |
418 | 457 | |
419 | 458 | |
... | ... | @@ -458,9 +497,7 @@ |
458 | 497 | break; |
459 | 498 | } |
460 | 499 | } |
461 | - | |
462 | 500 | } |
463 | - | |
464 | 501 | list.setMessages(messages); |
465 | 502 | sendSms(list); |
466 | 503 | } |
platform-data-api/src/main/java/com/lyms/platform/data/util/AmsMessageService.java
View file @
f2b2189
... | ... | @@ -182,9 +182,12 @@ |
182 | 182 | |
183 | 183 | |
184 | 184 | public static void main(String[] args) { |
185 | - getMessageTemplateMap("6a98e4c2-9fa7-47a6-b7f3-ec4c79c687bf", | |
186 | - AmsServiceTypeEnum.CHILD_GUIDE); | |
185 | +// getMessageTemplateMap("8be01f59-ad25-4ae6-968d-8450c9421e0b", | |
186 | +// AmsServiceTypeEnum.CHILD_GUIDE); | |
187 | + | |
187 | 188 | } |
189 | + | |
190 | + | |
188 | 191 | |
189 | 192 | } |
platform-job-index/src/main/java/com/lyms/platform/job/index/service/SyncDataService.java
View file @
f2b2189
... | ... | @@ -33,11 +33,16 @@ |
33 | 33 | private static BlockingQueue<SimplePatient> patientsQueue = new LinkedBlockingQueue(); |
34 | 34 | |
35 | 35 | |
36 | + private static Map<String,Map<String,Object>> chuzhenDatas = new HashMap<>(); | |
37 | + | |
38 | + private List<Map<String,Object>> patientGuides = new ArrayList<>(); | |
39 | + private List<Map<String,Object>> babyGuides = new ArrayList<>(); | |
40 | + | |
36 | 41 | @Autowired |
37 | 42 | private MongoTemplate mongoTemplate; |
38 | 43 | |
39 | 44 | |
40 | - private static ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(10, 15, 1, TimeUnit.HOURS, new LinkedBlockingQueue<Runnable>()); | |
45 | + private static ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(5, 10, 1, TimeUnit.HOURS, new LinkedBlockingQueue<Runnable>()); | |
41 | 46 | |
42 | 47 | |
43 | 48 | private class Chanle extends Thread { |
... | ... | @@ -56,7 +61,7 @@ |
56 | 61 | if (null != simplePatient) { |
57 | 62 | // threadPoolExecutor.execute(new SyncAntEx(simplePatient.getPid(), simplePatient.getId(), mongoTemplate)); |
58 | 63 | // threadPoolExecutor.execute(new SyncAntExChu(simplePatient.getPid(), simplePatient.getId(), mongoTemplate)); |
59 | - threadPoolExecutor.execute(new SyncPatCheck(simplePatient.getPid(), simplePatient.getId(), mongoTemplate)); | |
64 | + threadPoolExecutor.execute(new SyncPatCheck(simplePatient.getPid(), simplePatient.getId(), mongoTemplate,simplePatient.getLastMenses(),simplePatient.getWeeks())); | |
60 | 65 | } |
61 | 66 | } catch (Exception e) { |
62 | 67 | ExceptionUtils.catchException(e, "Chanle thread error." + simplePatient); |
63 | 68 | |
64 | 69 | |
65 | 70 | |
66 | 71 | |
... | ... | @@ -69,19 +74,23 @@ |
69 | 74 | private class SyncPatCheck extends Thread { |
70 | 75 | private String pid; |
71 | 76 | private String id; |
77 | + private Date lastMenses; | |
72 | 78 | private MongoTemplate mongoTemplate; |
79 | + private int weeks; | |
73 | 80 | |
74 | - public SyncPatCheck(String pid, String id, MongoTemplate mongoTemplate) { | |
81 | + public SyncPatCheck(String pid, String id, MongoTemplate mongoTemplate,Date lastMenses,int weeks) { | |
75 | 82 | this.pid = pid; |
76 | 83 | this.id = id; |
77 | 84 | this.mongoTemplate = mongoTemplate; |
85 | + this.lastMenses = lastMenses; | |
86 | + this.weeks= weeks; | |
78 | 87 | } |
79 | 88 | |
80 | 89 | @Override |
81 | 90 | public void run() { |
82 | 91 | try { |
83 | - syncChuZhen(pid, id, mongoTemplate); | |
84 | - syncFuzhen(pid, id, mongoTemplate); | |
92 | + syncChuZhen(pid, id, mongoTemplate,lastMenses,weeks); | |
93 | + syncFuzhen(pid, id, mongoTemplate,lastMenses,weeks); | |
85 | 94 | } catch (Exception e) { |
86 | 95 | ExceptionUtils.catchException(e, "SyncAntExChu thread error.id:" + id+",pid:"+pid); |
87 | 96 | } |
88 | 97 | |
... | ... | @@ -91,52 +100,52 @@ |
91 | 100 | } |
92 | 101 | |
93 | 102 | |
94 | - private class SyncAntExChu extends Thread { | |
95 | - private String pid; | |
96 | - private String id; | |
97 | - private MongoTemplate mongoTemplate; | |
103 | +// private class SyncAntExChu extends Thread { | |
104 | +// private String pid; | |
105 | +// private String id; | |
106 | +// private MongoTemplate mongoTemplate; | |
107 | +// | |
108 | +// public SyncAntExChu(String pid, String id, MongoTemplate mongoTemplate) { | |
109 | +// this.pid = pid; | |
110 | +// this.id = id; | |
111 | +// this.mongoTemplate = mongoTemplate; | |
112 | +// } | |
113 | +// | |
114 | +// @Override | |
115 | +// public void run() { | |
116 | +// try { | |
117 | +// syncChuZhen(pid, id, mongoTemplate); | |
118 | +// } catch (Exception e) { | |
119 | +// ExceptionUtils.catchException(e, "SyncAntExChu thread error.id:" + id+",pid:"+pid); | |
120 | +// } | |
121 | +// } | |
122 | +// | |
123 | +// | |
124 | +// } | |
125 | +// | |
126 | +// private class SyncAntEx extends Thread { | |
127 | +// private String pid; | |
128 | +// private String id; | |
129 | +// private MongoTemplate mongoTemplate; | |
130 | +// | |
131 | +// public SyncAntEx(String pid, String id, MongoTemplate mongoTemplate) { | |
132 | +// this.pid = pid; | |
133 | +// this.id = id; | |
134 | +// this.mongoTemplate = mongoTemplate; | |
135 | +// } | |
136 | +// | |
137 | +// @Override | |
138 | +// public void run() { | |
139 | +// try { | |
140 | +// syncFuzhen(pid, id, mongoTemplate); | |
141 | +// } catch (Exception e) { | |
142 | +// ExceptionUtils.catchException(e, "SyncAntEx thread error.id:" + id+",pid:"+pid); | |
143 | +// } | |
144 | +// } | |
145 | +// | |
146 | +// | |
147 | +// } | |
98 | 148 | |
99 | - public SyncAntExChu(String pid, String id, MongoTemplate mongoTemplate) { | |
100 | - this.pid = pid; | |
101 | - this.id = id; | |
102 | - this.mongoTemplate = mongoTemplate; | |
103 | - } | |
104 | - | |
105 | - @Override | |
106 | - public void run() { | |
107 | - try { | |
108 | - syncChuZhen(pid, id, mongoTemplate); | |
109 | - } catch (Exception e) { | |
110 | - ExceptionUtils.catchException(e, "SyncAntExChu thread error.id:" + id+",pid:"+pid); | |
111 | - } | |
112 | - } | |
113 | - | |
114 | - | |
115 | - } | |
116 | - | |
117 | - private class SyncAntEx extends Thread { | |
118 | - private String pid; | |
119 | - private String id; | |
120 | - private MongoTemplate mongoTemplate; | |
121 | - | |
122 | - public SyncAntEx(String pid, String id, MongoTemplate mongoTemplate) { | |
123 | - this.pid = pid; | |
124 | - this.id = id; | |
125 | - this.mongoTemplate = mongoTemplate; | |
126 | - } | |
127 | - | |
128 | - @Override | |
129 | - public void run() { | |
130 | - try { | |
131 | - syncFuzhen(pid, id, mongoTemplate); | |
132 | - } catch (Exception e) { | |
133 | - ExceptionUtils.catchException(e, "SyncAntEx thread error.id:" + id+",pid:"+pid); | |
134 | - } | |
135 | - } | |
136 | - | |
137 | - | |
138 | - } | |
139 | - | |
140 | 149 | private class workerBaby extends Thread { |
141 | 150 | |
142 | 151 | private String hid; |
... | ... | @@ -168,6 +177,7 @@ |
168 | 177 | |
169 | 178 | public void syncBabyData(String oracleHid, Integer mysqlHid) { |
170 | 179 | DataUtil.initData(mysqlHid); |
180 | + initBabyGuides(); | |
171 | 181 | new workerBaby(oracleHid).start(); |
172 | 182 | } |
173 | 183 | |
174 | 184 | |
175 | 185 | |
176 | 186 | |
177 | 187 | |
178 | 188 | |
... | ... | @@ -345,62 +355,52 @@ |
345 | 355 | } |
346 | 356 | |
347 | 357 | mongoTemplate.save(model); |
348 | - syncBabyCheck(model.getId(), mongoTemplate); | |
358 | + syncBabyCheck(model.getId(), mongoTemplate,DataUtil.getDate(map.get("PI_BIRTHDAY"))); | |
349 | 359 | } |
350 | 360 | |
351 | 361 | |
352 | -// private void initChuzhenDatas() | |
353 | -// { | |
354 | -// | |
355 | -// long startTimes = System.currentTimeMillis(); | |
356 | -// List<Map<String, Object>> list = JDBCUtil.getOracleListDataBySql(" SELECT F.*,\n" + | |
357 | -// " '[\"'||REPLACE(TT.HIGH_RISK_ID,',','\",\"')||'\"]' AS RISKFACTOR,\n" + | |
358 | -// " TT.HIGH_RISK_VALUE AS RISKSCORE\n" + | |
359 | -// "FROM MOMMY_FIRSTEXAMINE f \n" + | |
360 | -// "--高危数据\n" + | |
361 | -// "LEFT JOIN \n" + | |
362 | -// " (\n" + | |
363 | -// " SELECT T.ME_EXAMINID,WMSYS.WM_CONCAT(T.HIGH_RISK_FACTOR) AS HIGH_RISK_FACTOR,WMSYS.WM_CONCAT(DISTINCT T.HIGH_RISK_GRADE) AS HIGH_RISK_GRADE,SUM(T.HIGH_RISK_VALUE) AS HIGH_RISK_VALUE,WMSYS.WM_CONCAT(T.HIGH_RISK_ID) AS HIGH_RISK_ID\n" + | |
364 | -// " FROM \n" + | |
365 | -// " (SELECT J.ME_EXAMINID,K.DC_NAME AS HIGH_RISK_FACTOR,L.DC_NAME AS HIGH_RISK_GRADE,TO_NUMBER(K.DC_NO) AS HIGH_RISK_VALUE,LL.ID AS HIGH_RISK_ID\n" + | |
366 | -// " FROM \n" + | |
367 | -// " --高危风险关系表\n" + | |
368 | -// " MOMMY_EXAMINWARNING J\n" + | |
369 | -// " --高危内容\n" + | |
370 | -// " INNER JOIN PLAT_DATACONTENT K ON J.ME_WORNINGID = K.DC_ID AND K.DC_ISVALID=1 AND K.DC_DATATYPEID='fb43fd5a-b153-4cb9-9180-c46f5612ba43' AND K.DC_NAME<>'其他'\n" + | |
371 | -// " --高危等级\n" + | |
372 | -// " INNER JOIN PLAT_DATACONTENT L ON K.DC_PARENTID=L.DC_ID AND L.DC_ISVALID=1 \n" + | |
373 | -// " INNER JOIN LYMS_BASICCONFIG LL ON K.DC_NAME=LL.NAME AND LL.PARENTID IN ('49a36aea-c5b6-4162-87d2-9eb3c6ec00c2','eb146c03-b19f-4e28-b85f-fda574b2283b','315107bd-91fe-42a1-9237-752f3c046a40','e637b361-99cf-41eb-84f2-f0dab596e928','224b2329-cb82-4da3-a071-8527f8283aab') \n" + | |
374 | -// " -- UNION ALL \n" + | |
375 | -// " --其他高危评分\n" + | |
376 | -// " --SELECT M.ID,M.MO_CONTENT,M.MO_COLORNAME,M.MO_VALUES FROM MOMMY_OTHERWORNING M\n" + | |
377 | -// " )T\n" + | |
378 | -// " GROUP BY T.ME_EXAMINID \n" + | |
379 | -// " )TT ON F.FE_ID=TT.ME_EXAMINID\n" + | |
380 | -// "where replace(f.FE_TRIAGEORDERNO,'-','') \n"); | |
381 | -// long endTimes = System.currentTimeMillis(); | |
382 | -// System.out.println("chuzhentimes===========" + (endTimes - startTimes)); | |
383 | -// | |
384 | -// for(Map<String, Object> map : list) | |
385 | -// { | |
386 | -// chuzhenDatas.put(DataUtil.getString(map.get("FE_ID")).replace("-", ""), map); | |
387 | -// } | |
388 | -// list = null; | |
389 | -// | |
390 | -// } | |
362 | + private void initChuzhenDatas() | |
363 | + { | |
391 | 364 | |
365 | + List<Map<String, Object>> list = JDBCUtil.getOracleListDataBySql("select cz.*,replace(cz.fe_triageorderno,'-','') as PNO from TMP_QHD_CZ cz "); | |
392 | 366 | |
367 | + System.out.println("initChuzhen size ================= " + list.size()); | |
368 | + for(Map<String, Object> map : list) | |
369 | + { | |
370 | + chuzhenDatas.put(DataUtil.getString(map.get("PNO")), map); | |
371 | + } | |
372 | + list = null; | |
373 | + | |
374 | + patientGuides = JDBCUtil.getOracleListDataBySql("select\n" + | |
375 | + " pe.es_pregnancyweek,bd.dc_name||':'||t.ER_CONTENT as CONTENT\n" + | |
376 | + " from MOMMY_EVALUATIONRESOURCES t\n" + | |
377 | + " inner join Preg_ExamStageEvaluation p on t.er_id = p.ese_evaluationid\n" + | |
378 | + " inner join Preg_ExamineStage pe on p.ese_examinestageid = pe.es_id\n" + | |
379 | + " inner join plat_datacontent bd on bd.dc_id = to_char(t.er_type) "); | |
380 | + | |
381 | + System.out.println("patientGuides size ================= " + patientGuides.size()); | |
382 | + | |
383 | + } | |
384 | + | |
385 | + private void initBabyGuides() | |
386 | + { | |
387 | + | |
388 | + babyGuides = JDBCUtil.getOracleListDataBySql("select ER_CONTENT,ER_ID from MOMMY_EVALUATIONRESOURCES em "); | |
389 | + | |
390 | + System.out.println("initBabyGuides size ================= " + babyGuides.size()); | |
391 | + | |
392 | + } | |
393 | + | |
394 | + | |
393 | 395 | public void syncPatientData(String oracleHid,Integer mysqlHid) { |
394 | 396 | |
395 | 397 | //初始化数据 |
396 | 398 | DataUtil.initData(mysqlHid); |
397 | 399 | |
398 | - new Chanle(mongoTemplate).start(); | |
399 | - | |
400 | 400 | String sql = "select replace(mp.P_NO,'-','') as PID,mp.*,p_birthday,p_name,floor((trunc(sysdate) - trunc(mp.P_LASTMENSTRUALPERIOD)+1) /7) as weeks from MOMMY_PATIENT mp left join Plat_Patient pp" + |
401 | 401 | " on mp.p_platpatientid=pp.p_id where mp.p_hospitalid = '" + oracleHid + "' and p_name is not null order by mp.p_lastmenstrualperiod desc "; |
402 | 402 | List<Map<String, Object>> list = JDBCUtil.getOracleListDataBySql(sql); |
403 | - int batchSize = 500; | |
403 | + int batchSize = 1000; | |
404 | 404 | int end = 0; |
405 | 405 | for (int i = 0; i < list.size(); i += batchSize) { |
406 | 406 | end = (end + batchSize); |
... | ... | @@ -411,6 +411,11 @@ |
411 | 411 | List<Map<String, Object>> tempList = list.subList(i, end); |
412 | 412 | new PatientWorker(tempList, mongoTemplate).start(); |
413 | 413 | } |
414 | + list = null; | |
415 | + initChuzhenDatas(); | |
416 | + | |
417 | + new Chanle(mongoTemplate).start(); | |
418 | + | |
414 | 419 | } |
415 | 420 | |
416 | 421 | private class PatientWorker extends Thread { |
... | ... | @@ -467,6 +472,12 @@ |
467 | 472 | private void syncPatient(Map<String, Object> map,MongoTemplate mongoTemplate) |
468 | 473 | { |
469 | 474 | |
475 | + | |
476 | + if (StringUtils.isEmpty(DataUtil.getString(map.get("P_LASTMENSTRUALPERIOD")))) | |
477 | + { | |
478 | + return; | |
479 | + } | |
480 | + | |
470 | 481 | Patients patients = new Patients(); |
471 | 482 | PersonModel person = new PersonModel(); |
472 | 483 | int type = 1; |
... | ... | @@ -486,6 +497,7 @@ |
486 | 497 | |
487 | 498 | type = 3; |
488 | 499 | } |
500 | + | |
489 | 501 | patients.setDueDate(DateUtil.addDay(DataUtil.getDate(map.get("P_LASTMENSTRUALPERIOD")), 42 * 7)); |
490 | 502 | person.setCreated(new Date()); |
491 | 503 | |
... | ... | @@ -781,6 +793,9 @@ |
781 | 793 | } |
782 | 794 | } |
783 | 795 | |
796 | + | |
797 | + | |
798 | + | |
784 | 799 | patients.setAddressPostRest(DataUtil.getString(map.get("P_HUSBANDRRSTREET"))); // 详细地址 |
785 | 800 | patients.setFileCode(DataUtil.getString(map.get("P_FILENUMBER"))); //建档编号 |
786 | 801 | patients.setVcCardNo(DataUtil.getString(map.get("P_CLINICNO"))); //就诊卡号 |
787 | 802 | |
788 | 803 | |
789 | 804 | |
790 | 805 | |
791 | 806 | |
792 | 807 | |
793 | 808 | |
794 | 809 | |
795 | 810 | |
796 | 811 | |
797 | 812 | |
798 | 813 | |
799 | 814 | |
800 | 815 | |
801 | 816 | |
802 | 817 | |
803 | 818 | |
... | ... | @@ -788,258 +803,148 @@ |
788 | 803 | mongoTemplate.save(patients); |
789 | 804 | System.out.println(patients.getId() + "============"); |
790 | 805 | |
791 | - patientsQueue.add(new SimplePatient(person.getId(), patients.getId())); | |
806 | + patientsQueue.add(new SimplePatient(person.getId(), patients.getId(),DataUtil.getDate(map.get("P_LASTMENSTRUALPERIOD")),weeks)); | |
792 | 807 | |
793 | 808 | } |
794 | 809 | |
810 | +// private synchronized void save(Object obj) | |
811 | +// { | |
812 | +// mongoTemplate.save(obj); | |
813 | +// } | |
795 | 814 | |
796 | - private void syncChuZhen(String pid, String parentId, MongoTemplate mongoTemplate) { | |
815 | + private void syncChuZhen(String pid, String parentId, MongoTemplate mongoTemplate,Date lastMenses,int weeks) { | |
797 | 816 | long startTimes = System.currentTimeMillis(); |
798 | -// List<Map<String, Object>> list = JDBCUtil.getOracleListDataBySql(" SELECT F.*,\n" + | |
799 | -// " '[\"'||REPLACE(TT.HIGH_RISK_ID,',','\",\"')||'\"]' AS RISKFACTOR,\n" + | |
800 | -// " TT.HIGH_RISK_VALUE AS RISKSCORE\n" + | |
801 | -// "FROM MOMMY_FIRSTEXAMINE f \n" + | |
802 | -// "--高危数据\n" + | |
803 | -// "LEFT JOIN \n" + | |
804 | -// " (\n" + | |
805 | -// " SELECT T.ME_EXAMINID,WMSYS.WM_CONCAT(T.HIGH_RISK_FACTOR) AS HIGH_RISK_FACTOR,WMSYS.WM_CONCAT(DISTINCT T.HIGH_RISK_GRADE) AS HIGH_RISK_GRADE,SUM(T.HIGH_RISK_VALUE) AS HIGH_RISK_VALUE,WMSYS.WM_CONCAT(T.HIGH_RISK_ID) AS HIGH_RISK_ID\n" + | |
806 | -// " FROM \n" + | |
807 | -// " (SELECT J.ME_EXAMINID,K.DC_NAME AS HIGH_RISK_FACTOR,L.DC_NAME AS HIGH_RISK_GRADE,TO_NUMBER(K.DC_NO) AS HIGH_RISK_VALUE,LL.ID AS HIGH_RISK_ID\n" + | |
808 | -// " FROM \n" + | |
809 | -// " --高危风险关系表\n" + | |
810 | -// " MOMMY_EXAMINWARNING J\n" + | |
811 | -// " --高危内容\n" + | |
812 | -// " INNER JOIN PLAT_DATACONTENT K ON J.ME_WORNINGID = K.DC_ID AND K.DC_ISVALID=1 AND K.DC_DATATYPEID='fb43fd5a-b153-4cb9-9180-c46f5612ba43' AND K.DC_NAME<>'其他'\n" + | |
813 | -// " --高危等级\n" + | |
814 | -// " INNER JOIN PLAT_DATACONTENT L ON K.DC_PARENTID=L.DC_ID AND L.DC_ISVALID=1 \n" + | |
815 | -// " INNER JOIN LYMS_BASICCONFIG LL ON K.DC_NAME=LL.NAME AND LL.PARENTID IN ('49a36aea-c5b6-4162-87d2-9eb3c6ec00c2','eb146c03-b19f-4e28-b85f-fda574b2283b','315107bd-91fe-42a1-9237-752f3c046a40','e637b361-99cf-41eb-84f2-f0dab596e928','224b2329-cb82-4da3-a071-8527f8283aab') \n" + | |
816 | -// " -- UNION ALL \n" + | |
817 | -// " --其他高危评分\n" + | |
818 | -// " --SELECT M.ID,M.MO_CONTENT,M.MO_COLORNAME,M.MO_VALUES FROM MOMMY_OTHERWORNING M\n" + | |
819 | -// " )T\n" + | |
820 | -// " GROUP BY T.ME_EXAMINID \n" + | |
821 | -// " )TT ON F.FE_ID=TT.ME_EXAMINID\n" + | |
822 | -// "where replace(f.FE_TRIAGEORDERNO,'-','') = '" + parentId + "'\n"); | |
817 | + Map<String,Object> map = chuzhenDatas.get(parentId); | |
823 | 818 | |
824 | - List<Map<String, Object>> list = JDBCUtil.getOracleListDataBySql("select * from TMP_QHD_CZ cz where replace(cz.fe_triageorderno,'-','') = "+parentId+"'"); | |
819 | + if (map == null || map.size() == 0) | |
820 | + { | |
821 | + return; | |
822 | + } | |
823 | + AntExChuModel chuModel = new AntExChuModel(); | |
825 | 824 | |
826 | - long endTimes = System.currentTimeMillis(); | |
827 | - System.out.println("chuzhentimes===========" + (endTimes-startTimes)); | |
828 | - for (Map<String, Object> map : list) { | |
829 | - AntExChuModel chuModel = new AntExChuModel(); | |
825 | + chuModel.setParentId(parentId); | |
826 | + chuModel.setPid(pid); | |
827 | + chuModel.setId(DataUtil.getString(map.get("FE_ID")).replace("-","")); | |
830 | 828 | |
831 | - chuModel.setParentId(parentId); | |
832 | - chuModel.setPid(pid); | |
833 | - chuModel.setId(DataUtil.getString(map.get("FE_ID")).replace("-","")); | |
829 | + chuModel.setDueDate(DataUtil.getDate(map.get("FE_EXPECTEDDATECONFINEMENT"))); | |
830 | + chuModel.setLastMenses(DataUtil.getDate(map.get("FE_LASTMENSTRUALPERIOD"))); | |
831 | + chuModel.setcDueWeek(DataUtil.getString(map.get("FE_PREGNANCYWEEK"))); | |
832 | + chuModel.setPastHistory(DataUtil.getString(map.get(""))); | |
833 | + chuModel.setFamilyHistory(DataUtil.getString(map.get(""))); | |
834 | + chuModel.setPersonalHistory(DataUtil.getString(map.get(""))); | |
835 | + chuModel.setYmjzHistory(DataUtil.getString(map.get(""))); | |
836 | + chuModel.setYwgmHistory(DataUtil.getString(map.get(""))); | |
837 | + chuModel.setFksxHistory(DataUtil.getString(map.get(""))); | |
838 | + chuModel.setYsfyHistory(DataUtil.getString(map.get(""))); | |
839 | + chuModel.setPregnancyTimes(DataUtil.getInteger(map.get(""))); | |
840 | + chuModel.setProdTime(DataUtil.getInteger(map.get(""))); | |
841 | + chuModel.setDelivery(DataUtil.getInteger(map.get(""))); | |
842 | + chuModel.setPlanedProd(DataUtil.getInteger(map.get(""))); | |
843 | + chuModel.setAbortion(DataUtil.getInteger(map.get(""))); | |
844 | + chuModel.setStillbirth(DataUtil.getInteger(map.get(""))); | |
845 | + chuModel.setStillChan(DataUtil.getInteger(map.get(""))); | |
846 | + chuModel.setNeoDeath(DataUtil.getInteger(map.get(""))); | |
847 | + chuModel.setBirthDefect(DataUtil.getInteger(map.get(""))); | |
848 | + chuModel.setHeight(DataUtil.getString(map.get("FE_HEIGHT"))); | |
849 | + chuModel.setWeight(DataUtil.getString(map.get("FE_WEIGHT"))); | |
850 | + chuModel.setYqWeight(DataUtil.getString(map.get("FE_PREGNANCYWEIGHT"))); | |
851 | + chuModel.setBaricIndex(DataUtil.getString(map.get("FE_BMI"))); | |
852 | + chuModel.setCestationInfo(DataUtil.getString(map.get(""))); | |
853 | + chuModel.setGonggao(DataUtil.getString(map.get("FE_UTERUSHEIGHT"))); | |
854 | + chuModel.setFuwei(DataUtil.getString(map.get("FE_ABGIRTH"))); | |
855 | + chuModel.setYn(YnEnums.YES.getId()); | |
834 | 856 | |
835 | - chuModel.setDueDate(DataUtil.getDate(map.get("FE_EXPECTEDDATECONFINEMENT"))); | |
836 | - chuModel.setLastMenses(DataUtil.getDate(map.get("FE_LASTMENSTRUALPERIOD"))); | |
837 | - chuModel.setcDueWeek(DataUtil.getString(map.get("FE_PREGNANCYWEEK"))); | |
838 | - chuModel.setPastHistory(DataUtil.getString(map.get(""))); | |
839 | - chuModel.setFamilyHistory(DataUtil.getString(map.get(""))); | |
840 | - chuModel.setPersonalHistory(DataUtil.getString(map.get(""))); | |
841 | - chuModel.setYmjzHistory(DataUtil.getString(map.get(""))); | |
842 | - chuModel.setYwgmHistory(DataUtil.getString(map.get(""))); | |
843 | - chuModel.setFksxHistory(DataUtil.getString(map.get(""))); | |
844 | - chuModel.setYsfyHistory(DataUtil.getString(map.get(""))); | |
845 | - chuModel.setPregnancyTimes(DataUtil.getInteger(map.get(""))); | |
846 | - chuModel.setProdTime(DataUtil.getInteger(map.get(""))); | |
847 | - chuModel.setDelivery(DataUtil.getInteger(map.get(""))); | |
848 | - chuModel.setPlanedProd(DataUtil.getInteger(map.get(""))); | |
849 | - chuModel.setAbortion(DataUtil.getInteger(map.get(""))); | |
850 | - chuModel.setStillbirth(DataUtil.getInteger(map.get(""))); | |
851 | - chuModel.setStillChan(DataUtil.getInteger(map.get(""))); | |
852 | - chuModel.setNeoDeath(DataUtil.getInteger(map.get(""))); | |
853 | - chuModel.setBirthDefect(DataUtil.getInteger(map.get(""))); | |
854 | - chuModel.setHeight(DataUtil.getString(map.get("FE_HEIGHT"))); | |
855 | - chuModel.setWeight(DataUtil.getString(map.get("FE_WEIGHT"))); | |
856 | - chuModel.setYqWeight(DataUtil.getString(map.get("FE_PREGNANCYWEIGHT"))); | |
857 | - chuModel.setBaricIndex(DataUtil.getString(map.get("FE_BMI"))); | |
858 | - chuModel.setCestationInfo(DataUtil.getString(map.get(""))); | |
859 | - chuModel.setGonggao(DataUtil.getString(map.get("FE_UTERUSHEIGHT"))); | |
860 | - chuModel.setFuwei(DataUtil.getString(map.get("FE_ABGIRTH"))); | |
861 | - chuModel.setYn(YnEnums.YES.getId()); | |
857 | + String doctorId = DataUtil.getString(map.get("FE_DOCTOR")); | |
858 | + if (doctorId != null && !"".equals(doctorId)) { | |
859 | + String dname = DataUtil.getEmpNameById(doctorId); | |
860 | + String id = DataUtil.getUserIdByName(dname); | |
861 | + chuModel.setProdDoctor(id);//产检医生 | |
862 | + } | |
862 | 863 | |
863 | - String doctorId = DataUtil.getString(map.get("FE_DOCTOR")); | |
864 | - if (doctorId != null && !"".equals(doctorId)) { | |
865 | - String dname = DataUtil.getEmpNameById(doctorId); | |
866 | - String id = DataUtil.getUserIdByName(dname); | |
867 | - chuModel.setProdDoctor(id);//产检医生 | |
868 | - } | |
864 | + Integer tireNum = 1; | |
865 | + if (map.get("FE_ISSECOND") != null) { | |
866 | + tireNum = DataUtil.getInteger(map.get("FE_ISSECOND")) == 1 ? 2 : 1; | |
867 | + } else if (map.get("FE_ISTHIRD") != null) { | |
868 | + tireNum = DataUtil.getInteger(map.get("FE_ISSECOND")) == 1 ? 3 : 1; | |
869 | + } | |
870 | + chuModel.setTireNumber1(String.valueOf(tireNum)); | |
871 | + chuModel.setSyjg(DataUtil.getString(map.get(""))); | |
872 | + //chuModel.setPlacentas(); | |
873 | + chuModel.setHeart(DataUtil.getString(map.get("FE_HEART"))); | |
874 | + chuModel.setLungs(DataUtil.getString(map.get("FE_LUNGS"))); | |
875 | + chuModel.setVulva(DataUtil.getString(map.get("FE_VULVA"))); | |
876 | + chuModel.setVagina(DataUtil.getString(map.get("FE_VAGINA"))); | |
877 | + chuModel.setCervical(DataUtil.getString(map.get("FE_CERVICAL"))); | |
878 | + chuModel.setUterus(DataUtil.getString(map.get("FE_UTERUS"))); | |
879 | + chuModel.setFujian(DataUtil.getString(map.get("FE_ATTACHMENT"))); | |
880 | + chuModel.setCreated(DataUtil.getDate(map.get("FE_CREATETIME"))); | |
881 | + chuModel.setNextCheckTime(DataUtil.getDate(map.get("FE_ORDERNEXT"))); | |
869 | 882 | |
870 | - Integer tireNum = 1; | |
871 | - if (map.get("FE_ISSECOND") != null) { | |
872 | - tireNum = DataUtil.getInteger(map.get("FE_ISSECOND")) == 1 ? 2 : 1; | |
873 | - } else if (map.get("FE_ISTHIRD") != null) { | |
874 | - tireNum = DataUtil.getInteger(map.get("FE_ISSECOND")) == 1 ? 3 : 1; | |
875 | - } | |
876 | - chuModel.setTireNumber1(String.valueOf(tireNum)); | |
877 | - chuModel.setSyjg(DataUtil.getString(map.get(""))); | |
878 | - //chuModel.setPlacentas(); | |
879 | - chuModel.setHeart(DataUtil.getString(map.get("FE_HEART"))); | |
880 | - chuModel.setLungs(DataUtil.getString(map.get("FE_LUNGS"))); | |
881 | - chuModel.setVulva(DataUtil.getString(map.get("FE_VULVA"))); | |
882 | - chuModel.setVagina(DataUtil.getString(map.get("FE_VAGINA"))); | |
883 | - chuModel.setCervical(DataUtil.getString(map.get("FE_CERVICAL"))); | |
884 | - chuModel.setUterus(DataUtil.getString(map.get("FE_UTERUS"))); | |
885 | - chuModel.setFujian(DataUtil.getString(map.get("FE_ATTACHMENT"))); | |
886 | - chuModel.setCreated(DataUtil.getDate(map.get("FE_CREATETIME"))); | |
887 | - chuModel.setNextCheckTime(DataUtil.getDate(map.get("FE_ORDERNEXT"))); | |
888 | - chuModel.setCheckTime(DataUtil.getDate(map.get("FE_ROCTORTIME"))); | |
889 | - chuModel.setOtherHighRisk("{}"); | |
890 | - String hid = DataUtil.getString(map.get("FE_HOSPITALID")); | |
891 | - if (hid != null && !"".equals(hid)) { | |
892 | - String hname = DataUtil.getPatHosptalById(hid); | |
893 | - String id = DataUtil.getOrgIdByName(hname); | |
894 | - chuModel.setHospitalId(id); | |
895 | - } | |
896 | - if (map.get("FE_LBLOODPRESSURE") != null) { | |
897 | - Map<String, Integer> bpmap = new HashMap<>(); | |
898 | - bpmap.put("ssy", DataUtil.getInteger(map.get("FE_LBLOODPRESSURE"))); | |
899 | - bpmap.put("szy", DataUtil.getInteger(map.get("FE_LBLOODPRESSURE"))); | |
883 | + if (DataUtil.getDate(map.get("FE_ORDERNEXT")) != null) | |
884 | + { | |
885 | + Date nextDate = DataUtil.getDate(map.get("FE_ORDERNEXT")); | |
886 | + chuModel.setcDueWeek(String.valueOf(DateUtil.getDays(lastMenses,nextDate) / 7)); | |
887 | + } | |
900 | 888 | |
901 | - chuModel.setBp(JsonUtil.obj2Str(bpmap)); | |
889 | + String content = ""; | |
890 | + for(Map<String,Object> guide : patientGuides) | |
891 | + { | |
892 | + if (guide.get("ES_PREGNANCYWEEK") != null && DataUtil.getString(guide.get("ES_PREGNANCYWEEK")).equals(String.valueOf(weeks)) ) | |
893 | + { | |
894 | + content+=guide.get("CONTENT")+"\n"; | |
902 | 895 | } |
903 | 896 | |
904 | - if (StringUtils.isNotEmpty(DataUtil.getString(map.get("RISKFACTOR")))) { | |
905 | - chuModel.setHighrisk(DataUtil.getString(map.get("RISKFACTOR"))); | |
906 | - } else { | |
907 | - chuModel.setHighrisk("[]"); | |
908 | - } | |
897 | + } | |
909 | 898 | |
910 | - Patients pat = new Patients(); | |
899 | + chuModel.setDirOpinion(content); | |
911 | 900 | |
912 | - if (StringUtils.isNotEmpty(DataUtil.getString(map.get("RISKFACTOR")))) { | |
913 | - List<String> rlist = JsonUtil.toList(DataUtil.getString(map.get("RISKFACTOR")), String.class); | |
914 | - pat.setRiskFactorId(rlist); | |
915 | - List<String> llist = queryRisk(rlist, mongoTemplate); | |
916 | - pat.setRiskLevelId(JsonUtil.array2JsonString(llist)); | |
917 | - pat.setLastRhTime(DataUtil.getDate(map.get("FE_ROCTORTIME"))); | |
918 | - } else { | |
919 | - pat.setRiskFactorId(new ArrayList<String>()); | |
920 | - } | |
921 | - pat.setRiskScore(DataUtil.getInteger(map.get("RISKSCORE"))); | |
901 | + chuModel.setCheckTime(DataUtil.getDate(map.get("FE_ROCTORTIME"))); | |
902 | + chuModel.setOtherHighRisk("{}"); | |
903 | + String hid = DataUtil.getString(map.get("FE_HOSPITALID")); | |
904 | + if (hid != null && !"".equals(hid)) { | |
905 | + String hname = DataUtil.getPatHosptalById(hid); | |
906 | + String id = DataUtil.getOrgIdByName(hname); | |
907 | + chuModel.setHospitalId(id); | |
908 | + } | |
909 | + if (map.get("FE_LBLOODPRESSURE") != null || map.get("FE_HBLOODPRESSURE") != null) { | |
910 | + Map<String, String> bpmap = new HashMap<>(); | |
911 | + bpmap.put("szy", map.get("FE_LBLOODPRESSURE") == null ? "" : DataUtil.getString(map.get("FE_LBLOODPRESSURE"))); | |
912 | + bpmap.put("ssy", map.get("FE_HBLOODPRESSURE") == null ? "" : DataUtil.getString(map.get("FE_HBLOODPRESSURE"))); | |
913 | + chuModel.setBp(JsonUtil.obj2Str(bpmap)); | |
914 | + } | |
922 | 915 | |
923 | - Query query = new MongoQuery(new MongoCondition("id", parentId, MongoOper.IS)).convertToMongoQuery(); | |
924 | - Update update = MongoConvertHelper | |
925 | - .convertToNativeUpdate(ReflectionUtils.getUpdateField(pat)); | |
926 | - mongoTemplate.updateMulti(query, update, pat.getClass()); | |
916 | + if (StringUtils.isNotEmpty(DataUtil.getString(map.get("RISKFACTOR")))) { | |
917 | + chuModel.setHighrisk(DataUtil.getString(map.get("RISKFACTOR"))); | |
918 | + } else { | |
919 | + chuModel.setHighrisk("[]"); | |
920 | + } | |
927 | 921 | |
928 | - mongoTemplate.save(chuModel); | |
922 | + Patients pat = new Patients(); | |
923 | + if (StringUtils.isNotEmpty(DataUtil.getString(map.get("RISKFACTOR")))) { | |
924 | + List<String> rlist = JsonUtil.toList(DataUtil.getString(map.get("RISKFACTOR")), String.class); | |
925 | + pat.setRiskFactorId(rlist); | |
926 | + List<String> llist = queryRisk(rlist, mongoTemplate); | |
927 | + pat.setRiskLevelId(JsonUtil.array2JsonString(llist)); | |
928 | + pat.setLastRhTime(DataUtil.getDate(map.get("FE_ROCTORTIME"))); | |
929 | + } else { | |
930 | + pat.setRiskFactorId(new ArrayList<String>()); | |
929 | 931 | } |
932 | + pat.setRiskScore(DataUtil.getInteger(map.get("RISKSCORE"))); | |
933 | + | |
934 | + Query query = new MongoQuery(new MongoCondition("id", parentId, MongoOper.IS)).convertToMongoQuery(); | |
935 | + Update update = MongoConvertHelper | |
936 | + .convertToNativeUpdate(ReflectionUtils.getUpdateField(pat)); | |
937 | + mongoTemplate.updateMulti(query, update, pat.getClass()); | |
938 | + | |
939 | + mongoTemplate.save(chuModel); | |
940 | + | |
941 | + long endTimes = System.currentTimeMillis(); | |
942 | + System.out.println("chuzhentimes===========" + (endTimes - startTimes)); | |
930 | 943 | } |
931 | 944 | |
932 | 945 | |
933 | 946 | |
934 | - private void syncFuzhen(String pid, String parentId, MongoTemplate mongoTemplate) { | |
935 | -// String sql = "SELECT * FROM ( SELECT A.*, ROWNUM RN FROM ( SELECT A.ER_ID AS ID,\n" + | |
936 | -// " '' AS PID,\n" + | |
937 | -// " B.P_NO AS PARENTID,\n" + | |
938 | -// " (CASE WHEN ABS(MOD((FLOOR(A.ER_CHECKDATE - B.P_LASTMENSTRUALPERIOD)+1),7))=0 \n" + | |
939 | -// " THEN '孕'||TO_CHAR(ABS(FLOOR((A.ER_CHECKDATE - B.P_LASTMENSTRUALPERIOD+1)/7)))||'周'\n" + | |
940 | -// " ELSE '孕'||TO_CHAR(ABS(FLOOR((A.ER_CHECKDATE - B.P_LASTMENSTRUALPERIOD+1)/7)))||'周+'||TO_CHAR(ABS(MOD((FLOOR(A.ER_CHECKDATE - B.P_LASTMENSTRUALPERIOD)+1),7)))||'天'\n" + | |
941 | -// " END) AS CURRENTDUEDATE,\n" + | |
942 | -// " A.ER_CHIEF AS CHIEFCOMPLAINT,\n" + | |
943 | -// " A.ER_WEIGHT AS WEIGHT,\n" + | |
944 | -// " '{\"ssy\":'||A.ER_BBLOODPRESSURE||',\"szy\":'||A.ER_HBLOODPRESSURE||'}' AS BP,\n" + | |
945 | -// " A.ER_UTERUSHEIGHT AS GONGGAO,\n" + | |
946 | -// " A.ER_CIRCUMFERENCE AS ABDOMINALCIRCUMFERENCE,\n" + | |
947 | -// " DECODE(A.ER_WATEREDEMA,'-',1,'++',2,'+++',3,'++++',4) AS EDEMA,\n" + | |
948 | -// " (CASE WHEN A.ER_ISSECOND=1 THEN 2 WHEN A.ER_ISTHIRD=1 THEN 3 ELSE 1 END) AS TIRENUMBER, \n" + | |
949 | -// " (CASE WHEN A.ER_ISTHIRD=1\n" + | |
950 | -// " --A.ER_FETALPOSITION_THD IS NOT NULL AND A.ER_FETALPOSITION_SEC IS NOT NULL AND A.ER_FETALPOSITION IS NOT NULL\n" + | |
951 | -// " THEN '[{\"heartRate\":\"'||A.ER_HEARTRATE||'\",\"fetalPosition\":\"'||\n" + | |
952 | -// " TO_CHAR(DECODE(A.ER_FETALPOSITION,'3777',1,'3778',2,'3779',3,'3780',4,'3781',5,'3782',6,'3783',7,'3784',8,'3785',9,'3786',10,'3787',11,'3788',12,'3789',13,'3790',14,'3791',15,'3792',16,'3793',17,'3794',18,'3795',19,'3796',20,'3797',21,'3798',22,'3799',23))||\n" + | |
953 | -// " '\",\"fetalPresentation\":\"'||\n" + | |
954 | -// " TO_CHAR(DECODE(A.ER_FETALPRESENTATION,'3772',1,'3773',2,'3774',3,'3775',4))||\n" + | |
955 | -// " '\",\"join\":\"'||\n" + | |
956 | -// " TO_CHAR(DECODE(A.ER_LINK,'37598072-1cdf-4548-97c3-3dfef08593f7',1,'e9490e8d-5b59-489a-e9ee-25e05dc08d69',2,'e9490e8d-5b59-e89a-89ee-25e05dc08d69',3))||\n" + | |
957 | -// " '\"},{\"heartRate\":\"'||\n" + | |
958 | -// " A.ER_HEARTRATE||'\",\"fetalPosition\":\"'||\n" + | |
959 | -// " TO_CHAR(DECODE(A.ER_FETALPOSITION_SEC,'3777',1,'3778',2,'3779',3,'3780',4,'3781',5,'3782',6,'3783',7,'3784',8,'3785',9,'3786',10,'3787',11,'3788',12,'3789',13,'3790',14,'3791',15,'3792',16,'3793',17,'3794',18,'3795',19,'3796',20,'3797',21,'3798',22,'3799',23))||\n" + | |
960 | -// " '\",\"fetalPresentation\":\"'||\n" + | |
961 | -// " TO_CHAR(DECODE(A.ER_FETALPRESENTATION_SEC,'3772',1,'3773',2,'3774',3,'3775',4))||\n" + | |
962 | -// " '\",\"join\":\"'||\n" + | |
963 | -// " TO_CHAR(DECODE(A.ER_LINK_SEC,'37598072-1cdf-4548-97c3-3dfef08593f7',1,'e9490e8d-5b59-489a-e9ee-25e05dc08d69',2,'e9490e8d-5b59-e89a-89ee-25e05dc08d69',3))||\n" + | |
964 | -// " '\"},{\"heartRate\":\"'||A.ER_HEARTRATE||'\",\"fetalPosition\":\"'||\n" + | |
965 | -// " TO_CHAR(DECODE(A.ER_FETALPOSITION_THD,'3777',1,'3778',2,'3779',3,'3780',4,'3781',5,'3782',6,'3783',7,'3784',8,'3785',9,'3786',10,'3787',11,'3788',12,'3789',13,'3790',14,'3791',15,'3792',16,'3793',17,'3794',18,'3795',19,'3796',20,'3797',21,'3798',22,'3799',23))||\n" + | |
966 | -// " '\",\"fetalPresentation\":\"'||\n" + | |
967 | -// " TO_CHAR(DECODE(A.ER_FETALPRESENTATION_THD,'3772',1,'3773',2,'3774',3,'3775',4))||\n" + | |
968 | -// " '\",\"join\":\"'||\n" + | |
969 | -// " TO_CHAR(DECODE(A.ER_LINK_THD,'37598072-1cdf-4548-97c3-3dfef08593f7',1,'e9490e8d-5b59-489a-e9ee-25e05dc08d69',2,'e9490e8d-5b59-e89a-89ee-25e05dc08d69',3))||\n" + | |
970 | -// " '\"}]'\n" + | |
971 | -// " WHEN A.ER_ISSECOND=1\n" + | |
972 | -// " THEN '[{\"heartRate\":\"'||A.ER_HEARTRATE||'\",\"fetalPosition\":\"'||\n" + | |
973 | -// " TO_CHAR(DECODE(A.ER_FETALPOSITION,'3777',1,'3778',2,'3779',3,'3780',4,'3781',5,'3782',6,'3783',7,'3784',8,'3785',9,'3786',10,'3787',11,'3788',12,'3789',13,'3790',14,'3791',15,'3792',16,'3793',17,'3794',18,'3795',19,'3796',20,'3797',21,'3798',22,'3799',23))||\n" + | |
974 | -// " '\",\"fetalPresentation\":\"'||\n" + | |
975 | -// " TO_CHAR(DECODE(A.ER_FETALPRESENTATION,'3772',1,'3773',2,'3774',3,'3775',4))||\n" + | |
976 | -// " '\",\"join\":\"'||\n" + | |
977 | -// " TO_CHAR(DECODE(A.ER_LINK,'37598072-1cdf-4548-97c3-3dfef08593f7',1,'e9490e8d-5b59-489a-e9ee-25e05dc08d69',2,'e9490e8d-5b59-e89a-89ee-25e05dc08d69',3))||\n" + | |
978 | -// " '\"},{\"heartRate\":\"'||\n" + | |
979 | -// " A.ER_HEARTRATE||'\",\"fetalPosition\":\"'||\n" + | |
980 | -// " TO_CHAR(DECODE(A.ER_FETALPOSITION_SEC,'3777',1,'3778',2,'3779',3,'3780',4,'3781',5,'3782',6,'3783',7,'3784',8,'3785',9,'3786',10,'3787',11,'3788',12,'3789',13,'3790',14,'3791',15,'3792',16,'3793',17,'3794',18,'3795',19,'3796',20,'3797',21,'3798',22,'3799',23))||\n" + | |
981 | -// " '\",\"fetalPresentation\":\"'||\n" + | |
982 | -// " TO_CHAR(DECODE(A.ER_FETALPRESENTATION_SEC,'3772',1,'3773',2,'3774',3,'3775',4))||\n" + | |
983 | -// " '\",\"join\":\"'||\n" + | |
984 | -// " TO_CHAR(DECODE(A.ER_LINK_SEC,'37598072-1cdf-4548-97c3-3dfef08593f7',1,'e9490e8d-5b59-489a-e9ee-25e05dc08d69',2,'e9490e8d-5b59-e89a-89ee-25e05dc08d69',3))||\n" + | |
985 | -// " '\"}]'\n" + | |
986 | -// " ELSE '[{\"heartRate\":\"'||A.ER_HEARTRATE||'\",\"fetalPosition\":\"'||\n" + | |
987 | -// " TO_CHAR(DECODE(A.ER_FETALPOSITION,'3777',1,'3778',2,'3779',3,'3780',4,'3781',5,'3782',6,'3783',7,'3784',8,'3785',9,'3786',10,'3787',11,'3788',12,'3789',13,'3790',14,'3791',15,'3792',16,'3793',17,'3794',18,'3795',19,'3796',20,'3797',21,'3798',22,'3799',23))||\n" + | |
988 | -// " '\",\"fetalPresentation\":\"'||\n" + | |
989 | -// " TO_CHAR(DECODE(A.ER_FETALPRESENTATION,'3772',1,'3773',2,'3774',3,'3775',4))||\n" + | |
990 | -// " '\",\"join\":\"'||\n" + | |
991 | -// " TO_CHAR(DECODE(A.ER_LINK,'37598072-1cdf-4548-97c3-3dfef08593f7',1,'e9490e8d-5b59-489a-e9ee-25e05dc08d69',2,'e9490e8d-5b59-e89a-89ee-25e05dc08d69',3))||\n" + | |
992 | -// " '\"}]'\n" + | |
993 | -// " END) AS TIREDATA,\n" + | |
994 | -// " A.ER_WHITEBLOOD AS HEMOGLOBIN,\n" + | |
995 | -// " A.ER_URINARYPROTEIN AS URINEPROTEIN,\n" + | |
996 | -// " A.ER_B AS BCHAO,\n" + | |
997 | -// " A.ER_BLOODGLUCOSESCREENING AS BLOODSUGAR,\n" + | |
998 | -// " '[\"'||REPLACE(TT.HIGH_RISK_ID,',','\",\"')||'\"]' AS RISKFACTOR,\n" + | |
999 | -// " TT.HIGH_RISK_VALUE AS RISKSCORE,\n" + | |
1000 | -// " A.ER_CLASSIFICATION AS TYPE,\n" + | |
1001 | -// " A.ER_DEAL AS TREATMENTOPINION,\n" + | |
1002 | -// " A.ER_CHECKDATE AS CHECKDATE,\n" + | |
1003 | -// " A.ER_NEXTDATE AS NEXTCHECKTIME,\n" + | |
1004 | -// " A.ER_CREATETIME AS CREATED,\n" + | |
1005 | -// " A.ER_OPERTIME AS MODIFIED,\n" + | |
1006 | -// " H.E_HOSPITALID AS HOSPITALID,\n" + | |
1007 | -// " ABS(FLOOR((A.ER_CHECKDATE - B.P_LASTMENSTRUALPERIOD+1)/7)) AS CDUEWEEK,\n" + | |
1008 | -// " B.P_ISVALID AS YN,\n" + | |
1009 | -// " H.E_NAME AS CHECKDOCTOR\n" + | |
1010 | -// " \n" + | |
1011 | -// "FROM \n" + | |
1012 | -// " MOMMY_EXAMINERESULT A --初诊表\n" + | |
1013 | -// "----孕产婴用户表\n" + | |
1014 | -// "INNER JOIN MOMMY_PATIENT B ON A.ER_TRIAGEORDERNO=B.P_NO AND B.P_ISVALID=1 and replace(B.P_NO,'-','') = '" + parentId + "'\n" + | |
1015 | -// "--平台用户表 \n" + | |
1016 | -// "INNER JOIN PLAT_PATIENT C ON B.P_PLATPATIENTID=C.P_ID AND C.P_ISVALID=1\n" + | |
1017 | -// "--医生表\n" + | |
1018 | -// "INNER JOIN MOMMY_EMPLOYEE H ON H.E_ISVALID=1 AND A.ER_CREATOR=H.E_ID\n" + | |
1019 | -// "--医院表\n" + | |
1020 | -// "INNER JOIN PLAT_HOSPITAL F ON F.H_ID=H.E_HOSPITALID AND F.H_ISVALID=1 \n" + | |
1021 | -// "--诊断表\n" + | |
1022 | -// "--INNER JOIN MOMMY_EXAMINEDIAGNOSIS N ON N.ED_TRIAGEORDERNO=A.ER_ID AND N.ED_IDENTIFYING=0\n" + | |
1023 | -// "--高危数据\n" + | |
1024 | -// "LEFT JOIN \n" + | |
1025 | -// " (\n" + | |
1026 | -// " SELECT T.ME_EXAMINID,WMSYS.WM_CONCAT(T.HIGH_RISK_FACTOR) AS HIGH_RISK_FACTOR,WMSYS.WM_CONCAT(DISTINCT T.HIGH_RISK_GRADE) AS HIGH_RISK_GRADE,SUM(T.HIGH_RISK_VALUE) AS HIGH_RISK_VALUE,WMSYS.WM_CONCAT(T.HIGH_RISK_ID) AS HIGH_RISK_ID\n" + | |
1027 | -// " FROM \n" + | |
1028 | -// " (SELECT J.ME_EXAMINID,K.DC_NAME AS HIGH_RISK_FACTOR,L.DC_NAME AS HIGH_RISK_GRADE,TO_NUMBER(K.DC_NO) AS HIGH_RISK_VALUE,LL.ID AS HIGH_RISK_ID\n" + | |
1029 | -// " FROM \n" + | |
1030 | -// " --高危风险关系表\n" + | |
1031 | -// " MOMMY_EXAMINWARNING J\n" + | |
1032 | -// " --高危内容\n" + | |
1033 | -// " INNER JOIN PLAT_DATACONTENT K ON J.ME_WORNINGID = K.DC_ID AND K.DC_ISVALID=1 AND K.DC_DATATYPEID='fb43fd5a-b153-4cb9-9180-c46f5612ba43' AND K.DC_NAME<>'其他' \n" + | |
1034 | -// " --高危等级\n" + | |
1035 | -// " INNER JOIN PLAT_DATACONTENT L ON K.DC_PARENTID=L.DC_ID AND L.DC_ISVALID=1\n" + | |
1036 | -// " INNER JOIN LYMS_BASICCONFIG LL ON K.DC_NAME=LL.NAME AND LL.PARENTID IN ('49a36aea-c5b6-4162-87d2-9eb3c6ec00c2','eb146c03-b19f-4e28-b85f-fda574b2283b','315107bd-91fe-42a1-9237-752f3c046a40','e637b361-99cf-41eb-84f2-f0dab596e928','224b2329-cb82-4da3-a071-8527f8283aab') \n" + | |
1037 | -// " -- UNION ALL \n" + | |
1038 | -// " --其他高危评分\n" + | |
1039 | -// " --SELECT M.ID,M.MO_CONTENT,M.MO_COLORNAME,M.MO_VALUES FROM MOMMY_OTHERWORNING M\n" + | |
1040 | -// " )T\n" + | |
1041 | -// " GROUP BY T.ME_EXAMINID \n" + | |
1042 | -// " )TT ON A.ER_ID=TT.ME_EXAMINID where replace(p_no,'-','') = '" + parentId + "' ORDER BY B.P_NO,A.ER_CHECKDATE ASC ) A WHERE ROWNUM <= 10 ) WHERE RN >= 0 "; | |
947 | + private void syncFuzhen(String pid, String parentId, MongoTemplate mongoTemplate,Date lastMenses,int weeks) { | |
1043 | 948 | |
1044 | 949 | String sql = "select * from TMP_QHD_FZ where replace(parentid,'-','') = '"+parentId+"'"; |
1045 | 950 | long startTimes = System.currentTimeMillis(); |
1046 | 951 | |
1047 | 952 | |
... | ... | @@ -1102,9 +1007,23 @@ |
1102 | 1007 | |
1103 | 1008 | |
1104 | 1009 | antxModel.setChiefComplaint(DataUtil.getString(map.get("CHIEFCOMPLAINT"))); |
1105 | - antxModel.setcDueWeek(DataUtil.getString(map.get("CDUEWEEK"))); | |
1106 | 1010 | |
1011 | + if (DataUtil.getDate(map.get("NEXTCHECKTIME")) != null) | |
1012 | + { | |
1013 | + Date nextDate = DataUtil.getDate(map.get("NEXTCHECKTIME")); | |
1014 | + antxModel.setcDueWeek(String.valueOf(DateUtil.getDays(lastMenses, nextDate) / 7)); | |
1015 | + } | |
1107 | 1016 | |
1017 | + String content = ""; | |
1018 | + for(Map<String,Object> guide : patientGuides) | |
1019 | + { | |
1020 | + if (guide.get("ES_PREGNANCYWEEK") != null && DataUtil.getString(guide.get("ES_PREGNANCYWEEK")).equals(String.valueOf(weeks)) ) | |
1021 | + { | |
1022 | + content+=guide.get("CONTENT")+"\n"; | |
1023 | + } | |
1024 | + } | |
1025 | + antxModel.setGuide(content); | |
1026 | + | |
1108 | 1027 | Patients pat = new Patients(); |
1109 | 1028 | |
1110 | 1029 | |
... | ... | @@ -1128,7 +1047,7 @@ |
1128 | 1047 | } |
1129 | 1048 | } |
1130 | 1049 | |
1131 | - public static void syncBabyCheck(String parentId, MongoTemplate mongoTemplate) { | |
1050 | + public void syncBabyCheck(String parentId, MongoTemplate mongoTemplate,Date birth) { | |
1132 | 1051 | String sql = " select * from MOMMY_CHILDEXAMINRECORD MC left join MOMMY_PATIENTINFO MP ON MP.PI_ID = MC.CER_PATIENTID WHERE replace(MP.Pi_Id,'-','')= '" + parentId + "'"; |
1133 | 1052 | |
1134 | 1053 | List<Map<String, Object>> list = JDBCUtil.getOracleListDataBySql(sql); |
... | ... | @@ -1170,6 +1089,21 @@ |
1170 | 1089 | " and B.CER_PATIENTID = '" + DataUtil.getString(map.get("CER_PATIENTID")) + "' " + |
1171 | 1090 | " and B.Cer_Id='" + DataUtil.getString(map.get("CER_ID")) + "'"); |
1172 | 1091 | |
1092 | + String content = ""; | |
1093 | + if (birth != null && DataUtil.getDate(map.get("CER_EXAMINDATE")) != null) | |
1094 | + { | |
1095 | + int week = DateUtil.getWeek(birth, DataUtil.getDate(map.get("CER_EXAMINDATE"))); | |
1096 | + for (Map<String, Object> guide : babyGuides) | |
1097 | + { | |
1098 | + if (guide.get("ER_ID") != null && DataUtil.getString(guide.get("ER_ID")).equals(String.valueOf(week))) | |
1099 | + { | |
1100 | + content+=guide.get("ER_CONTENT"); | |
1101 | + } | |
1102 | + | |
1103 | + } | |
1104 | + } | |
1105 | + checkModel.setGuideSuggest(content); | |
1106 | + | |
1173 | 1107 | for (Map<String, Object> item : checkItems) { |
1174 | 1108 | String result = DataUtil.getString(item.get("E_RESULT")); |
1175 | 1109 | String itemName = DataUtil.getString(item.get("EI_NAME")); |
... | ... | @@ -1197,7 +1131,7 @@ |
1197 | 1131 | checkModel.setGrowthEvaluate(JsonUtil.array2JsonString(growthEvaluate)); |
1198 | 1132 | } else if ("经皮胆红素".equals(itemName)) { |
1199 | 1133 | //头:9.5|胸:10.0|腹:10.0 |
1200 | - String[] arrs = result.split("|"); | |
1134 | + String[] arrs = result.split("\\u007C"); | |
1201 | 1135 | for (String str : arrs) { |
1202 | 1136 | String[] temps = str.split(":"); |
1203 | 1137 | if (str.startsWith("头")) { |
1204 | 1138 | |
... | ... | @@ -1216,9 +1150,12 @@ |
1216 | 1150 | bregma.put("yeaOrNo", "yes"); |
1217 | 1151 | } else if (result != null && result.startsWith("未闭合")) { |
1218 | 1152 | bregma.put("yeaOrNo", "no"); |
1219 | - String[] arrs = result.split("|"); | |
1153 | + String[] arrs = result.split("\\u007C"); | |
1220 | 1154 | if (arrs[1] != null && !"".equals(arrs[1])) { |
1221 | - String[] items = arrs[1].split("×").length == 0 ? arrs[1].split("\\u002A") : arrs[1].split("×"); | |
1155 | + | |
1156 | + String temp = arrs[1].replace("×","&"); | |
1157 | + temp = temp.replace("*","&"); | |
1158 | + String[] items = temp.split("&"); | |
1222 | 1159 | if (items != null && items.length > 0) { |
1223 | 1160 | if (items.length == 1) { |
1224 | 1161 | bregma.put("wbhcc1", items[0]); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java
View file @
f2b2189
... | ... | @@ -750,7 +750,7 @@ |
750 | 750 | } |
751 | 751 | |
752 | 752 | |
753 | - patient.setVipEndTime(DateUtil.parseYMD(yunRequest.getVipEndTime())); | |
753 | + //patient.setVipEndTime(DateUtil.parseYMD(yunRequest.getVipEndTime())); | |
754 | 754 | patient.setExpVip(yunRequest.getExpVip()); |
755 | 755 | patient.setMremark(yunRequest.getMremark()); |
756 | 756 |