Commit f2b21899ba4d246abdc35788e0592e10a65a92e3

Authored by liquanyu
1 parent 4eb5096950

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 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
... ... @@ -14,7 +14,7 @@
14 14 */
15 15 public enum ExpEnums {
16 16  
17   - SGY(0,"体验3个月服务"),ETFW(1,"体验儿童服务");
  17 + QXZ(-1,"--请选择--"),SGY(0,"体验3个月服务"),ETFW(1,"体验儿童服务");
18 18  
19 19 private ExpEnums(int id, String name) {
20 20 this.id = id;
platform-common/src/main/java/com/lyms/platform/common/enums/ExpYunEnums.java View file @ f2b2189
... ... @@ -14,7 +14,7 @@
14 14 */
15 15 public enum ExpYunEnums {
16 16  
17   - SGY(0,"体验3个月服务"),ETFW(1,"体验孕期服务");
  17 + QXZ(-1,"--请选择--"),SGY(0,"体验3个月服务"),ETFW(1,"体验孕期服务");
18 18  
19 19 private ExpYunEnums(int id, String name) {
20 20 this.id = id;
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