diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyAutoDiagnoseRiskFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyAutoDiagnoseRiskFacade.java index d602090..b8e77cb 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyAutoDiagnoseRiskFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyAutoDiagnoseRiskFacade.java @@ -128,35 +128,35 @@ public class BabyAutoDiagnoseRiskFacade { * @Author: 武涛涛 * @Date: 2020/8/31 14:56 */ - private List > autoRisk(BabyAutoRiskRequest babyAutoRiskRequest, String hospitalId, Integer type, Integer ii) throws NoSuchFieldException, IllegalAccessException { - Set list = new HashSet <>(); - List > riskList = new ArrayList <>(); + private List> autoRisk(BabyAutoRiskRequest babyAutoRiskRequest, String hospitalId, Integer type, Integer ii) throws NoSuchFieldException, IllegalAccessException { + Set list = new HashSet<>(); + List> riskList = new ArrayList<>(); //获取儿童诊断配置 DiagnoseConfigQuery diagnoseConfigQuery = new DiagnoseConfigQuery(); diagnoseConfigQuery.setHospitalId(hospitalId); diagnoseConfigQuery.setType("2"); - List configModels = diagnoseConfigService.queryDiagnoseConfigs(diagnoseConfigQuery); + List configModels = diagnoseConfigService.queryDiagnoseConfigs(diagnoseConfigQuery); //存储儿童诊断配置,单个项目状态信息 - Map status = new HashMap <>(); + Map status = new HashMap<>(); if (CollectionUtils.isNotEmpty(configModels)) { DiagnoseConfigModel model = configModels.get(0); - List > configs = model.getConfigs(); + List> configs = model.getConfigs(); //判断儿童诊断配置是否开启 if (model == null || "0".equals(model.getEnable()) || configs == null || configs.size() == 0) { return riskList; } if (CollectionUtils.isNotEmpty(configs)) { - for (Map map : configs) { + for (Map map : configs) { status.put(map.get("id"), map.get("status")); } } } //获取诊断项详情 - Map > mapItems = getRiskConfig(configModels); + Map> mapItems = getRiskConfig(configModels); if (mapItems != null && mapItems.size() > 0) { MaternalDeliverModel maternalDeliverModel = new MaternalDeliverModel(); @@ -165,7 +165,7 @@ public class BabyAutoDiagnoseRiskFacade { MatDeliverQuery deliverQuery = new MatDeliverQuery(); deliverQuery.setParentId(babyAutoRiskRequest.getParentId()); deliverQuery.setYn(YnEnums.YES.getId()); - List maternalDeliverModels = matDeliverService.query(deliverQuery); + List maternalDeliverModels = matDeliverService.query(deliverQuery); if (CollectionUtils.isNotEmpty(maternalDeliverModels)) { maternalDeliverModel = maternalDeliverModels.get(0); } @@ -173,8 +173,8 @@ public class BabyAutoDiagnoseRiskFacade { else if (type == 1) { maternalDeliverModel = babyAutoRiskRequest.convertToDataModel(); - List babiearr = new ArrayList <>(); - List babies = babyAutoRiskRequest.getBabies(); + List babiearr = new ArrayList<>(); + List babies = babyAutoRiskRequest.getBabies(); for (MatDeliverAddRequest.Baby baby : babies) { MaternalDeliverModel.Baby babyModel = baby.convertToDataModel(); babiearr.add(babyModel); @@ -184,8 +184,8 @@ public class BabyAutoDiagnoseRiskFacade { }//2 儿童检查 else if (type == 2) { maternalDeliverModel = babyAutoRiskRequest.convertToDataModel(); - List babiearr = new ArrayList <>(); - List babies = babyAutoRiskRequest.getBabies(); + List babiearr = new ArrayList<>(); + List babies = babyAutoRiskRequest.getBabies(); for (MatDeliverAddRequest.Baby baby : babies) { MaternalDeliverModel.Baby babyModel = baby.convertToDataModel(); babiearr.add(babyModel); @@ -196,12 +196,12 @@ public class BabyAutoDiagnoseRiskFacade { /*孕母存在高危因素*/ if (isEnableItem(status, BabyAutoDiagnoseEnums.BabyDiagnoseEnums.ymczgwys.getId())) { //分娩时 - if(StringUtils.isNotEmpty(babyAutoRiskRequest.getParentId())){ + if (StringUtils.isNotEmpty(babyAutoRiskRequest.getParentId())) { Patients patients = patientsService.findOnePatientById(babyAutoRiskRequest.getParentId()); if (patients != null && CollectionUtils.isNotEmpty(patients.getRiskFactorId())) { - List riskFactorId = patients.getRiskFactorId();//孕妇存在的高危 + List riskFactorId = patients.getRiskFactorId();//孕妇存在的高危 //诊断项 - List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.ymczgwys.getId()); + List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.ymczgwys.getId()); if (CollectionUtils.isNotEmpty(items) && CollectionUtils.isNotEmpty(riskFactorId)) { for (DiagnoseItemModel item : items) { if (ymczgwys(riskFactorId, item)) { @@ -212,17 +212,17 @@ public class BabyAutoDiagnoseRiskFacade { } } //儿童建档和儿童检查时 - if(CollectionUtils.isNotEmpty(babyAutoRiskRequest.getRiskFactorId())){ - List riskFactorId = babyAutoRiskRequest.getRiskFactorId();//孕妇存在的高危 - //诊断项 - List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.ymczgwys.getId()); - if (CollectionUtils.isNotEmpty(items) && CollectionUtils.isNotEmpty(riskFactorId)) { - for (DiagnoseItemModel item : items) { - if (ymczgwys(riskFactorId, item)) { - list.addAll(item.getRiskIds());//item.getRiskIds() 诊断项,高危儿诊断项目 - } + if (CollectionUtils.isNotEmpty(babyAutoRiskRequest.getRiskFactorId())) { + List riskFactorId = babyAutoRiskRequest.getRiskFactorId();//孕妇存在的高危 + //诊断项 + List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.ymczgwys.getId()); + if (CollectionUtils.isNotEmpty(items) && CollectionUtils.isNotEmpty(riskFactorId)) { + for (DiagnoseItemModel item : items) { + if (ymczgwys(riskFactorId, item)) { + list.addAll(item.getRiskIds());//item.getRiskIds() 诊断项,高危儿诊断项目 } } + } } } @@ -232,7 +232,7 @@ public class BabyAutoDiagnoseRiskFacade { /*分娩孕周*/ if (isEnableItem(status, BabyAutoDiagnoseEnums.BabyDiagnoseEnums.fmyz.getId()) && StringUtils.isNotEmpty(maternalDeliverModel.getDueWeek()) && type != 2) { String dueWeek = com.lyms.platform.common.utils.StringUtils.dueWeekSwitchDays(maternalDeliverModel.getDueWeek()); - List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.fmyz.getId()); + List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.fmyz.getId()); if (CollectionUtils.isNotEmpty(items) && StringUtils.isNotEmpty(dueWeek)) { for (DiagnoseItemModel item : items) { item.setValueTwo(com.lyms.platform.common.utils.StringUtils.dueWeekSwitchDays(item.getValueTwo())); @@ -250,7 +250,7 @@ public class BabyAutoDiagnoseRiskFacade { MatDeliverAddRequest.Placenta placenta = (MatDeliverAddRequest.Placenta) placentas.get(0); if (placenta != null && StringUtils.isNotEmpty(placenta.getFetalPosition())) { String fetalPosition = placenta.getFetalPosition(); - List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.tfw.getId()); + List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.tfw.getId()); if (CollectionUtils.isNotEmpty(items) && StringUtils.isNotEmpty(fetalPosition)) { for (DiagnoseItemModel item : items) { String valueTwo = item.getValueTwo(); @@ -264,12 +264,12 @@ public class BabyAutoDiagnoseRiskFacade { } /*脐带长度*/ if (isEnableItem(status, BabyAutoDiagnoseEnums.BabyDiagnoseEnums.twcd.getId()) && CollectionUtils.isNotEmpty(maternalDeliverModel.getExtPlacentas()) && type != 2) { - List extPlacentas = maternalDeliverModel.getExtPlacentas(); + List extPlacentas = maternalDeliverModel.getExtPlacentas(); if (CollectionUtils.isNotEmpty(extPlacentas)) { MaternalDeliverModel.ExtPlacenta extPlacenta = extPlacentas.get(0); if (extPlacenta != null && StringUtils.isNotEmpty(extPlacenta.getUmbilicalCordLength())) { String umbilicalCordLength = extPlacenta.getUmbilicalCordLength(); - List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.twcd.getId()); + List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.twcd.getId()); if (CollectionUtils.isNotEmpty(items) && StringUtils.isNotEmpty(umbilicalCordLength)) { for (DiagnoseItemModel item : items) { if (compare(item, umbilicalCordLength) && CollectionUtils.isNotEmpty(item.getRiskIds())) { @@ -282,12 +282,12 @@ public class BabyAutoDiagnoseRiskFacade { } /*脐带异常类型*/ if (isEnableItem(status, BabyAutoDiagnoseEnums.BabyDiagnoseEnums.qdyclx.getId()) && CollectionUtils.isNotEmpty(maternalDeliverModel.getExtPlacentas()) && type != 2) { - List extPlacentas = maternalDeliverModel.getExtPlacentas(); + List extPlacentas = maternalDeliverModel.getExtPlacentas(); if (CollectionUtils.isNotEmpty(extPlacentas)) { MaternalDeliverModel.ExtPlacenta extPlacenta = extPlacentas.get(0); if (extPlacenta != null && StringUtils.isNotEmpty(extPlacenta.getUmbilicalCordExType())) { String umbilicalCordExType = extPlacenta.getUmbilicalCordExType(); - List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.qdyclx.getId()); + List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.qdyclx.getId()); if (CollectionUtils.isNotEmpty(items)) { for (DiagnoseItemModel item : items) { String valueTwo = item.getValueTwo(); @@ -312,7 +312,7 @@ public class BabyAutoDiagnoseRiskFacade { } } if (StringUtils.isNotEmpty(fmfs)) { - List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.fmfs.getId()); + List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.fmfs.getId()); if (CollectionUtils.isNotEmpty(items)) { for (DiagnoseItemModel item : items) { String valueTwo = item.getValueTwo(); @@ -326,15 +326,15 @@ public class BabyAutoDiagnoseRiskFacade { } /*胎儿畸形 7 */ if (isEnableItem(status, BabyAutoDiagnoseEnums.BabyDiagnoseEnums.tejx.getId()) && maternalDeliverModel.getBaby() != null && type != 2) { - List baby = maternalDeliverModel.getBaby(); + List baby = maternalDeliverModel.getBaby(); if (CollectionUtils.isNotEmpty(baby)) { MaternalDeliverModel.Baby baby1 = baby.get(ii); if (baby1 != null) { - List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.tejx.getId()); + List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.tejx.getId()); if (CollectionUtils.isNotEmpty(items)) { for (DiagnoseItemModel item : items) { if (item != null && item.getTejx() != null) { - Map tejx = item.getTejx(); + Map tejx = item.getTejx(); if (tejx(baby1, tejx)) { list.addAll(item.getRiskIds()); } @@ -346,12 +346,12 @@ public class BabyAutoDiagnoseRiskFacade { } /*Apgar评分 8 */ if (isEnableItem(status, BabyAutoDiagnoseEnums.BabyDiagnoseEnums.pf.getId()) && maternalDeliverModel.getBaby() != null && type != 2) { - List baby = maternalDeliverModel.getBaby(); + List baby = maternalDeliverModel.getBaby(); if (CollectionUtils.isNotEmpty(baby)) { MaternalDeliverModel.Baby baby1 = baby.get(ii); if (baby1 != null) { String[] strings = new String[3]; - Map m = JsonUtil.getMap(baby1.getApgarScore()); + Map m = JsonUtil.getMap(baby1.getApgarScore()); if (MapUtils.isNotEmpty(m)) { strings[0] = m.get("pf1") == null ? "" : m.get("pf1"); strings[1] = m.get("pf5") == null ? "" : m.get("pf5"); @@ -359,7 +359,7 @@ public class BabyAutoDiagnoseRiskFacade { } for (int i = 0; i < strings.length; i++) { if (StringUtils.isNotEmpty(strings[i])) { - List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.pf.getId()); + List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.pf.getId()); if (CollectionUtils.isNotEmpty(items)) { for (DiagnoseItemModel item : items) { if (compare(item, strings[i]) && CollectionUtils.isNotEmpty(item.getRiskIds())) { @@ -375,12 +375,12 @@ public class BabyAutoDiagnoseRiskFacade { } /*窒息分钟 9 */ if (isEnableItem(status, BabyAutoDiagnoseEnums.BabyDiagnoseEnums.zxfz.getId()) && maternalDeliverModel.getBaby() != null && type != 2) { - List baby = maternalDeliverModel.getBaby(); + List baby = maternalDeliverModel.getBaby(); if (CollectionUtils.isNotEmpty(baby)) { MaternalDeliverModel.Baby baby1 = baby.get(ii); if (baby1 != null) { String asphyxiaM = baby1.getAsphyxiaM(); - List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.zxfz.getId()); + List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.zxfz.getId()); if (CollectionUtils.isNotEmpty(items) && StringUtils.isNotEmpty(asphyxiaM)) { for (DiagnoseItemModel item : items) { if (compare(item, asphyxiaM) && CollectionUtils.isNotEmpty(item.getRiskIds())) { @@ -395,7 +395,7 @@ public class BabyAutoDiagnoseRiskFacade { /*胎数 10 */ if (isEnableItem(status, BabyAutoDiagnoseEnums.BabyDiagnoseEnums.ts.getId()) && maternalDeliverModel.getTireNumber() != null && type != 2) { String tireNumber = maternalDeliverModel.getTireNumber().toString(); - List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.ts.getId()); + List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.ts.getId()); if (CollectionUtils.isNotEmpty(items) && StringUtils.isNotEmpty(tireNumber)) { for (DiagnoseItemModel item : items) { @@ -409,7 +409,7 @@ public class BabyAutoDiagnoseRiskFacade { /*体重 11 */ if (isEnableItem(status, BabyAutoDiagnoseEnums.BabyDiagnoseEnums.tz.getId()) && maternalDeliverModel.getBaby() != null) { - List baby = maternalDeliverModel.getBaby(); + List baby = maternalDeliverModel.getBaby(); if (CollectionUtils.isNotEmpty(baby)) { MaternalDeliverModel.Baby baby1 = baby.get(ii); if (baby1 != null) { @@ -420,7 +420,7 @@ public class BabyAutoDiagnoseRiskFacade { babyWeight = babyWe.toString(); } - List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.tz.getId()); + List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.tz.getId()); if (CollectionUtils.isNotEmpty(items) && StringUtils.isNotEmpty(babyWeight)) { for (DiagnoseItemModel item : items) { if (compare(item, babyWeight) && CollectionUtils.isNotEmpty(item.getRiskIds())) { @@ -434,7 +434,7 @@ public class BabyAutoDiagnoseRiskFacade { /*血红蛋白 12 */ if (isEnableItem(status, BabyAutoDiagnoseEnums.BabyDiagnoseEnums.xhdb.getId()) && maternalDeliverModel.getBaby() != null) { - List baby = maternalDeliverModel.getBaby(); + List baby = maternalDeliverModel.getBaby(); if (CollectionUtils.isNotEmpty(baby)) { MaternalDeliverModel.Baby baby1 = baby.get(ii); if (baby1 != null) { @@ -444,7 +444,7 @@ public class BabyAutoDiagnoseRiskFacade { Double bXhdb = Double.parseDouble(baby1.getBabyXhdb()); babyXhdb = bXhdb.toString(); } - List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.xhdb.getId()); + List items = mapItems.get(BabyAutoDiagnoseEnums.BabyDiagnoseEnums.xhdb.getId()); if (CollectionUtils.isNotEmpty(items) && StringUtils.isNotEmpty(babyXhdb)) { for (DiagnoseItemModel item : items) { if (compare(item, babyXhdb) && CollectionUtils.isNotEmpty(item.getRiskIds())) { @@ -460,7 +460,7 @@ public class BabyAutoDiagnoseRiskFacade { } if (list.size() > 0) { - List ids = new ArrayList <>(); + List ids = new ArrayList<>(); for (String id : list) { ids.add(id); } @@ -479,8 +479,8 @@ public class BabyAutoDiagnoseRiskFacade { * @Author: 武涛涛 * @Date: 2020/9/1 17:48 */ - private boolean tejx(MaternalDeliverModel.Baby baby1, Map tejx) throws NoSuchFieldException, IllegalAccessException { - for (Map.Entry entry : tejx.entrySet()) { + private boolean tejx(MaternalDeliverModel.Baby baby1, Map tejx) throws NoSuchFieldException, IllegalAccessException { + for (Map.Entry entry : tejx.entrySet()) { Field field = baby1.getClass().getDeclaredField(entry.getKey());//获取指定字段Field field.setAccessible(true);//设置权限 boolean b = (boolean) field.get(baby1); @@ -500,8 +500,8 @@ public class BabyAutoDiagnoseRiskFacade { * @Author: 武涛涛 * @Date: 2020/9/1 9:38 */ - private boolean ymczgwys(List riskFactorId, DiagnoseItemModel item) { - List riskFactorIds = item.getRiskFactorIds();//诊断项,母亲存在的高危因素 + private boolean ymczgwys(List riskFactorId, DiagnoseItemModel item) { + List riskFactorIds = item.getRiskFactorIds();//诊断项,母亲存在的高危因素 for (String ris : riskFactorIds) { //孕妇存在的高危,诊断项,母亲存在的高危因素都有,说明符合,就添加 if (!riskFactorId.contains(ris)) { @@ -519,7 +519,7 @@ public class BabyAutoDiagnoseRiskFacade { * @Author: 武涛涛 * @Date: 2020/8/31 17:05 */ - private boolean compare(List items, String fetalPosition) { + private boolean compare(List items, String fetalPosition) { if (CollectionUtils.isNotEmpty(items)) { for (DiagnoseItemModel item : items) { String valueTwo = item.getValueTwo(); @@ -543,8 +543,8 @@ public class BabyAutoDiagnoseRiskFacade { * @Author: 武涛涛 * @Date: 2020/8/31 14:48 */ - private Map > getRiskConfig(List configModels) { - Map > mapItems = new HashMap <>(); + private Map> getRiskConfig(List configModels) { + Map> mapItems = new HashMap<>(); if (CollectionUtils.isNotEmpty(configModels)) { DiagnoseConfigModel configModel = configModels.get(0); @@ -552,12 +552,12 @@ public class BabyAutoDiagnoseRiskFacade { DiagnoseItemsQuery diagnoseItemsQuery = new DiagnoseItemsQuery(); diagnoseItemsQuery.setConfigId(configModel.getId()); //通过ConfigId获取儿童诊断配置-- 诊断配置项详情 - List diagnoseItemModels = diagnoseConfigService.queryDiagnoseItems(diagnoseItemsQuery); + List diagnoseItemModels = diagnoseConfigService.queryDiagnoseItems(diagnoseItemsQuery); if (CollectionUtils.isNotEmpty(diagnoseItemModels)) { //遍历诊断依据枚举检查与诊断配置项是否匹配,将匹配的诊断项存储mapItems key是id,value DiagnoseItemModelList for (BabyAutoDiagnoseEnums.BabyDiagnoseEnums diagnoses : BabyAutoDiagnoseEnums.BabyDiagnoseEnums.values()) { - List diagnoseItemList = new ArrayList <>(); + List diagnoseItemList = new ArrayList<>(); for (DiagnoseItemModel item : diagnoseItemModels) { if (diagnoses.getId() == Integer.parseInt(item.getParentId())) { diagnoseItemList.add(item); @@ -579,7 +579,7 @@ public class BabyAutoDiagnoseRiskFacade { * @Author: 武涛涛 * @Date: 2020/8/31 13:58 */ - private boolean isEnableItem(Map status, Integer id) { + private boolean isEnableItem(Map status, Integer id) { if (status != null && status.size() > 0) { if ("true".equals(status.get(String.valueOf(id)))) { return true; @@ -656,14 +656,14 @@ public class BabyAutoDiagnoseRiskFacade { */ private void saveAutoRisk(AutoBabyRiskRecord autoBabyRiskRecord) { if (autoBabyRiskRecord != null && CollectionUtils.isNotEmpty(autoBabyRiskRecord.getDiagnosis())) { - List listc = new ArrayList <>(); - List listh = new ArrayList <>(); + List listc = new ArrayList<>(); + List listh = new ArrayList<>(); //孕妇分娩和儿童建档,只有一次,儿童检查会有多次 if (autoBabyRiskRecord.getType() != null && autoBabyRiskRecord.getType() == 2) { getDiagnosisId(autoBabyRiskRecord, listc); if (StringUtils.isNotEmpty(autoBabyRiskRecord.getHospitalId()) && StringUtils.isNotEmpty(autoBabyRiskRecord.getBabyId())) { - List babyRiskRecordList = mongoTemplate.find( + List babyRiskRecordList = mongoTemplate.find( Query.query(Criteria.where("babyId").is(autoBabyRiskRecord.getBabyId()) .and("yn").is(YnEnums.YES.getId()).and("hospitalId").is(autoBabyRiskRecord.getHospitalId()) ).with(new Sort(Sort.Direction.DESC, "modified")), AutoBabyRiskRecord.class); @@ -711,10 +711,10 @@ public class BabyAutoDiagnoseRiskFacade { } - private void getDiagnosisId(AutoBabyRiskRecord autoBabyRiskRecord, List listc) { - List > diagnosis1 = autoBabyRiskRecord.getDiagnosis(); + private void getDiagnosisId(AutoBabyRiskRecord autoBabyRiskRecord, List listc) { + List> diagnosis1 = autoBabyRiskRecord.getDiagnosis(); for (int i = 0; i < diagnosis1.size(); i++) { - Map map = diagnosis1.get(i); + Map map = diagnosis1.get(i); if (map != null && map.containsKey("id")) { listc.add(map.get("id")); } @@ -729,7 +729,7 @@ public class BabyAutoDiagnoseRiskFacade { * @Author: 武涛涛 * @Date: 2020/9/3 11:39 */ - private boolean diagnosiCompare(List listc, List listh) { + private boolean diagnosiCompare(List listc, List listh) { if (CollectionUtils.isNotEmpty(listc) && CollectionUtils.isNotEmpty(listh)) { for (String c : listc) { //孕妇存在的高危,诊断项,母亲存在的高危因素都有,说明符合,就添加 @@ -791,7 +791,7 @@ public class BabyAutoDiagnoseRiskFacade { baseQuery.mysqlBuild((int) count); query.skip(baseQuery.getOffset()).limit(antExManagerQueryRequest.getLimit()); System.out.println(query.toString()); - List models = mongoTemplate.find(query.with(new Sort(Sort.Direction.DESC, "created")), AutoBabyRiskRecord.class); + List models = mongoTemplate.find(query.with(new Sort(Sort.Direction.DESC, "created")), AutoBabyRiskRecord.class); if (CollectionUtils.isNotEmpty(models)) { for (AutoBabyRiskRecord model : models) { Map map = new HashMap(); @@ -812,11 +812,11 @@ public class BabyAutoDiagnoseRiskFacade { map.put("diagnosisMonth", model.getDiagnosisMonth());//诊断月龄 //诊断月龄 可以创建时间和儿童生日作为条件 // map.put("week", DateUtil.getWeekDesc(pat.getLastMenses(), model.getCreated())); - List > diagnosis = model.getDiagnosis(); + List> diagnosis = model.getDiagnosis(); map.put("diagnosis", diagnosis);//自动诊断结果 - List stringLis = new ArrayList <>(); + List stringLis = new ArrayList<>(); if (CollectionUtils.isNotEmpty(diagnosis)) { - for (Map d : diagnosis) { + for (Map d : diagnosis) { if (d != null && d.containsKey("id")) { stringLis.add(d.get("id")); } @@ -876,10 +876,10 @@ public class BabyAutoDiagnoseRiskFacade { query.setYn(YnEnums.YES.getId()); query.setBuildId(autoBabyRiskRecord1.getBabyId()); //查询儿童的检查记录 - List babyCheckModels = babyCheckService.queryBabyCheckRecord(query); + List babyCheckModels = babyCheckService.queryBabyCheckRecord(query); //诊断listmap转liststring - List list = new ArrayList <>(); - List stringList = new ArrayList <>(); + List list = new ArrayList<>(); + List stringList = new ArrayList<>(); getDiagnosisId(autoBabyRiskRecord1, list); if (CollectionUtils.isNotEmpty(babyCheckModels)) { BabyCheckModel babyCheckModel = babyCheckModels.get(0); @@ -889,78 +889,100 @@ public class BabyAutoDiagnoseRiskFacade { if (CollectionUtils.isNotEmpty(list)) { stringList.addAll(list); JSONArray jsonArray = JSONArray.fromObject(stringList); - mongoTemplate.updateFirst(new Query(Criteria.where("id").is(babyCheckModel.getId())), Update.update("diagnose", jsonArray.toString()).set("highRisk",1), BabyCheckModel.class); + mongoTemplate.updateFirst(new Query(Criteria.where("id").is(babyCheckModel.getId())), Update.update("diagnose", jsonArray.toString()).set("highRisk", 1), BabyCheckModel.class); } } else if (CollectionUtils.isEmpty(babyCheckModels)) { - Set setbabyModel = new HashSet <>(); + Set setbabyModel = new HashSet<>(); BabyModelQuery babyQuery = new BabyModelQuery(); babyQuery.setId(autoBabyRiskRecord1.getBabyId()); babyQuery.setYn(YnEnums.YES.getId()); - List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); + List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); if (CollectionUtils.isNotEmpty(models)) { BabyModel babyModel = models.get(0); - List babyModelList = JsonUtil.toList(babyModel.getDiagnose(), String.class); + List babyModelList = JsonUtil.toList(babyModel.getDiagnose(), String.class); setbabyModel.addAll(babyModelList); if (CollectionUtils.isNotEmpty(list)) { setbabyModel.addAll(list); JSONArray jsonArray = JSONArray.fromObject(setbabyModel); - mongoTemplate.updateFirst(new Query(Criteria.where("id").is(babyModel.getId())), Update.update("diagnose", jsonArray.toString()).set("highRisk",1), BabyModel.class); + mongoTemplate.updateFirst(new Query(Criteria.where("id").is(babyModel.getId())), Update.update("diagnose", jsonArray.toString()).set("highRisk", 1), BabyModel.class); } } } return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } - /** - * 1 根据传入的list 信息查询对应的儿保检查 - * - * 2 判断是否有血红蛋白值,如果有就不执行 - * - * 3 没有值,根据血红蛋白值获取,高危因素 - * - * 4 没有值,更新儿保检查高危因素(累加高危) - * - */ - public BaseResponse saveLisBabyData( List lisResultModelRequests) { - for (LisResultModelRequest modelRequest: lisResultModelRequests) { + public BaseResponse saveLisBabyData(List lisResultModelRequests) { + + for (LisResultModelRequest modelRequest : lisResultModelRequests) { - if(StringUtils.isEmpty(modelRequest.getHospitalId()) || StringUtils.isEmpty(modelRequest.getVcCardNo())){ + if (StringUtils.isEmpty(modelRequest.getHospitalId()) || StringUtils.isEmpty(modelRequest.getVcCardNo()) || StringUtils.isEmpty(modelRequest.getXhdb())) { continue; } BabyModelQuery babyQuery = new BabyModelQuery(); babyQuery.setYn(YnEnums.YES.getId()); babyQuery.setHospitalId(modelRequest.getHospitalId());//查询上传医院儿童档案 babyQuery.setVcCardNo(modelRequest.getVcCardNo()); - List builds = babyBookbuildingService.queryBabyBuildByCond(babyQuery); + List builds = babyBookbuildingService.queryBabyBuildByCond(babyQuery); if (CollectionUtils.isNotEmpty(builds)) { BabyModel babyModel = builds.get(0); - if(babyModel ==null && StringUtils.isEmpty(babyModel.getId())){ + if (babyModel == null && StringUtils.isEmpty(babyModel.getId())) { continue; } //获取最新的儿保检查 BabyCheckModelQuery query = new BabyCheckModelQuery(); query.setYn(YnEnums.YES.getId()); query.setBuildId(babyModel.getId()); - List babyCheckModels = babyCheckService.queryBabyCheckRecord(query); - if (CollectionUtils.isNotEmpty(babyCheckModels)) { - BabyCheckModel babyCheckModel = babyCheckModels.get(0); - if(babyCheckModel ==null && StringUtils.isEmpty(babyCheckModel.getId())){ - continue; - } - //获取当前儿保检查,诊断或高危因素 - Set setbabyModel = new HashSet <>(); - List babyModelList = JsonUtil.toList(babyCheckModel.getDiagnose(), String.class); - // 血红蛋白值,根据自动诊断规则,生成高危因素。并且将血红蛋白赋值儿保检查 - //待续。。。。。 - babyModelList.add(""); - - setbabyModel.addAll(babyModelList); - JSONArray jsonArray = JSONArray.fromObject(setbabyModel); - mongoTemplate.updateFirst(new Query(Criteria.where("id").is(babyModel.getId())), Update.update("diagnose", jsonArray.toString()).set("highRisk",1), BabyModel.class); + List babyCheckModels = babyCheckService.queryBabyCheckRecord(query); + if (CollectionUtils.isEmpty(babyCheckModels)) { + continue; + } + BabyCheckModel babyCheckModel = babyCheckModels.get(0); + if (StringUtils.isEmpty(babyCheckModel.getId())) { + continue; + } + //获取当前儿保检查诊断高危因素 + Set setbabyModel = new HashSet<>(); + List babyModelList = new ArrayList<>(); + try { + babyModelList = JsonUtil.toList(babyCheckModel.getDiagnose(), String.class); + } catch (Exception e) { + e.printStackTrace(); + } + // 获取血红蛋白对应的高危因素 + try { + BabyAutoRiskRequest babyAutoRiskRequest = new BabyAutoRiskRequest(); + List babies = new ArrayList<>(); + MatDeliverAddRequest.Baby baby = new MatDeliverAddRequest.Baby(); + baby.setBabyXhdb(modelRequest.getXhdb());//设置自动诊断血红蛋白依据 + babies.add(baby); + babyAutoRiskRequest.setBabies(babies); + List> maps = autoRisk(babyAutoRiskRequest, babyCheckModel.getHospitalId(), 2, 0); + babyModelList.addAll(getListMap(maps)); + } catch (Exception e) { + e.printStackTrace(); + } + // 注意:这里是不管以前有没有血红蛋白都会累加高危 + setbabyModel.addAll(babyModelList); + + if(CollectionUtils.isNotEmpty(babyModelList)){ + BabyCheckModel model = new BabyCheckModel(); + JSONArray jsonArray = JSONArray.fromObject(setbabyModel); + model.setDiagnose(jsonArray.toString()); + model.setHighRisk(1); + model.setHemoglobin(modelRequest.getXhdb()); + model.setModified(new Date()); + babyCheckService.updateBabyCheck(model, babyCheckModel.getId()); + }else if(StringUtils.isEmpty(babyCheckModel.getHemoglobin())){//以前有血红蛋白,没有自动诊断高危是不更新 + BabyCheckModel model = new BabyCheckModel(); + model.setHemoglobin(modelRequest.getXhdb()); + model.setModified(new Date()); + babyCheckService.updateBabyCheck(model, babyCheckModel.getId()); } + + } } @@ -968,4 +990,15 @@ public class BabyAutoDiagnoseRiskFacade { return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } + private List getListMap(List> maps) { + List listc = new ArrayList<>(); + for (int i = 0; i < maps.size(); i++) { + Map map = maps.get(i); + if (map != null && map.containsKey("id")) { + listc.add(map.get("id")); + } + } + return listc; + } + }