Commit cba64489e23e627a09f9f839d6d2f3e7a53d61a0

Authored by wtt
1 parent aa1660e070

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