Commit cba64489e23e627a09f9f839d6d2f3e7a53d61a0
1 parent
aa1660e070
Exists in
master
and in
6 other branches
update
Showing 3 changed files with 431 additions and 12 deletions
platform-common/src/main/java/com/lyms/platform/common/enums/ChildrenTypeEnums.java
View file @
cba6448
1 | +package com.lyms.platform.common.enums; | |
2 | + | |
3 | +import java.util.ArrayList; | |
4 | +import java.util.HashMap; | |
5 | +import java.util.List; | |
6 | +import java.util.Map; | |
7 | + | |
8 | +/** | |
9 | + * @Author: 武涛涛 | |
10 | + * @Date: 2020/7/24 10:00 | |
11 | + */ | |
12 | +public enum ChildrenTypeEnums { | |
13 | + nldy40s("nldy40s","年龄>40岁"), | |
14 | + nlx16s("nlx16s","年龄<16岁"), | |
15 | + rh("rh","特殊血型"), | |
16 | + /* xd("xd","吸毒史"), | |
17 | + xj("xj","酗酒"),*/ | |
18 | + yys("yys","用药史"), | |
19 | + gxy("gxy","高血压"), | |
20 | + tnb("tnb","糖尿病"), | |
21 | + szjb("szjb","肾脏疾病"), | |
22 | + xzjb("xzjb","心脏疾病"), | |
23 | + fbjb("fbjb","肺部疾病"), | |
24 | + px("px","贫血"), | |
25 | + xxbjs("xxbjs","血小板减少"), | |
26 | + ysgd("ysgd","羊水过多"), | |
27 | + ysgs("ysgs","羊水过少"); | |
28 | + /* rszqcx("rszqcx","妊娠早期出血"), | |
29 | + rswqcx("rswqcx","妊娠晚期出血"), | |
30 | + ymzp("ymzp","羊膜早破"), | |
31 | + ymgr("ymgr","羊膜感染");*/ | |
32 | + | |
33 | + | |
34 | + private ChildrenTypeEnums(String id, String name){ | |
35 | + this.name=name; | |
36 | + this.id =id; | |
37 | + | |
38 | + } | |
39 | + private String name; | |
40 | + private String id; | |
41 | + | |
42 | + public String getId() { | |
43 | + return id; | |
44 | + } | |
45 | + | |
46 | + public String getName() { | |
47 | + return name; | |
48 | + } | |
49 | + public static String getTitleById(String id){ | |
50 | + for(ChildrenTypeEnums enums:values()){ | |
51 | + if(id != null && id==enums.getId()){ | |
52 | + return enums.getName(); | |
53 | + } | |
54 | + } | |
55 | + return null; | |
56 | + } | |
57 | + | |
58 | + public static List<Map<String,String>> getDiseaseTypeList() | |
59 | + { | |
60 | + List<Map<String,String>> list = new ArrayList<>(); | |
61 | + for(ChildrenTypeEnums s : ChildrenTypeEnums.values()) { | |
62 | + Map<String,String> map = new HashMap<>(); | |
63 | + map.put("id", String.valueOf(s.getId())); | |
64 | + map.put("name", s.getName()); | |
65 | + list.add(map); | |
66 | + } | |
67 | + return list; | |
68 | + } | |
69 | +} |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java
View file @
cba6448
... | ... | @@ -7,6 +7,7 @@ |
7 | 7 | import com.lyms.platform.common.base.BaseController; |
8 | 8 | import com.lyms.platform.common.base.LoginContext; |
9 | 9 | import com.lyms.platform.common.constants.ErrorCodeConstants; |
10 | +import com.lyms.platform.common.enums.ChildrenTypeEnums; | |
10 | 11 | import com.lyms.platform.common.result.BaseListResponse; |
11 | 12 | import com.lyms.platform.common.result.BaseObjectResponse; |
12 | 13 | import com.lyms.platform.common.result.BaseResponse; |
... | ... | @@ -31,6 +32,7 @@ |
31 | 32 | import java.io.IOException; |
32 | 33 | import java.io.InputStream; |
33 | 34 | import java.io.UnsupportedEncodingException; |
35 | +import java.util.HashMap; | |
34 | 36 | import java.util.List; |
35 | 37 | import java.util.Map; |
36 | 38 | |
... | ... | @@ -594,7 +596,6 @@ |
594 | 596 | /** |
595 | 597 | * 秦皇岛 产科门诊诊断 list |
596 | 598 | * |
597 | - | |
598 | 599 | * @Author: 武涛涛 |
599 | 600 | * @Date: 2020/7/15 9:31 |
600 | 601 | */ |
... | ... | @@ -605,6 +606,29 @@ |
605 | 606 | LoginContext loginState = (LoginContext) httpServletRequest.getAttribute("loginContext"); |
606 | 607 | |
607 | 608 | return babyBookbuildingFacade.getObstetricDiagnosisQhd(babyManageRequest,loginState.getId()); |
609 | + } | |
610 | + | |
611 | + | |
612 | + /** | |
613 | + * 秦皇岛 儿童诊断管理 下拉框列表 | |
614 | + * | |
615 | + * @Author: 武涛涛 | |
616 | + * @Date: 2020/7/15 9:31 | |
617 | + */ | |
618 | + @RequestMapping(value = "/getChildrenEnums", method = RequestMethod.GET) | |
619 | + @ResponseBody | |
620 | + public BaseResponse getChildrenEnums() { | |
621 | + Map<String, Object> map = new HashMap<>(); | |
622 | + | |
623 | + /* //服务类型 | |
624 | + List serviceType = ServiceTypeEnums.getServiceTypeList(); | |
625 | + map.put("serviceType", serviceType);*/ | |
626 | + | |
627 | + //疾病类型 | |
628 | + List childrenTypeEnumsList = ChildrenTypeEnums.getDiseaseTypeList(); | |
629 | + map.put("childrenTypeEnumsList", childrenTypeEnumsList); | |
630 | + | |
631 | + return new BaseObjectResponse().setData(map).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); | |
608 | 632 | } |
609 | 633 | |
610 | 634 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java
View file @
cba6448
... | ... | @@ -1142,7 +1142,7 @@ |
1142 | 1142 | bm.setEncoded(b.getEncoded()); |
1143 | 1143 | } |
1144 | 1144 | //预建档的要加上编码 |
1145 | - if(b.getYn()!=null && b.getYn()==0 && StringUtils.isEmpty(b.getEncoded())){ | |
1145 | + if (b.getYn() != null && b.getYn() == 0 && StringUtils.isEmpty(b.getEncoded())) { | |
1146 | 1146 | String encodedUtil = getEncodedUtil(); |
1147 | 1147 | bm.setEncoded(encodedUtil); |
1148 | 1148 | } |
... | ... | @@ -1364,7 +1364,7 @@ |
1364 | 1364 | |
1365 | 1365 | String encodedBaby = null; |
1366 | 1366 | BabyModel babyModel = null; |
1367 | - try { | |
1367 | + try { | |
1368 | 1368 | BabyModelQuery babyQuery = new BabyModelQuery(); |
1369 | 1369 | babyQuery.setYn(YnEnums.YES.getId()); |
1370 | 1370 | babyQuery.setCreatedTimeStart(DateUtil.getDayFirstSecond(new Date())); |
1371 | 1371 | |
1372 | 1372 | |
1373 | 1373 | |
... | ... | @@ -1373,21 +1373,21 @@ |
1373 | 1373 | MongoQuery query = babyQuery.convertToQuery(); |
1374 | 1374 | List<BabyModel> list = babyBookBuildingDao.queryBabyWithQuery(query.addOrder(Sort.Direction.DESC, "created")); |
1375 | 1375 | if (CollectionUtils.isNotEmpty(list)) { |
1376 | - babyModel = list.get(0); | |
1376 | + babyModel = list.get(0); | |
1377 | 1377 | if (StringUtils.isNotEmpty(babyModel.getEncoded()) && babyModel.getEncoded().length() > 8) { |
1378 | 1378 | String encoded = babyModel.getEncoded().substring(8, babyModel.getEncoded().length());//20200721003 |
1379 | - encodedBaby= DateUtil.getDateNumber(encoded); | |
1379 | + encodedBaby = DateUtil.getDateNumber(encoded); | |
1380 | 1380 | } |
1381 | 1381 | } |
1382 | 1382 | } catch (Exception e) { |
1383 | 1383 | e.printStackTrace(); |
1384 | 1384 | } |
1385 | 1385 | |
1386 | - if(StringUtils.isNotEmpty(encodedBaby)){ | |
1387 | - return encodedBaby; | |
1386 | + if (StringUtils.isNotEmpty(encodedBaby)) { | |
1387 | + return encodedBaby; | |
1388 | 1388 | } |
1389 | - if(babyModel==null) { | |
1390 | - return DateUtil.getDateNumber("0"); | |
1389 | + if (babyModel == null) { | |
1390 | + return DateUtil.getDateNumber("0"); | |
1391 | 1391 | } |
1392 | 1392 | return null; |
1393 | 1393 | |
... | ... | @@ -2096,7 +2096,7 @@ |
2096 | 2096 | */ |
2097 | 2097 | private void setEncodedCardNo(BookbuildingQueryRequest param, Integer userId) { |
2098 | 2098 | |
2099 | - if(StringUtils.isNotEmpty(param.getEncoded())){ | |
2099 | + if (StringUtils.isNotEmpty(param.getEncoded())) { | |
2100 | 2100 | BabyModelQuery babyQuery1 = new BabyModelQuery(); |
2101 | 2101 | babyQuery1.setEncoded(param.getEncoded()); |
2102 | 2102 | babyQuery1.setYn(YnEnums.YES.getId()); |
... | ... | @@ -2107,7 +2107,7 @@ |
2107 | 2107 | babyQuery1.setEnableListNot(list); |
2108 | 2108 | } |
2109 | 2109 | List<BabyModel> build1 = babyBookbuildingService.queryBabyBuildByCond(babyQuery1, "created", Sort.Direction.DESC); |
2110 | - if(CollectionUtils.isNotEmpty(build1)){ | |
2110 | + if (CollectionUtils.isNotEmpty(build1)) { | |
2111 | 2111 | BabyModel babyModel = build1.get(0); |
2112 | 2112 | param.setCardNo(babyModel.getMphone()); |
2113 | 2113 | } |
... | ... | @@ -2442,7 +2442,7 @@ |
2442 | 2442 | return objectResponse; |
2443 | 2443 | } |
2444 | 2444 | |
2445 | - public BaseListResponse queryObstetricDiagnosisQhdList(BabyManageRequest request, Integer userId) { | |
2445 | + public BaseListResponse queryObstetricDiagnosisQhdList1(BabyManageRequest request, Integer userId) { | |
2446 | 2446 | |
2447 | 2447 | String hospitalName = ""; |
2448 | 2448 | String hospitalId = ""; |
... | ... | @@ -2552,6 +2552,332 @@ |
2552 | 2552 | objectResponse.setPageInfo(babyQuery.getPageInfo()); |
2553 | 2553 | objectResponse.setErrormsg("成功"); |
2554 | 2554 | return objectResponse; |
2555 | + } | |
2556 | + | |
2557 | + public BaseListResponse queryObstetricDiagnosisQhdList(BabyManageRequest request, Integer userId) { | |
2558 | + | |
2559 | + String hospitalName = ""; | |
2560 | + List<BabyManageListResult> list = null; | |
2561 | + BabyModelQuery babyQuery = null; | |
2562 | + List<BabyModel> models = null; | |
2563 | + try { | |
2564 | + String hospitalId = autoMatchFacade.getHospitalId(userId); | |
2565 | + hospitalName = organizationService.getOrganization(Integer.valueOf(hospitalId)).getName(); | |
2566 | + | |
2567 | + PatientsQuery patientsQuery = new PatientsQuery(); | |
2568 | + patientsQuery.setYn(YnEnums.YES.getId()); | |
2569 | + patientsQuery.setHospitalId(hospitalId); | |
2570 | + patientsQuery.setType(3);//3产妇 | |
2571 | + Query qurey = null; | |
2572 | + //加入选择的高危选项 | |
2573 | + if (StringUtils.isNotEmpty(request.getHighRiskInfo())) { | |
2574 | + List<String> factorLists = new ArrayList<>(); | |
2575 | + String highRiskInfosStr = request.getHighRiskInfo(); | |
2576 | + if ("nldy40s".equals(highRiskInfosStr)) { | |
2577 | + Criteria criteria1 = Criteria.where("name").is("40岁>年龄≥35岁"); | |
2578 | + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1)); | |
2579 | + setfatorListUtil(factorLists, qurey); | |
2580 | + }else if ("nlx16s".equals(highRiskInfosStr)) { | |
2581 | + Criteria criteria1 = Criteria.where("name").is("年龄≤18岁"); | |
2582 | + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1)); | |
2583 | + setfatorListUtil(factorLists, qurey); | |
2584 | + }else if ("rh".equals(highRiskInfosStr)) { | |
2585 | + Criteria criteria1 = Criteria.where("name").is("RH(-)"); | |
2586 | + Criteria criteria2 = Criteria.where("name").is("Rh血型不合"); | |
2587 | + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1,criteria2)); | |
2588 | + setfatorListUtil(factorLists, qurey); | |
2589 | + }else if ("xd".equals(highRiskInfosStr)) { | |
2590 | + Criteria criteria1 = Criteria.where("name").is("吸毒史"); | |
2591 | + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1)); | |
2592 | + setfatorListUtil(factorLists, qurey); | |
2593 | + }else if ("gxy".equals(highRiskInfosStr)) { | |
2594 | + Criteria criteria1 = Criteria.where("name").is("妊娠期高血压疾病病史"); | |
2595 | + Criteria criteria2 = Criteria.where("name").is("妊娠期高血压"); | |
2596 | + Criteria criteria3 = Criteria.where("name").is("慢性高血压合并妊娠"); | |
2597 | + Criteria criteria4 = Criteria.where("name").is("慢性高血压合并子痫前期"); | |
2598 | + Criteria criteria5 = Criteria.where("name").is("妊娠期高血压性心脏病"); | |
2599 | + Criteria criteria6 = Criteria.where("name").is("急性肾脏疾病伴高血压"); | |
2600 | + Criteria criteria7 = Criteria.where("name").is("慢性肾脏疾病伴高血压"); | |
2601 | + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1,criteria2,criteria3,criteria4,criteria5,criteria6,criteria7)); | |
2602 | + setfatorListUtil(factorLists, qurey); | |
2603 | + }else if ("tnb".equals(highRiskInfosStr)) { | |
2604 | + Criteria criteria1 = Criteria.where("name").is("妊娠期糖尿病(无需药物治疗)"); | |
2605 | + Criteria criteria2 = Criteria.where("name").is("妊娠期糖尿病病史"); | |
2606 | + Criteria criteria3 = Criteria.where("name").is("糖尿病合并妊娠(无需药物治疗)"); | |
2607 | + Criteria criteria4 = Criteria.where("name").is("需药物治疗的糖尿病"); | |
2608 | + Criteria criteria5 = Criteria.where("name").is("糖尿病并发肾病V级"); | |
2609 | + Criteria criteria6 = Criteria.where("name").is("糖尿病并发严重心血管病"); | |
2610 | + Criteria criteria7 = Criteria.where("name").is("糖尿病并发增生性视网膜病变"); | |
2611 | + Criteria criteria8 = Criteria.where("name").is("糖尿病并发玻璃体出血"); | |
2612 | + Criteria criteria9 = Criteria.where("name").is("糖尿病并发周围神经病变等"); | |
2613 | + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1,criteria2,criteria3,criteria4,criteria5,criteria6,criteria7,criteria8,criteria9)); | |
2614 | + setfatorListUtil(factorLists, qurey); | |
2615 | + }else if ("szjb".equals(highRiskInfosStr)) { | |
2616 | + //,胎儿肾脏囊性疾病,急性肾脏疾病伴高血压,慢性肾脏疾病伴高血压 | |
2617 | + Criteria criteria1 = Criteria.where("name").is("泌尿系统疾病:肾脏疾病(目前病情稳定肾功能正常)"); | |
2618 | + Criteria criteria2 = Criteria.where("name").is("泌尿系统疾病:慢性肾脏疾病伴肾功能不全代偿期(肌酐超过正常值上限)"); | |
2619 | + Criteria criteria3 = Criteria.where("name").is("胎儿肾脏囊性疾病"); | |
2620 | + Criteria criteria4 = Criteria.where("name").is("急性肾脏疾病伴高血压"); | |
2621 | + Criteria criteria5 = Criteria.where("name").is("慢性肾脏疾病伴高血压"); | |
2622 | + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1,criteria2,criteria3,criteria4,criteria5)); | |
2623 | + setfatorListUtil(factorLists, qurey); | |
2624 | + }else if ("xzjb".equals(highRiskInfosStr)) { | |
2625 | + //Marfan综合征无主动脉扩张),未手术的紫绀型心脏病(SpO2<90%),心脏瓣膜置换术后,妊娠期高血压性心脏病,甲状腺功能亢进并发心脏病 | |
2626 | + Criteria criteria1 = Criteria.where("name").is("先天性心脏病(不伴有肺动脉高压的房缺)"); | |
2627 | + Criteria criteria2 = Criteria.where("name").is("先天性心脏病(不伴有肺动脉高压的室缺)"); | |
2628 | + Criteria criteria3 = Criteria.where("name").is("先天性心脏病(不伴有肺动脉高压的动脉导管未闭)"); | |
2629 | + Criteria criteria4 = Criteria.where("name").is("先天性心脏病(法乐氏四联症修补术后无残余心脏结构异常)"); | |
2630 | + Criteria criteria5 = Criteria.where("name").is("心脏手术史"); | |
2631 | + Criteria criteria6 = Criteria.where("name").is("瓣膜性心脏病 (轻度二尖瓣狭窄瓣口>1.5 cm2,主动脉瓣狭窄跨瓣压差<50mmHg,无合并症的轻度肺动脉狭窄,二尖瓣脱垂,二叶式主动脉瓣疾病,Marfan综合征无主动脉扩张)"); | |
2632 | + Criteria criteria7 = Criteria.where("name").is("未手术的紫绀型心脏病(SpO2<90%)"); | |
2633 | + Criteria criteria8 = Criteria.where("name").is("心脏瓣膜置换术后"); | |
2634 | + Criteria criteria9 = Criteria.where("name").is("妊娠期高血压性心脏病"); | |
2635 | + Criteria criteria10 = Criteria.where("name").is("甲状腺功能亢进并发心脏病"); | |
2636 | + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1,criteria2,criteria3,criteria4,criteria5,criteria6,criteria7,criteria8,criteria9,criteria10)); | |
2637 | + setfatorListUtil(factorLists, qurey); | |
2638 | + }else if ("fbjb".equals(highRiskInfosStr)) { | |
2639 | + Criteria criteria1 = Criteria.where("name").is("轻度的肺动脉狭窄和二尖瓣脱垂(无合并症)"); | |
2640 | + Criteria criteria2 = Criteria.where("name").is("呼吸系统疾病(经呼吸内科诊治无需药物治疗、肺功能正常)"); | |
2641 | + Criteria criteria3 = Criteria.where("name").is("瓣膜性心脏病 (轻度二尖瓣狭窄瓣口>1.5 cm2,主动脉瓣狭窄跨瓣压差<50mmHg,无合并症的轻度肺动脉狭窄,二尖瓣脱垂,二叶式主动脉瓣疾病,Marfan综合征无主动脉扩张)"); | |
2642 | + Criteria criteria4 = Criteria.where("name").is("各种原因的轻度肺动脉高压(<50mmHg)"); | |
2643 | + Criteria criteria5 = Criteria.where("name").is("胸廓畸形等伴轻度肺功能不全"); | |
2644 | + Criteria criteria6 = Criteria.where("name").is("双胎伴发心肺功能减退"); | |
2645 | + Criteria criteria7 = Criteria.where("name").is("羊水过多伴发心肺功能减退"); | |
2646 | + Criteria criteria8 = Criteria.where("name").is("各种原因引起的肺动脉高压(≥50mmHg),如房缺、室缺、动脉导管未闭等"); | |
2647 | + Criteria criteria9 = Criteria.where("name").is("哮喘反复发作(影响肺功能者),肺纤维化(影响肺功能者)"); | |
2648 | + Criteria criteria10 = Criteria.where("name").is("胸廓严重畸形(影响肺功能者)"); | |
2649 | + Criteria criteria11 = Criteria.where("name").is("脊柱严重畸形(影响肺功能者)"); | |
2650 | + Criteria criteria12 = Criteria.where("name").is("三胎及以上妊娠伴发心肺功能减退"); | |
2651 | + Criteria criteria13 = Criteria.where("name").is("重症感染性肺炎"); | |
2652 | + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1,criteria2,criteria3,criteria4,criteria5,criteria6, | |
2653 | + criteria7,criteria8,criteria9,criteria10,criteria11,criteria12,criteria13)); | |
2654 | + setfatorListUtil(factorLists, qurey); | |
2655 | + }else if ("px".equals(highRiskInfosStr)) { | |
2656 | + Criteria criteria1 = Criteria.where("name").is("轻度缺铁性贫血(100-109g/L)"); | |
2657 | + Criteria criteria2 = Criteria.where("name").is("中度缺铁性贫血(70-99g/L)"); | |
2658 | + Criteria criteria3 = Criteria.where("name").is("轻度妊娠期贫血(100-109g/l)(缺铁性)"); | |
2659 | + Criteria criteria4 = Criteria.where("name").is("轻度妊娠期贫血(100-109g/l)(巨幼细胞性)"); | |
2660 | + Criteria criteria5 = Criteria.where("name").is("轻度妊娠期贫血(100-109g/l)(再生障碍性)"); | |
2661 | + Criteria criteria6 = Criteria.where("name").is("中度妊娠期贫血(70-99g/l)(缺铁性)"); | |
2662 | + Criteria criteria7 = Criteria.where("name").is("中度妊娠期贫血(70-99g/l)(巨幼细胞性)"); | |
2663 | + Criteria criteria8 = Criteria.where("name").is("中度妊娠期贫血(70-99g/l)(再生障碍性)"); | |
2664 | + Criteria criteria9 = Criteria.where("name").is("中度妊娠期贫血(70-99g/l)(未分类)"); | |
2665 | + Criteria criteria10 = Criteria.where("name").is("轻度妊娠期贫血(100-109g/l)(未分类)"); | |
2666 | + Criteria criteria11 = Criteria.where("name").is("重度妊娠期贫血(40-69g/L)(缺铁性)"); | |
2667 | + Criteria criteria12 = Criteria.where("name").is("重度妊娠期贫血(40-69g/L)(巨幼细胞性)"); | |
2668 | + Criteria criteria13 = Criteria.where("name").is("重度妊娠期贫血(40-69g/l)(再生障碍性)"); | |
2669 | + Criteria criteria14 = Criteria.where("name").is("重度妊娠期贫血(40-69g/l)(未分类)"); | |
2670 | + Criteria criteria15 = Criteria.where("name").is("重度贫血(Hb40-60g/L)"); | |
2671 | + Criteria criteria16 = Criteria.where("name").is("再生障碍性贫血"); | |
2672 | + Criteria criteria17 = Criteria.where("name").is("极重度贫血(<40 g/L)(缺铁性)"); | |
2673 | + Criteria criteria18 = Criteria.where("name").is("极重度贫血(<40 g/L)(巨幼细胞)"); | |
2674 | + Criteria criteria19 = Criteria.where("name").is("极重度贫血(<40 g/L)(再生障碍性)"); | |
2675 | + Criteria criteria20 = Criteria.where("name").is("极重度贫血(<40 g/L)(未分类)"); | |
2676 | + Criteria criteria21 = Criteria.where("name").is("重度贫血(Hb≤40g/L)"); | |
2677 | + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1,criteria2,criteria3,criteria4,criteria5,criteria6, | |
2678 | + criteria7,criteria8,criteria9,criteria10,criteria11,criteria12,criteria13,criteria14,criteria15,criteria16,criteria17 | |
2679 | + ,criteria18,criteria19,criteria20,criteria21)); | |
2680 | + setfatorListUtil(factorLists, qurey); | |
2681 | + }else if ("xxbjs".equals(highRiskInfosStr)) { | |
2682 | + Criteria criteria1 = Criteria.where("name").is("妊娠合并血小板减少(PLT 50-100×109/L)但无出血倾向"); | |
2683 | + Criteria criteria2 = Criteria.where("name").is("血小板减少(PLT30-50×109/L)"); | |
2684 | + Criteria criteria3 = Criteria.where("name").is("血小板减少(<30×109/L)或进行性下降或伴有出血倾向"); | |
2685 | + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1,criteria2,criteria3)); | |
2686 | + setfatorListUtil(factorLists, qurey); | |
2687 | + }else if ("ysgd".equals(highRiskInfosStr)) { | |
2688 | + Criteria criteria1 = Criteria.where("name").is("羊水过多"); | |
2689 | + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1)); | |
2690 | + setfatorListUtil(factorLists, qurey); | |
2691 | + }else if ("ysgs".equals(highRiskInfosStr)) { | |
2692 | + Criteria criteria1 = Criteria.where("name").is("羊水过少"); | |
2693 | + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1)); | |
2694 | + setfatorListUtil(factorLists, qurey); | |
2695 | + } | |
2696 | + | |
2697 | + patientsQuery.setrFactorList(factorLists); | |
2698 | + } else { | |
2699 | + //加上默认指定全部高危 | |
2700 | + List<String> factorLists = new ArrayList<>(); | |
2701 | + setFactorLists(qurey, factorLists); | |
2702 | + patientsQuery.setrFactorList(factorLists); | |
2703 | + } | |
2704 | + List<Patients> patients = patientsService.queryPatientBySort(patientsQuery, "modified", "desc"); | |
2705 | + List<String> antExRMPIds = new ArrayList<>(); | |
2706 | + for (Patients patient : patients) { | |
2707 | + if (StringUtils.isNotEmpty(patient.getId())) { | |
2708 | + antExRMPIds.add(patient.getId()); | |
2709 | + } | |
2710 | + } | |
2711 | + | |
2712 | + | |
2713 | + //查询关联获取儿童信息 | |
2714 | + if(CollectionUtils.isNotEmpty(antExRMPIds)){ | |
2715 | + //获取儿童信息 | |
2716 | + list = new ArrayList<>(); | |
2717 | + babyQuery = new BabyModelQuery(); | |
2718 | + babyQuery.setNeed("true"); | |
2719 | + babyQuery.setPage(request.getPage()); | |
2720 | + babyQuery.setLimit(request.getLimit()); | |
2721 | + babyQuery.setQueryNo(request.getQueryNo()); | |
2722 | + babyQuery.setHospitalId(hospitalId); | |
2723 | + List buildType = new ArrayList(); | |
2724 | + buildType.add(1);//儿童直接建档 | |
2725 | + buildType.add(2);//产妇分娩建档 | |
2726 | + babyQuery.setBuildTypeList(buildType); | |
2727 | + babyQuery.setDataStatus(true);//排除自动建档数据 | |
2728 | + babyQuery.setYn(YnEnums.YES.getId()); | |
2729 | + babyQuery.setMphone(request.getMphone());//母亲联系方式 | |
2730 | + if (StringUtils.isNotEmpty(request.getBirthStart()) && StringUtils.isNotEmpty(request.getBirthEnd())) {//生日 | |
2731 | + babyQuery.setBirthStart(DateUtil.parseYMD(request.getBirthStart())); | |
2732 | + babyQuery.setBirthEnd(new Date(DateUtil.parseYMD(request.getBirthEnd()).getTime() + 24 * 60 * 60 * 1000 - 1)); | |
2733 | + } | |
2734 | + babyQuery.setParentIds(antExRMPIds); | |
2735 | + babyQuery.setNeed("true"); | |
2736 | + models = babyBookbuildingService.queryBabyBuildByCond(babyQuery, "created", Sort.Direction.DESC); | |
2737 | + } | |
2738 | + | |
2739 | + | |
2740 | + } catch (Exception e) { | |
2741 | + e.printStackTrace(); | |
2742 | + } | |
2743 | + | |
2744 | + if (CollectionUtils.isNotEmpty(models)) { | |
2745 | + int batchSize = 50; | |
2746 | + int end = 0; | |
2747 | + List<Future> futures = new ArrayList<>(); | |
2748 | + for (int i = 0; i < models.size(); i += batchSize) { | |
2749 | + end = (end + batchSize); | |
2750 | + if (end > models.size()) { | |
2751 | + end = models.size(); | |
2752 | + } | |
2753 | + List<BabyModel> ms = models.subList(i, end); | |
2754 | + Callable c = new BabyListQhdTask( | |
2755 | + basicConfigFacade, | |
2756 | + recordService, | |
2757 | + commonService, | |
2758 | + basicConfigService, | |
2759 | + organizationService, | |
2760 | + babyCheckFacade, | |
2761 | + ms, hospitalName); | |
2762 | + Future f = commonThreadPool.submit(c); | |
2763 | + futures.add(f); | |
2764 | + } | |
2765 | + if (CollectionUtils.isNotEmpty(futures)) { | |
2766 | + for (Future f : futures) { | |
2767 | + try { | |
2768 | + list.addAll((List<BabyManageListResult>) f.get()); | |
2769 | + } catch (Exception e) { | |
2770 | + ExceptionUtils.catchException(e, "baby list error."); | |
2771 | + } | |
2772 | + } | |
2773 | + } | |
2774 | + } | |
2775 | + | |
2776 | + BaseListResponse objectResponse = new BaseListResponse(); | |
2777 | + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); | |
2778 | + objectResponse.setData(list); | |
2779 | + objectResponse.setPageInfo(babyQuery.getPageInfo()); | |
2780 | + objectResponse.setErrormsg("成功"); | |
2781 | + return objectResponse; | |
2782 | + } | |
2783 | + | |
2784 | + private void setFactorLists(Query qurey, List<String> factorLists) { | |
2785 | + Criteria criteria1 = Criteria.where("name").is("40岁>年龄≥35岁"); | |
2786 | + Criteria criteria2 = Criteria.where("name").is("年龄≤18岁"); | |
2787 | + Criteria criteria3 = Criteria.where("name").is("RH(-)"); | |
2788 | + Criteria criteria4 = Criteria.where("name").is("Rh血型不合"); | |
2789 | + Criteria criteria5 = Criteria.where("name").is("吸毒史"); | |
2790 | + Criteria criteria6 = Criteria.where("name").is("妊娠期高血压疾病病史"); | |
2791 | + Criteria criteria7 = Criteria.where("name").is("妊娠期高血压"); | |
2792 | + Criteria criteria8 = Criteria.where("name").is("慢性高血压合并妊娠"); | |
2793 | + Criteria criteria9 = Criteria.where("name").is("慢性高血压合并子痫前期"); | |
2794 | + Criteria criteria10 = Criteria.where("name").is("妊娠期高血压性心脏病"); | |
2795 | + Criteria criteria11 = Criteria.where("name").is("急性肾脏疾病伴高血压"); | |
2796 | + Criteria criteria12 = Criteria.where("name").is("慢性肾脏疾病伴高血压"); | |
2797 | + Criteria criteria13 = Criteria.where("name").is("妊娠期糖尿病(无需药物治疗)"); | |
2798 | + Criteria criteria14 = Criteria.where("name").is("妊娠期糖尿病病史"); | |
2799 | + Criteria criteria15 = Criteria.where("name").is("糖尿病合并妊娠(无需药物治疗)"); | |
2800 | + Criteria criteria16 = Criteria.where("name").is("需药物治疗的糖尿病"); | |
2801 | + Criteria criteria17 = Criteria.where("name").is("糖尿病并发肾病V级"); | |
2802 | + Criteria criteria18 = Criteria.where("name").is("糖尿病并发严重心血管病"); | |
2803 | + Criteria criteria19 = Criteria.where("name").is("糖尿病并发增生性视网膜病变"); | |
2804 | + Criteria criteria20 = Criteria.where("name").is("糖尿病并发玻璃体出血"); | |
2805 | + Criteria criteria21 = Criteria.where("name").is("糖尿病并发周围神经病变等"); | |
2806 | + Criteria criteria22 = Criteria.where("name").is("泌尿系统疾病:肾脏疾病(目前病情稳定肾功能正常)"); | |
2807 | + Criteria criteria23 = Criteria.where("name").is("泌尿系统疾病:慢性肾脏疾病伴肾功能不全代偿期(肌酐超过正常值上限)"); | |
2808 | + Criteria criteria24 = Criteria.where("name").is("胎儿肾脏囊性疾病"); | |
2809 | + Criteria criteria25 = Criteria.where("name").is("急性肾脏疾病伴高血压"); | |
2810 | + Criteria criteria26 = Criteria.where("name").is("慢性肾脏疾病伴高血压"); | |
2811 | + Criteria criteria27 = Criteria.where("name").is("先天性心脏病(不伴有肺动脉高压的房缺)"); | |
2812 | + Criteria criteria28 = Criteria.where("name").is("先天性心脏病(不伴有肺动脉高压的室缺)"); | |
2813 | + Criteria criteria29 = Criteria.where("name").is("先天性心脏病(不伴有肺动脉高压的动脉导管未闭)"); | |
2814 | + Criteria criteria30 = Criteria.where("name").is("先天性心脏病(法乐氏四联症修补术后无残余心脏结构异常)"); | |
2815 | + Criteria criteria31 = Criteria.where("name").is("心脏手术史"); | |
2816 | + Criteria criteria32 = Criteria.where("name").is("瓣膜性心脏病 (轻度二尖瓣狭窄瓣口>1.5 cm2,主动脉瓣狭窄跨瓣压差<50mmHg,无合并症的轻度肺动脉狭窄,二尖瓣脱垂,二叶式主动脉瓣疾病,Marfan综合征无主动脉扩张)"); | |
2817 | + Criteria criteria33 = Criteria.where("name").is("未手术的紫绀型心脏病(SpO2<90%)"); | |
2818 | + Criteria criteria34 = Criteria.where("name").is("心脏瓣膜置换术后"); | |
2819 | + Criteria criteria35 = Criteria.where("name").is("妊娠期高血压性心脏病"); | |
2820 | + Criteria criteria36 = Criteria.where("name").is("甲状腺功能亢进并发心脏病"); | |
2821 | + Criteria criteria37 = Criteria.where("name").is("轻度的肺动脉狭窄和二尖瓣脱垂(无合并症)"); | |
2822 | + Criteria criteria38 = Criteria.where("name").is("呼吸系统疾病(经呼吸内科诊治无需药物治疗、肺功能正常)"); | |
2823 | + Criteria criteria39 = Criteria.where("name").is("瓣膜性心脏病 (轻度二尖瓣狭窄瓣口>1.5 cm2,主动脉瓣狭窄跨瓣压差<50mmHg,无合并症的轻度肺动脉狭窄,二尖瓣脱垂,二叶式主动脉瓣疾病,Marfan综合征无主动脉扩张)"); | |
2824 | + Criteria criteria40 = Criteria.where("name").is("各种原因的轻度肺动脉高压(<50mmHg)"); | |
2825 | + Criteria criteria41 = Criteria.where("name").is("胸廓畸形等伴轻度肺功能不全"); | |
2826 | + Criteria criteria42 = Criteria.where("name").is("双胎伴发心肺功能减退"); | |
2827 | + Criteria criteria43 = Criteria.where("name").is("羊水过多伴发心肺功能减退"); | |
2828 | + Criteria criteria44 = Criteria.where("name").is("各种原因引起的肺动脉高压(≥50mmHg),如房缺、室缺、动脉导管未闭等"); | |
2829 | + Criteria criteria45 = Criteria.where("name").is("哮喘反复发作(影响肺功能者),肺纤维化(影响肺功能者)"); | |
2830 | + Criteria criteria46 = Criteria.where("name").is("胸廓严重畸形(影响肺功能者)"); | |
2831 | + Criteria criteria47 = Criteria.where("name").is("脊柱严重畸形(影响肺功能者)"); | |
2832 | + Criteria criteria48 = Criteria.where("name").is("三胎及以上妊娠伴发心肺功能减退"); | |
2833 | + Criteria criteria49 = Criteria.where("name").is("重症感染性肺炎"); | |
2834 | + Criteria criteria50 = Criteria.where("name").is("轻度缺铁性贫血(100-109g/L)"); | |
2835 | + Criteria criteria51 = Criteria.where("name").is("中度缺铁性贫血(70-99g/L)"); | |
2836 | + Criteria criteria52 = Criteria.where("name").is("轻度妊娠期贫血(100-109g/l)(缺铁性)"); | |
2837 | + Criteria criteria53 = Criteria.where("name").is("轻度妊娠期贫血(100-109g/l)(巨幼细胞性)"); | |
2838 | + Criteria criteria54 = Criteria.where("name").is("轻度妊娠期贫血(100-109g/l)(再生障碍性)"); | |
2839 | + Criteria criteria55 = Criteria.where("name").is("中度妊娠期贫血(70-99g/l)(缺铁性)"); | |
2840 | + Criteria criteria56 = Criteria.where("name").is("中度妊娠期贫血(70-99g/l)(巨幼细胞性)"); | |
2841 | + Criteria criteria57 = Criteria.where("name").is("中度妊娠期贫血(70-99g/l)(再生障碍性)"); | |
2842 | + Criteria criteria58 = Criteria.where("name").is("中度妊娠期贫血(70-99g/l)(未分类)"); | |
2843 | + Criteria criteria59 = Criteria.where("name").is("轻度妊娠期贫血(100-109g/l)(未分类)"); | |
2844 | + Criteria criteria60 = Criteria.where("name").is("重度妊娠期贫血(40-69g/L)(缺铁性)"); | |
2845 | + Criteria criteria61 = Criteria.where("name").is("重度妊娠期贫血(40-69g/L)(巨幼细胞性)"); | |
2846 | + Criteria criteria62 = Criteria.where("name").is("重度妊娠期贫血(40-69g/l)(再生障碍性)"); | |
2847 | + Criteria criteria63 = Criteria.where("name").is("重度妊娠期贫血(40-69g/l)(未分类)"); | |
2848 | + Criteria criteria64 = Criteria.where("name").is("重度贫血(Hb40-60g/L)"); | |
2849 | + Criteria criteria65 = Criteria.where("name").is("再生障碍性贫血"); | |
2850 | + Criteria criteria66 = Criteria.where("name").is("极重度贫血(<40 g/L)(缺铁性)"); | |
2851 | + Criteria criteria67 = Criteria.where("name").is("极重度贫血(<40 g/L)(巨幼细胞)"); | |
2852 | + Criteria criteria68 = Criteria.where("name").is("极重度贫血(<40 g/L)(再生障碍性)"); | |
2853 | + Criteria criteria69 = Criteria.where("name").is("极重度贫血(<40 g/L)(未分类)"); | |
2854 | + Criteria criteria70 = Criteria.where("name").is("重度贫血(Hb≤40g/L)"); | |
2855 | + Criteria criteria71 = Criteria.where("name").is("妊娠合并血小板减少(PLT 50-100×109/L)但无出血倾向"); | |
2856 | + Criteria criteria72 = Criteria.where("name").is("血小板减少(PLT30-50×109/L)"); | |
2857 | + Criteria criteria73 = Criteria.where("name").is("血小板减少(<30×109/L)或进行性下降或伴有出血倾向"); | |
2858 | + Criteria criteria74 = Criteria.where("name").is("羊水过多"); | |
2859 | + Criteria criteria75 = Criteria.where("name").is("羊水过少"); | |
2860 | + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1,criteria2,criteria3,criteria4,criteria5,criteria6, | |
2861 | + criteria7,criteria8,criteria9,criteria10,criteria11,criteria12,criteria13,criteria14,criteria15,criteria16,criteria17 | |
2862 | + ,criteria18,criteria19,criteria20,criteria21,criteria22,criteria23,criteria24,criteria25,criteria26,criteria27,criteria28 | |
2863 | + ,criteria29,criteria30,criteria31,criteria32,criteria33,criteria34,criteria35,criteria36,criteria37,criteria38,criteria39 | |
2864 | + ,criteria40,criteria41,criteria42,criteria43,criteria44,criteria45,criteria46,criteria47,criteria48,criteria49,criteria50 | |
2865 | + ,criteria51,criteria52,criteria53,criteria54,criteria55,criteria56,criteria57,criteria58,criteria59,criteria60,criteria61 | |
2866 | + ,criteria62,criteria63,criteria64,criteria65,criteria66,criteria67,criteria68,criteria69,criteria70,criteria71,criteria72,criteria73,criteria74,criteria75)); | |
2867 | + setfatorListUtil(factorLists, qurey); | |
2868 | + } | |
2869 | + | |
2870 | + private void setfatorListUtil(List<String> factorLists, Query yn) { | |
2871 | + List<BasicConfig> basicConfigs = mongoTemplate.find(yn, BasicConfig.class); | |
2872 | + if (CollectionUtils.isNotEmpty(basicConfigs)) { | |
2873 | + for (int j = 0; j < basicConfigs.size(); j++) { | |
2874 | + BasicConfig basicConfig = basicConfigs.get(j); | |
2875 | + if (basicConfig != null) { | |
2876 | + factorLists.add(basicConfig.getId()); | |
2877 | + } | |
2878 | + | |
2879 | + } | |
2880 | + } | |
2555 | 2881 | } |
2556 | 2882 | |
2557 | 2883 |