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 |