diff --git a/platform-common/src/main/java/com/lyms/platform/common/enums/ChildrenTypeEnums.java b/platform-common/src/main/java/com/lyms/platform/common/enums/ChildrenTypeEnums.java new file mode 100644 index 0000000..a45d424 --- /dev/null +++ b/platform-common/src/main/java/com/lyms/platform/common/enums/ChildrenTypeEnums.java @@ -0,0 +1,69 @@ +package com.lyms.platform.common.enums; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @Author: 武涛涛 + * @Date: 2020/7/24 10:00 + */ +public enum ChildrenTypeEnums { + nldy40s("nldy40s","年龄>40岁"), + nlx16s("nlx16s","年龄<16岁"), + rh("rh","特殊血型"), + /* xd("xd","吸毒史"), + xj("xj","酗酒"),*/ + yys("yys","用药史"), + gxy("gxy","高血压"), + tnb("tnb","糖尿病"), + szjb("szjb","肾脏疾病"), + xzjb("xzjb","心脏疾病"), + fbjb("fbjb","肺部疾病"), + px("px","贫血"), + xxbjs("xxbjs","血小板减少"), + ysgd("ysgd","羊水过多"), + ysgs("ysgs","羊水过少"); + /* rszqcx("rszqcx","妊娠早期出血"), + rswqcx("rswqcx","妊娠晚期出血"), + ymzp("ymzp","羊膜早破"), + ymgr("ymgr","羊膜感染");*/ + + + private ChildrenTypeEnums(String id, String name){ + this.name=name; + this.id =id; + + } + private String name; + private String id; + + public String getId() { + return id; + } + + public String getName() { + return name; + } + public static String getTitleById(String id){ + for(ChildrenTypeEnums enums:values()){ + if(id != null && id==enums.getId()){ + return enums.getName(); + } + } + return null; + } + + public static List> getDiseaseTypeList() + { + List> list = new ArrayList<>(); + for(ChildrenTypeEnums s : ChildrenTypeEnums.values()) { + Map map = new HashMap<>(); + map.put("id", String.valueOf(s.getId())); + map.put("name", s.getName()); + list.add(map); + } + return list; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java index 8a6c3de..a7f0532 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java @@ -7,6 +7,7 @@ import com.lyms.platform.common.annotation.TokenRequired; import com.lyms.platform.common.base.BaseController; import com.lyms.platform.common.base.LoginContext; import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.enums.ChildrenTypeEnums; import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; @@ -31,6 +32,7 @@ import javax.validation.Valid; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -594,7 +596,6 @@ public class BabyBuildController extends BaseController { /** * 秦皇岛 产科门诊诊断 list * - * @Author: 武涛涛 * @Date: 2020/7/15 9:31 */ @@ -609,6 +610,29 @@ public class BabyBuildController extends BaseController { /** + * 秦皇岛 儿童诊断管理 下拉框列表 + * + * @Author: 武涛涛 + * @Date: 2020/7/15 9:31 + */ + @RequestMapping(value = "/getChildrenEnums", method = RequestMethod.GET) + @ResponseBody + public BaseResponse getChildrenEnums() { + Map map = new HashMap<>(); + + /* //服务类型 + List serviceType = ServiceTypeEnums.getServiceTypeList(); + map.put("serviceType", serviceType);*/ + + //疾病类型 + List childrenTypeEnumsList = ChildrenTypeEnums.getDiseaseTypeList(); + map.put("childrenTypeEnumsList", childrenTypeEnumsList); + + return new BaseObjectResponse().setData(map).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + + /** * 处理历史数据 按照时间返回获取保存,格式:lrrqStart=2019062414:41:00&lrrqEnd=2019062418:41:00 * * @param lrrqStart diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java index 812eb05..a641999 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java @@ -1142,7 +1142,7 @@ public class BabyBookbuildingFacade { bm.setEncoded(b.getEncoded()); } //预建档的要加上编码 - if(b.getYn()!=null && b.getYn()==0 && StringUtils.isEmpty(b.getEncoded())){ + if (b.getYn() != null && b.getYn() == 0 && StringUtils.isEmpty(b.getEncoded())) { String encodedUtil = getEncodedUtil(); bm.setEncoded(encodedUtil); } @@ -1364,7 +1364,7 @@ public class BabyBookbuildingFacade { String encodedBaby = null; BabyModel babyModel = null; - try { + try { BabyModelQuery babyQuery = new BabyModelQuery(); babyQuery.setYn(YnEnums.YES.getId()); babyQuery.setCreatedTimeStart(DateUtil.getDayFirstSecond(new Date())); @@ -1373,21 +1373,21 @@ public class BabyBookbuildingFacade { MongoQuery query = babyQuery.convertToQuery(); List list = babyBookBuildingDao.queryBabyWithQuery(query.addOrder(Sort.Direction.DESC, "created")); if (CollectionUtils.isNotEmpty(list)) { - babyModel = list.get(0); + babyModel = list.get(0); if (StringUtils.isNotEmpty(babyModel.getEncoded()) && babyModel.getEncoded().length() > 8) { String encoded = babyModel.getEncoded().substring(8, babyModel.getEncoded().length());//20200721003 - encodedBaby= DateUtil.getDateNumber(encoded); + encodedBaby = DateUtil.getDateNumber(encoded); } } } catch (Exception e) { e.printStackTrace(); } - if(StringUtils.isNotEmpty(encodedBaby)){ - return encodedBaby; + if (StringUtils.isNotEmpty(encodedBaby)) { + return encodedBaby; } - if(babyModel==null) { - return DateUtil.getDateNumber("0"); + if (babyModel == null) { + return DateUtil.getDateNumber("0"); } return null; @@ -2096,7 +2096,7 @@ public class BabyBookbuildingFacade { */ private void setEncodedCardNo(BookbuildingQueryRequest param, Integer userId) { - if(StringUtils.isNotEmpty(param.getEncoded())){ + if (StringUtils.isNotEmpty(param.getEncoded())) { BabyModelQuery babyQuery1 = new BabyModelQuery(); babyQuery1.setEncoded(param.getEncoded()); babyQuery1.setYn(YnEnums.YES.getId()); @@ -2107,7 +2107,7 @@ public class BabyBookbuildingFacade { babyQuery1.setEnableListNot(list); } List build1 = babyBookbuildingService.queryBabyBuildByCond(babyQuery1, "created", Sort.Direction.DESC); - if(CollectionUtils.isNotEmpty(build1)){ + if (CollectionUtils.isNotEmpty(build1)) { BabyModel babyModel = build1.get(0); param.setCardNo(babyModel.getMphone()); } @@ -2442,7 +2442,7 @@ public class BabyBookbuildingFacade { return objectResponse; } - public BaseListResponse queryObstetricDiagnosisQhdList(BabyManageRequest request, Integer userId) { + public BaseListResponse queryObstetricDiagnosisQhdList1(BabyManageRequest request, Integer userId) { String hospitalName = ""; String hospitalId = ""; @@ -2554,6 +2554,332 @@ public class BabyBookbuildingFacade { return objectResponse; } + public BaseListResponse queryObstetricDiagnosisQhdList(BabyManageRequest request, Integer userId) { + + String hospitalName = ""; + List list = null; + BabyModelQuery babyQuery = null; + List models = null; + try { + String hospitalId = autoMatchFacade.getHospitalId(userId); + hospitalName = organizationService.getOrganization(Integer.valueOf(hospitalId)).getName(); + + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setYn(YnEnums.YES.getId()); + patientsQuery.setHospitalId(hospitalId); + patientsQuery.setType(3);//3产妇 + Query qurey = null; + //加入选择的高危选项 + if (StringUtils.isNotEmpty(request.getHighRiskInfo())) { + List factorLists = new ArrayList<>(); + String highRiskInfosStr = request.getHighRiskInfo(); + if ("nldy40s".equals(highRiskInfosStr)) { + Criteria criteria1 = Criteria.where("name").is("40岁>年龄≥35岁"); + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1)); + setfatorListUtil(factorLists, qurey); + }else if ("nlx16s".equals(highRiskInfosStr)) { + Criteria criteria1 = Criteria.where("name").is("年龄≤18岁"); + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1)); + setfatorListUtil(factorLists, qurey); + }else if ("rh".equals(highRiskInfosStr)) { + Criteria criteria1 = Criteria.where("name").is("RH(-)"); + Criteria criteria2 = Criteria.where("name").is("Rh血型不合"); + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1,criteria2)); + setfatorListUtil(factorLists, qurey); + }else if ("xd".equals(highRiskInfosStr)) { + Criteria criteria1 = Criteria.where("name").is("吸毒史"); + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1)); + setfatorListUtil(factorLists, qurey); + }else if ("gxy".equals(highRiskInfosStr)) { + Criteria criteria1 = Criteria.where("name").is("妊娠期高血压疾病病史"); + Criteria criteria2 = Criteria.where("name").is("妊娠期高血压"); + Criteria criteria3 = Criteria.where("name").is("慢性高血压合并妊娠"); + Criteria criteria4 = Criteria.where("name").is("慢性高血压合并子痫前期"); + Criteria criteria5 = Criteria.where("name").is("妊娠期高血压性心脏病"); + Criteria criteria6 = Criteria.where("name").is("急性肾脏疾病伴高血压"); + Criteria criteria7 = Criteria.where("name").is("慢性肾脏疾病伴高血压"); + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1,criteria2,criteria3,criteria4,criteria5,criteria6,criteria7)); + setfatorListUtil(factorLists, qurey); + }else if ("tnb".equals(highRiskInfosStr)) { + Criteria criteria1 = Criteria.where("name").is("妊娠期糖尿病(无需药物治疗)"); + Criteria criteria2 = Criteria.where("name").is("妊娠期糖尿病病史"); + Criteria criteria3 = Criteria.where("name").is("糖尿病合并妊娠(无需药物治疗)"); + Criteria criteria4 = Criteria.where("name").is("需药物治疗的糖尿病"); + Criteria criteria5 = Criteria.where("name").is("糖尿病并发肾病V级"); + Criteria criteria6 = Criteria.where("name").is("糖尿病并发严重心血管病"); + Criteria criteria7 = Criteria.where("name").is("糖尿病并发增生性视网膜病变"); + Criteria criteria8 = Criteria.where("name").is("糖尿病并发玻璃体出血"); + Criteria criteria9 = Criteria.where("name").is("糖尿病并发周围神经病变等"); + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1,criteria2,criteria3,criteria4,criteria5,criteria6,criteria7,criteria8,criteria9)); + setfatorListUtil(factorLists, qurey); + }else if ("szjb".equals(highRiskInfosStr)) { + //,胎儿肾脏囊性疾病,急性肾脏疾病伴高血压,慢性肾脏疾病伴高血压 + Criteria criteria1 = Criteria.where("name").is("泌尿系统疾病:肾脏疾病(目前病情稳定肾功能正常)"); + Criteria criteria2 = Criteria.where("name").is("泌尿系统疾病:慢性肾脏疾病伴肾功能不全代偿期(肌酐超过正常值上限)"); + Criteria criteria3 = Criteria.where("name").is("胎儿肾脏囊性疾病"); + Criteria criteria4 = Criteria.where("name").is("急性肾脏疾病伴高血压"); + Criteria criteria5 = Criteria.where("name").is("慢性肾脏疾病伴高血压"); + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1,criteria2,criteria3,criteria4,criteria5)); + setfatorListUtil(factorLists, qurey); + }else if ("xzjb".equals(highRiskInfosStr)) { + //Marfan综合征无主动脉扩张),未手术的紫绀型心脏病(SpO2<90%),心脏瓣膜置换术后,妊娠期高血压性心脏病,甲状腺功能亢进并发心脏病 + Criteria criteria1 = Criteria.where("name").is("先天性心脏病(不伴有肺动脉高压的房缺)"); + Criteria criteria2 = Criteria.where("name").is("先天性心脏病(不伴有肺动脉高压的室缺)"); + Criteria criteria3 = Criteria.where("name").is("先天性心脏病(不伴有肺动脉高压的动脉导管未闭)"); + Criteria criteria4 = Criteria.where("name").is("先天性心脏病(法乐氏四联症修补术后无残余心脏结构异常)"); + Criteria criteria5 = Criteria.where("name").is("心脏手术史"); + Criteria criteria6 = Criteria.where("name").is("瓣膜性心脏病 (轻度二尖瓣狭窄瓣口>1.5 cm2,主动脉瓣狭窄跨瓣压差<50mmHg,无合并症的轻度肺动脉狭窄,二尖瓣脱垂,二叶式主动脉瓣疾病,Marfan综合征无主动脉扩张)"); + Criteria criteria7 = Criteria.where("name").is("未手术的紫绀型心脏病(SpO2<90%)"); + Criteria criteria8 = Criteria.where("name").is("心脏瓣膜置换术后"); + Criteria criteria9 = Criteria.where("name").is("妊娠期高血压性心脏病"); + Criteria criteria10 = Criteria.where("name").is("甲状腺功能亢进并发心脏病"); + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1,criteria2,criteria3,criteria4,criteria5,criteria6,criteria7,criteria8,criteria9,criteria10)); + setfatorListUtil(factorLists, qurey); + }else if ("fbjb".equals(highRiskInfosStr)) { + Criteria criteria1 = Criteria.where("name").is("轻度的肺动脉狭窄和二尖瓣脱垂(无合并症)"); + Criteria criteria2 = Criteria.where("name").is("呼吸系统疾病(经呼吸内科诊治无需药物治疗、肺功能正常)"); + Criteria criteria3 = Criteria.where("name").is("瓣膜性心脏病 (轻度二尖瓣狭窄瓣口>1.5 cm2,主动脉瓣狭窄跨瓣压差<50mmHg,无合并症的轻度肺动脉狭窄,二尖瓣脱垂,二叶式主动脉瓣疾病,Marfan综合征无主动脉扩张)"); + Criteria criteria4 = Criteria.where("name").is("各种原因的轻度肺动脉高压(<50mmHg)"); + Criteria criteria5 = Criteria.where("name").is("胸廓畸形等伴轻度肺功能不全"); + Criteria criteria6 = Criteria.where("name").is("双胎伴发心肺功能减退"); + Criteria criteria7 = Criteria.where("name").is("羊水过多伴发心肺功能减退"); + Criteria criteria8 = Criteria.where("name").is("各种原因引起的肺动脉高压(≥50mmHg),如房缺、室缺、动脉导管未闭等"); + Criteria criteria9 = Criteria.where("name").is("哮喘反复发作(影响肺功能者),肺纤维化(影响肺功能者)"); + Criteria criteria10 = Criteria.where("name").is("胸廓严重畸形(影响肺功能者)"); + Criteria criteria11 = Criteria.where("name").is("脊柱严重畸形(影响肺功能者)"); + Criteria criteria12 = Criteria.where("name").is("三胎及以上妊娠伴发心肺功能减退"); + Criteria criteria13 = Criteria.where("name").is("重症感染性肺炎"); + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1,criteria2,criteria3,criteria4,criteria5,criteria6, + criteria7,criteria8,criteria9,criteria10,criteria11,criteria12,criteria13)); + setfatorListUtil(factorLists, qurey); + }else if ("px".equals(highRiskInfosStr)) { + Criteria criteria1 = Criteria.where("name").is("轻度缺铁性贫血(100-109g/L)"); + Criteria criteria2 = Criteria.where("name").is("中度缺铁性贫血(70-99g/L)"); + Criteria criteria3 = Criteria.where("name").is("轻度妊娠期贫血(100-109g/l)(缺铁性)"); + Criteria criteria4 = Criteria.where("name").is("轻度妊娠期贫血(100-109g/l)(巨幼细胞性)"); + Criteria criteria5 = Criteria.where("name").is("轻度妊娠期贫血(100-109g/l)(再生障碍性)"); + Criteria criteria6 = Criteria.where("name").is("中度妊娠期贫血(70-99g/l)(缺铁性)"); + Criteria criteria7 = Criteria.where("name").is("中度妊娠期贫血(70-99g/l)(巨幼细胞性)"); + Criteria criteria8 = Criteria.where("name").is("中度妊娠期贫血(70-99g/l)(再生障碍性)"); + Criteria criteria9 = Criteria.where("name").is("中度妊娠期贫血(70-99g/l)(未分类)"); + Criteria criteria10 = Criteria.where("name").is("轻度妊娠期贫血(100-109g/l)(未分类)"); + Criteria criteria11 = Criteria.where("name").is("重度妊娠期贫血(40-69g/L)(缺铁性)"); + Criteria criteria12 = Criteria.where("name").is("重度妊娠期贫血(40-69g/L)(巨幼细胞性)"); + Criteria criteria13 = Criteria.where("name").is("重度妊娠期贫血(40-69g/l)(再生障碍性)"); + Criteria criteria14 = Criteria.where("name").is("重度妊娠期贫血(40-69g/l)(未分类)"); + Criteria criteria15 = Criteria.where("name").is("重度贫血(Hb40-60g/L)"); + Criteria criteria16 = Criteria.where("name").is("再生障碍性贫血"); + Criteria criteria17 = Criteria.where("name").is("极重度贫血(<40 g/L)(缺铁性)"); + Criteria criteria18 = Criteria.where("name").is("极重度贫血(<40 g/L)(巨幼细胞)"); + Criteria criteria19 = Criteria.where("name").is("极重度贫血(<40 g/L)(再生障碍性)"); + Criteria criteria20 = Criteria.where("name").is("极重度贫血(<40 g/L)(未分类)"); + Criteria criteria21 = Criteria.where("name").is("重度贫血(Hb≤40g/L)"); + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1,criteria2,criteria3,criteria4,criteria5,criteria6, + criteria7,criteria8,criteria9,criteria10,criteria11,criteria12,criteria13,criteria14,criteria15,criteria16,criteria17 + ,criteria18,criteria19,criteria20,criteria21)); + setfatorListUtil(factorLists, qurey); + }else if ("xxbjs".equals(highRiskInfosStr)) { + Criteria criteria1 = Criteria.where("name").is("妊娠合并血小板减少(PLT 50-100×109/L)但无出血倾向"); + Criteria criteria2 = Criteria.where("name").is("血小板减少(PLT30-50×109/L)"); + Criteria criteria3 = Criteria.where("name").is("血小板减少(<30×109/L)或进行性下降或伴有出血倾向"); + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1,criteria2,criteria3)); + setfatorListUtil(factorLists, qurey); + }else if ("ysgd".equals(highRiskInfosStr)) { + Criteria criteria1 = Criteria.where("name").is("羊水过多"); + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1)); + setfatorListUtil(factorLists, qurey); + }else if ("ysgs".equals(highRiskInfosStr)) { + Criteria criteria1 = Criteria.where("name").is("羊水过少"); + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1)); + setfatorListUtil(factorLists, qurey); + } + + patientsQuery.setrFactorList(factorLists); + } else { + //加上默认指定全部高危 + List factorLists = new ArrayList<>(); + setFactorLists(qurey, factorLists); + patientsQuery.setrFactorList(factorLists); + } + List patients = patientsService.queryPatientBySort(patientsQuery, "modified", "desc"); + List antExRMPIds = new ArrayList<>(); + for (Patients patient : patients) { + if (StringUtils.isNotEmpty(patient.getId())) { + antExRMPIds.add(patient.getId()); + } + } + + + //查询关联获取儿童信息 + if(CollectionUtils.isNotEmpty(antExRMPIds)){ + //获取儿童信息 + list = new ArrayList<>(); + babyQuery = new BabyModelQuery(); + babyQuery.setNeed("true"); + babyQuery.setPage(request.getPage()); + babyQuery.setLimit(request.getLimit()); + babyQuery.setQueryNo(request.getQueryNo()); + babyQuery.setHospitalId(hospitalId); + List buildType = new ArrayList(); + buildType.add(1);//儿童直接建档 + buildType.add(2);//产妇分娩建档 + babyQuery.setBuildTypeList(buildType); + babyQuery.setDataStatus(true);//排除自动建档数据 + babyQuery.setYn(YnEnums.YES.getId()); + babyQuery.setMphone(request.getMphone());//母亲联系方式 + if (StringUtils.isNotEmpty(request.getBirthStart()) && StringUtils.isNotEmpty(request.getBirthEnd())) {//生日 + babyQuery.setBirthStart(DateUtil.parseYMD(request.getBirthStart())); + babyQuery.setBirthEnd(new Date(DateUtil.parseYMD(request.getBirthEnd()).getTime() + 24 * 60 * 60 * 1000 - 1)); + } + babyQuery.setParentIds(antExRMPIds); + babyQuery.setNeed("true"); + models = babyBookbuildingService.queryBabyBuildByCond(babyQuery, "created", Sort.Direction.DESC); + } + + + } catch (Exception e) { + e.printStackTrace(); + } + + if (CollectionUtils.isNotEmpty(models)) { + int batchSize = 50; + int end = 0; + List futures = new ArrayList<>(); + for (int i = 0; i < models.size(); i += batchSize) { + end = (end + batchSize); + if (end > models.size()) { + end = models.size(); + } + List ms = models.subList(i, end); + Callable c = new BabyListQhdTask( + basicConfigFacade, + recordService, + commonService, + basicConfigService, + organizationService, + babyCheckFacade, + ms, hospitalName); + Future f = commonThreadPool.submit(c); + futures.add(f); + } + if (CollectionUtils.isNotEmpty(futures)) { + for (Future f : futures) { + try { + list.addAll((List) f.get()); + } catch (Exception e) { + ExceptionUtils.catchException(e, "baby list error."); + } + } + } + } + + BaseListResponse objectResponse = new BaseListResponse(); + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + objectResponse.setData(list); + objectResponse.setPageInfo(babyQuery.getPageInfo()); + objectResponse.setErrormsg("成功"); + return objectResponse; + } + + private void setFactorLists(Query qurey, List factorLists) { + Criteria criteria1 = Criteria.where("name").is("40岁>年龄≥35岁"); + Criteria criteria2 = Criteria.where("name").is("年龄≤18岁"); + Criteria criteria3 = Criteria.where("name").is("RH(-)"); + Criteria criteria4 = Criteria.where("name").is("Rh血型不合"); + Criteria criteria5 = Criteria.where("name").is("吸毒史"); + Criteria criteria6 = Criteria.where("name").is("妊娠期高血压疾病病史"); + Criteria criteria7 = Criteria.where("name").is("妊娠期高血压"); + Criteria criteria8 = Criteria.where("name").is("慢性高血压合并妊娠"); + Criteria criteria9 = Criteria.where("name").is("慢性高血压合并子痫前期"); + Criteria criteria10 = Criteria.where("name").is("妊娠期高血压性心脏病"); + Criteria criteria11 = Criteria.where("name").is("急性肾脏疾病伴高血压"); + Criteria criteria12 = Criteria.where("name").is("慢性肾脏疾病伴高血压"); + Criteria criteria13 = Criteria.where("name").is("妊娠期糖尿病(无需药物治疗)"); + Criteria criteria14 = Criteria.where("name").is("妊娠期糖尿病病史"); + Criteria criteria15 = Criteria.where("name").is("糖尿病合并妊娠(无需药物治疗)"); + Criteria criteria16 = Criteria.where("name").is("需药物治疗的糖尿病"); + Criteria criteria17 = Criteria.where("name").is("糖尿病并发肾病V级"); + Criteria criteria18 = Criteria.where("name").is("糖尿病并发严重心血管病"); + Criteria criteria19 = Criteria.where("name").is("糖尿病并发增生性视网膜病变"); + Criteria criteria20 = Criteria.where("name").is("糖尿病并发玻璃体出血"); + Criteria criteria21 = Criteria.where("name").is("糖尿病并发周围神经病变等"); + Criteria criteria22 = Criteria.where("name").is("泌尿系统疾病:肾脏疾病(目前病情稳定肾功能正常)"); + Criteria criteria23 = Criteria.where("name").is("泌尿系统疾病:慢性肾脏疾病伴肾功能不全代偿期(肌酐超过正常值上限)"); + Criteria criteria24 = Criteria.where("name").is("胎儿肾脏囊性疾病"); + Criteria criteria25 = Criteria.where("name").is("急性肾脏疾病伴高血压"); + Criteria criteria26 = Criteria.where("name").is("慢性肾脏疾病伴高血压"); + Criteria criteria27 = Criteria.where("name").is("先天性心脏病(不伴有肺动脉高压的房缺)"); + Criteria criteria28 = Criteria.where("name").is("先天性心脏病(不伴有肺动脉高压的室缺)"); + Criteria criteria29 = Criteria.where("name").is("先天性心脏病(不伴有肺动脉高压的动脉导管未闭)"); + Criteria criteria30 = Criteria.where("name").is("先天性心脏病(法乐氏四联症修补术后无残余心脏结构异常)"); + Criteria criteria31 = Criteria.where("name").is("心脏手术史"); + Criteria criteria32 = Criteria.where("name").is("瓣膜性心脏病 (轻度二尖瓣狭窄瓣口>1.5 cm2,主动脉瓣狭窄跨瓣压差<50mmHg,无合并症的轻度肺动脉狭窄,二尖瓣脱垂,二叶式主动脉瓣疾病,Marfan综合征无主动脉扩张)"); + Criteria criteria33 = Criteria.where("name").is("未手术的紫绀型心脏病(SpO2<90%)"); + Criteria criteria34 = Criteria.where("name").is("心脏瓣膜置换术后"); + Criteria criteria35 = Criteria.where("name").is("妊娠期高血压性心脏病"); + Criteria criteria36 = Criteria.where("name").is("甲状腺功能亢进并发心脏病"); + Criteria criteria37 = Criteria.where("name").is("轻度的肺动脉狭窄和二尖瓣脱垂(无合并症)"); + Criteria criteria38 = Criteria.where("name").is("呼吸系统疾病(经呼吸内科诊治无需药物治疗、肺功能正常)"); + Criteria criteria39 = Criteria.where("name").is("瓣膜性心脏病 (轻度二尖瓣狭窄瓣口>1.5 cm2,主动脉瓣狭窄跨瓣压差<50mmHg,无合并症的轻度肺动脉狭窄,二尖瓣脱垂,二叶式主动脉瓣疾病,Marfan综合征无主动脉扩张)"); + Criteria criteria40 = Criteria.where("name").is("各种原因的轻度肺动脉高压(<50mmHg)"); + Criteria criteria41 = Criteria.where("name").is("胸廓畸形等伴轻度肺功能不全"); + Criteria criteria42 = Criteria.where("name").is("双胎伴发心肺功能减退"); + Criteria criteria43 = Criteria.where("name").is("羊水过多伴发心肺功能减退"); + Criteria criteria44 = Criteria.where("name").is("各种原因引起的肺动脉高压(≥50mmHg),如房缺、室缺、动脉导管未闭等"); + Criteria criteria45 = Criteria.where("name").is("哮喘反复发作(影响肺功能者),肺纤维化(影响肺功能者)"); + Criteria criteria46 = Criteria.where("name").is("胸廓严重畸形(影响肺功能者)"); + Criteria criteria47 = Criteria.where("name").is("脊柱严重畸形(影响肺功能者)"); + Criteria criteria48 = Criteria.where("name").is("三胎及以上妊娠伴发心肺功能减退"); + Criteria criteria49 = Criteria.where("name").is("重症感染性肺炎"); + Criteria criteria50 = Criteria.where("name").is("轻度缺铁性贫血(100-109g/L)"); + Criteria criteria51 = Criteria.where("name").is("中度缺铁性贫血(70-99g/L)"); + Criteria criteria52 = Criteria.where("name").is("轻度妊娠期贫血(100-109g/l)(缺铁性)"); + Criteria criteria53 = Criteria.where("name").is("轻度妊娠期贫血(100-109g/l)(巨幼细胞性)"); + Criteria criteria54 = Criteria.where("name").is("轻度妊娠期贫血(100-109g/l)(再生障碍性)"); + Criteria criteria55 = Criteria.where("name").is("中度妊娠期贫血(70-99g/l)(缺铁性)"); + Criteria criteria56 = Criteria.where("name").is("中度妊娠期贫血(70-99g/l)(巨幼细胞性)"); + Criteria criteria57 = Criteria.where("name").is("中度妊娠期贫血(70-99g/l)(再生障碍性)"); + Criteria criteria58 = Criteria.where("name").is("中度妊娠期贫血(70-99g/l)(未分类)"); + Criteria criteria59 = Criteria.where("name").is("轻度妊娠期贫血(100-109g/l)(未分类)"); + Criteria criteria60 = Criteria.where("name").is("重度妊娠期贫血(40-69g/L)(缺铁性)"); + Criteria criteria61 = Criteria.where("name").is("重度妊娠期贫血(40-69g/L)(巨幼细胞性)"); + Criteria criteria62 = Criteria.where("name").is("重度妊娠期贫血(40-69g/l)(再生障碍性)"); + Criteria criteria63 = Criteria.where("name").is("重度妊娠期贫血(40-69g/l)(未分类)"); + Criteria criteria64 = Criteria.where("name").is("重度贫血(Hb40-60g/L)"); + Criteria criteria65 = Criteria.where("name").is("再生障碍性贫血"); + Criteria criteria66 = Criteria.where("name").is("极重度贫血(<40 g/L)(缺铁性)"); + Criteria criteria67 = Criteria.where("name").is("极重度贫血(<40 g/L)(巨幼细胞)"); + Criteria criteria68 = Criteria.where("name").is("极重度贫血(<40 g/L)(再生障碍性)"); + Criteria criteria69 = Criteria.where("name").is("极重度贫血(<40 g/L)(未分类)"); + Criteria criteria70 = Criteria.where("name").is("重度贫血(Hb≤40g/L)"); + Criteria criteria71 = Criteria.where("name").is("妊娠合并血小板减少(PLT 50-100×109/L)但无出血倾向"); + Criteria criteria72 = Criteria.where("name").is("血小板减少(PLT30-50×109/L)"); + Criteria criteria73 = Criteria.where("name").is("血小板减少(<30×109/L)或进行性下降或伴有出血倾向"); + Criteria criteria74 = Criteria.where("name").is("羊水过多"); + Criteria criteria75 = Criteria.where("name").is("羊水过少"); + qurey = Query.query(Criteria.where("yn").is(1).orOperator(criteria1,criteria2,criteria3,criteria4,criteria5,criteria6, + criteria7,criteria8,criteria9,criteria10,criteria11,criteria12,criteria13,criteria14,criteria15,criteria16,criteria17 + ,criteria18,criteria19,criteria20,criteria21,criteria22,criteria23,criteria24,criteria25,criteria26,criteria27,criteria28 + ,criteria29,criteria30,criteria31,criteria32,criteria33,criteria34,criteria35,criteria36,criteria37,criteria38,criteria39 + ,criteria40,criteria41,criteria42,criteria43,criteria44,criteria45,criteria46,criteria47,criteria48,criteria49,criteria50 + ,criteria51,criteria52,criteria53,criteria54,criteria55,criteria56,criteria57,criteria58,criteria59,criteria60,criteria61 + ,criteria62,criteria63,criteria64,criteria65,criteria66,criteria67,criteria68,criteria69,criteria70,criteria71,criteria72,criteria73,criteria74,criteria75)); + setfatorListUtil(factorLists, qurey); + } + + private void setfatorListUtil(List factorLists, Query yn) { + List basicConfigs = mongoTemplate.find(yn, BasicConfig.class); + if (CollectionUtils.isNotEmpty(basicConfigs)) { + for (int j = 0; j < basicConfigs.size(); j++) { + BasicConfig basicConfig = basicConfigs.get(j); + if (basicConfig != null) { + factorLists.add(basicConfig.getId()); + } + + } + } + } + public BaseResponse updateEndCase(BabyCheckRequest request, Integer userId) { BaseObjectResponse br = new BaseObjectResponse();