From a92a1b04c4fcfafee9a20749a887ac441c301e45 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Thu, 28 Jan 2021 10:32:58 +0800 Subject: [PATCH] update --- .../lyms/platform/pojo/BabyDietSuggestModel.java | 9 ++ .../msg/worker/BabyAmsMsgGenerateWorker.java | 2 +- .../msg/worker/TempleteMsgGenerateWorker.java | 53 +++----- .../operate/web/facade/BabyNutritionFacade.java | 141 +++++++++++++++++++-- .../platform/operate/web/facade/ViewFacade.java | 81 ++++++++---- 5 files changed, 213 insertions(+), 73 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyDietSuggestModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyDietSuggestModel.java index 4171f77..20b0f00 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyDietSuggestModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyDietSuggestModel.java @@ -25,6 +25,15 @@ public class BabyDietSuggestModel extends BaseModel { private Integer monthAge; private List> doctorSuggests; + private List> qhdfyDoctorSuggests; + + public List> getQhdfyDoctorSuggests() { + return qhdfyDoctorSuggests; + } + + public void setQhdfyDoctorSuggests(List> qhdfyDoctorSuggests) { + this.qhdfyDoctorSuggests = qhdfyDoctorSuggests; + } public Integer getLevel() { return level; diff --git a/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/BabyAmsMsgGenerateWorker.java b/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/BabyAmsMsgGenerateWorker.java index 4404938..9a67983 100644 --- a/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/BabyAmsMsgGenerateWorker.java +++ b/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/BabyAmsMsgGenerateWorker.java @@ -84,7 +84,7 @@ public class BabyAmsMsgGenerateWorker implements Runnable { BabyModelQuery babyQuery = new BabyModelQuery(); babyQuery.setYn(YnEnums.YES.getId()); babyQuery.setHospitalId(hospitalId); - babyQuery.setMphone("15833911677"); // 15027805358 17732261179 15930921847 13851409428 13175251837 + // babyQuery.setMphone("15833911677"); // 15027805358 17732261179 15930921847 13851409428 13175251837 List buildType = new ArrayList(); buildType.add(1); diff --git a/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/TempleteMsgGenerateWorker.java b/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/TempleteMsgGenerateWorker.java index b0e4d1e..8a430d9 100644 --- a/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/TempleteMsgGenerateWorker.java +++ b/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/TempleteMsgGenerateWorker.java @@ -540,11 +540,7 @@ public class TempleteMsgGenerateWorker implements Runnable { babyQuery.setBirthEnd(endDate); List babyModels = babyBookbuildingService.queryBabyBuildByCond(babyQuery); for (BabyModel babyModel : babyModels){ - HashMap hashMap = getMapByParam(template, babyModel.getId(), true); - List patientServices = patientServiceService.getPatientServices(hashMap); - if (CollectionUtils.isNotEmpty(patientServices)){ - addBabyRemindMonthMessages(template, config, service, tempHid, sendTimeType, messages, start, end, babyModel); - } + addBabyRemindMonthMessages(template, config, service, tempHid, sendTimeType, messages, start, end, babyModel); } } @@ -852,11 +848,7 @@ public class TempleteMsgGenerateWorker implements Runnable { } else { List babyModels = babyBookbuildingService.queryBabyBuildByCond(babyQuery); for (BabyModel babyModel : babyModels) { - HashMap hashMap = getMapByParam(template, babyModel.getId(), true); - List patientServices = patientServiceService.getPatientServices(hashMap); - if (CollectionUtils.isNotEmpty(patientServices)){ - addBabyVaccineDayOrMonthMessages(template, config, service, messages, start, babyModel, isDay); - } + addBabyVaccineDayOrMonthMessages(template, config, service, messages, start, babyModel, isDay); } } } @@ -1456,18 +1448,7 @@ public class TempleteMsgGenerateWorker implements Runnable { List patients = yunBookbuildingService.queryPregnantWithQuery(query); for (Patients patient: patients){ - - HashMap mapByParam = getMapByParam(template, patient.getId(), false); - List mapList = patientServiceService.getPatientServices(mapByParam); - for (Map map: mapList){ - String parentId = map.get("parentId").toString(); - PatientsQuery patientQ = new PatientsQuery(); - patientQ.setId(parentId); - List patientsList = yunBookbuildingService.queryPregnantWithQuery(patientQ); - for (Patients p: patientsList){ - makeSmsDataByPatients(template, config, service, messages, p, keyword1, keyword2, remark); - } - } + makeSmsDataByPatients(template, config, service, messages, patient, keyword1, keyword2, remark); } return; } @@ -1654,20 +1635,20 @@ public class TempleteMsgGenerateWorker implements Runnable { return 4; } - private HashMap getMapByParam(SmsTemplateModel templateModel, String id, Boolean isBaby) { - Integer serviceStatus = templateModel.getServiceStatus(); - Integer serviceType = templateModel.getServiceType(); - Integer serType = compatibleOldData(serviceType, isBaby); - Integer status = getServiceStatus(serviceStatus); - HashMap hashMap = new HashMap<>(16); - if (StringUtils.isNotEmpty(id)){ - hashMap.put("parentId", id); - } - hashMap.put("serStatus", status); - hashMap.put("serType",serType); - hashMap.put("perType", isBaby ? 2 : 1); - return hashMap; - } +// private HashMap getMapByParam(SmsTemplateModel templateModel, String id, Boolean isBaby) { +// Integer serviceStatus = templateModel.getServiceStatus(); +// Integer serviceType = templateModel.getServiceType(); +// Integer serType = compatibleOldData(serviceType, isBaby); +// Integer status = getServiceStatus(serviceStatus); +// HashMap hashMap = new HashMap<>(16); +// if (StringUtils.isNotEmpty(id)){ +// hashMap.put("parentId", id); +// } +// hashMap.put("serStatus", status); +// hashMap.put("serType",serType); +// hashMap.put("perType", isBaby ? 2 : 1); +// return hashMap; +// } /** * 产检过期消息 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java index 2469005..65dfbde 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java @@ -966,6 +966,64 @@ public class BabyNutritionFacade { } + private String getBabyStatus1(int month, int sex, Double weight, Double hegiht, String bmi) { + String kaupEvaluate = ""; + if (weight != null && hegiht != null) { + + if (StringUtils.isNotEmpty(bmi)) { + Double bbmi = Double.parseDouble(bmi); + //查询该月龄的年龄别体重值 + // 正常 :-2SD ≤ A ≤ +1SD + // 消瘦 : A < -2SD + //偏重 : A > +1SD + List list = babyCheckService.queryBabyHealthConfig(month, sex, 5); + if (CollectionUtils.isNotEmpty(list)) { + AwModel awModel = list.get(0); + if (awModel.getMiddleDs() == bbmi) + { + kaupEvaluate = "正常"; + } + else if (awModel.getMiddleDs() > bbmi && awModel.getRoneDs() <= bbmi) + { + kaupEvaluate = "中-"; + } + else if (awModel.getRoneDs() > bbmi && awModel.getRtwoDs() <= bbmi) + { + kaupEvaluate = "中下"; + } + else if ( awModel.getRtwoDs() > bbmi) + { + kaupEvaluate = "下"; + } + + else if (awModel.getMiddleDs() < bbmi && awModel.getPoneDs() >= bbmi) + { + kaupEvaluate = "中+"; + } + else if (awModel.getPoneDs() < bbmi && awModel.getPtwoDs() >= bbmi) + { + kaupEvaluate = "中上"; + } + else if ( awModel.getPtwoDs() < bbmi) + { + kaupEvaluate = "上"; + } + + +// if (awModel.getPoneDs() < bbmi) { +// kaupEvaluate = "超重"; +// } else if (awModel.getPoneDs() >= bbmi && awModel.getRtwoDs() <= bbmi) { +// kaupEvaluate = "正常"; +// } else if (awModel.getRtwoDs() > bbmi) { +// kaupEvaluate = "消瘦"; +// } + } + } + } + return kaupEvaluate; + } + + /** * 未结算列表 * @@ -1837,12 +1895,18 @@ public class BabyNutritionFacade { Organization org = organizationService.getOrganization(Integer.parseInt(hospitalId)); map.put("hospitalName", org.getName()); map.put("reportMonthAge", StringUtils.emptyDeal(DateUtil.getBabyMonthAge(baby.getBirth(), model.getNutritiTime()))); + + + Map weightRes = babyCheckFacade.getGrowthValueMapNew(DateUtil.getyyyy_MM_dd(baby.getBirth()) + , model.getWeight(), baby.getSex(), null, baby.getId(), DateUtil.getyyyy_MM_dd(model.getNutritiTime())); + + Map heightRes = babyCheckFacade.getGrowthValue1MapNew(DateUtil.getyyyy_MM_dd(baby.getBirth()) + , model.getHeight(), baby.getSex(), null, baby.getId(), DateUtil.getyyyy_MM_dd(model.getNutritiTime())); + //体重评价 - String weightEvaluate = babyCheckFacade.getGrowthValue(DateUtil.getyyyy_MM_dd(baby.getBirth()), model.getWeight(), baby.getSex(), null, null, DateUtil.getyyyy_MM_dd(model.getNutritiTime())); - map.put("weightEvaluate", weightEvaluate); + map.put("weightEvaluate", weightRes.get("res")); //身高评价 - String heightEvaluate = babyCheckFacade.getGrowthValue1(DateUtil.getyyyy_MM_dd(baby.getBirth()), model.getHeight(), baby.getSex(), 1, null, DateUtil.getyyyy_MM_dd(model.getNutritiTime())); - map.put("heightEvaluate", heightEvaluate); + map.put("heightEvaluate", heightRes.get("res")); int month = DateUtil.getMonth(baby.getBirth(), model.getNutritiTime()); if (month > 60) { return new BaseObjectResponse().setData(data).setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("月龄范围没有报告"); @@ -1857,6 +1921,51 @@ public class BabyNutritionFacade { double kaul = getKcal(month, model.getWeight(), model.getHeight(), baby.getSex(), kaupEvaluate); + //总体评价 + String totalEvaluate = ""; + String totalSuggest = ""; + boolean weightDb = false; + if ("中下".equals(heightRes.get("res")) || "下".equals(heightRes.get("res"))) + { + totalEvaluate+="身长未达标 "; + weightDb = true; + } + + boolean heightDb = false; + if ("中下".equals(weightRes.get("res")) || "下".equals(weightRes.get("res"))) + { + totalEvaluate+="体重未达标 "; + heightDb = true; + } + + boolean bmiDb = false; + if (!"正常".equals(kaupEvaluate)) + { + totalEvaluate+="BMI未在正常范围之内 "; + bmiDb = true; + } + if (weightDb && heightDb && bmiDb) + { + totalSuggest = "宝宝综合评价中有三项未达标,建议进一步咨询体检医生。"; + } + else if ((weightDb && heightDb) || (weightDb && bmiDb) || (heightDb && bmiDb)) + { + totalSuggest = "宝宝综合评价中有两项未达标,建议进一步咨询体检医生。"; + } + else if (weightDb) + { + totalSuggest = "宝宝综合评价中体重未达标,建议进一步咨询体检医生。"; + } + else if (heightDb) + { + totalSuggest = "宝宝综合评价中身长未达标,建议进一步咨询体检医生。"; + } + + + map.put("totalEvaluate", totalEvaluate); + map.put("totalSuggest", totalSuggest); + + //5月龄按照6月龄来取内容 if (month == 5) { month = 6; @@ -2070,15 +2179,16 @@ public class BabyNutritionFacade { } }); - int items = 0; + int start = 0; + int end = 0; switch (month) { - case 6: items = 4;break; - case 7: items = 15;break; - case 8: items = 20;break; - case 9: items = 20;break; - case 10: items = 23;break; - case 11: items = 23;break; - case 12: items = 24;break; + case 6: start = 0;end = 4;break; + case 7: start = 7;end = 14;break; + case 8: start = 15;end = 21;break; + case 9: start = 22;end = 28;break; + case 10: start = 29;end = 37;break; + case 11: start = 38;end =46;break; + case 12: start = 47;end = 55;break; } List> dss = new ArrayList<>(); @@ -2087,8 +2197,8 @@ public class BabyNutritionFacade { //获取对应月龄的医生建议 BabyDietSuggestModel dietDoctorSuggests = mongoTemplate.findOne(Query.query(Criteria.where("type").is(1).and("monthAge").is(month)), BabyDietSuggestModel.class); - List> doctorSuggests = dietDoctorSuggests.getDoctorSuggests(); - List> tempList = list.subList(0, items); + List> doctorSuggests = dietDoctorSuggests.getQhdfyDoctorSuggests(); + List> tempList = list.subList(start, end); for (int i = 0; i < tempList.size() ; i++) { //没有添加对应月龄的食物 add 0 为未添加 1为添加 @@ -2115,7 +2225,10 @@ public class BabyNutritionFacade { } healthChargeFacade.addHealthCharge(hospitalId, 5, baby.getId(), null, null, userId, doctorId, true, model.getId()); + + map.put("kaupEvaluate", getBabyStatus(month, baby.getSex(), model.getHeight(), model.getWeight(), bmi)); } + objectResponse.setData(data); objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); objectResponse.setErrormsg("成功"); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java index c4d1251..3e80af4 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java @@ -26,7 +26,7 @@ import com.lyms.platform.operate.web.request.MessagesResult; import com.lyms.platform.operate.web.result.*; import com.lyms.platform.operate.web.utils.*; import com.lyms.platform.operate.web.utils.UnitConstants; -import com.lyms.platform.permission.model.CheckItem; +import com.lyms.platform.permission.model.*; import com.lyms.platform.permission.service.CheckItemService; import net.sf.json.JSONArray; import org.apache.commons.collections.CollectionUtils; @@ -73,9 +73,6 @@ import com.lyms.platform.operate.web.request.AntExcAddOther; import com.lyms.platform.operate.web.request.MatDeliverAddRequest; import com.lyms.platform.operate.web.service.BabyEvaluationCriterionService; import com.lyms.platform.permission.dao.master.CouponMapper; -import com.lyms.platform.permission.model.Organization; -import com.lyms.platform.permission.model.OrganizationQuery; -import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.service.CouponService; import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.permission.service.UsersService; @@ -7726,27 +7723,67 @@ public class ViewFacade { map.put("abdominalCircumference", antExChuModel.getFuwei()); List tireList = new ArrayList <>(); if (CollectionUtils.isNotEmpty(antExChuModel.getPlacentas())) { - for (Object temp : antExChuModel.getPlacentas()) { - if (temp != null) - { - Map tire = (Map ) temp; - if (tire != null) { - String heartRate = tire.get("heartRate") == null ? "" : String.valueOf(tire.get("heartRate")); - String fetalPosition = tire.get("fetalPosition") + ""; - String fetalPresentation = tire.get("fetalPresentation") + ""; - String join = tire.get("join") + ""; - - Map tireMap = new HashMap <>(); + List placentas = antExChuModel.getPlacentas(); + if (CollectionUtils.isNotEmpty(placentas)) { + for (Object obj : placentas) { + Map placetaMap = new HashMap <>(); + String fetalPosition = ""; + String fetalPresentation = ""; + String heartRate = ""; + String join = ""; + + if ("com.lyms.platform.operate.web.request.MatDeliverAddRequest$Placenta".equals(obj.getClass().getName())) { + //转换类型 + MatDeliverAddRequest.Placenta placenta = (MatDeliverAddRequest.Placenta) obj; + //胎方位 + if (StringUtils.isNotEmpty(placenta.getFetalPosition())) { + for (FetalPositionEnums fetalPositionEnums : FetalPositionEnums.values()) { + if (fetalPositionEnums.getId().equals(placenta.getFetalPosition())) { + fetalPosition += fetalPositionEnums.getName(); + break; + } + } + } + //胎先露 + fetalPresentation += placenta.getFetalPresentation() == null ? "" : placenta.getFetalPresentation(); + //胎心率 + heartRate += placenta.getHeartRate() == null ? "" : placenta.getHeartRate().toString(); if (StringUtils.isNotEmpty(heartRate)) { - tireMap.put("heartRate", UnitUtils.unitSplice(heartRate, UnitConstants.CIFEN)); - } else { - tireMap.put("heartRate", ""); + Integer a = (int) Double.parseDouble(heartRate); + heartRate = String.valueOf(a); } - tireMap.put("fetalPosition", FetalPositionEnums.getTitle(fetalPosition)); - tireMap.put("fetalPresentation", FetalEnums.getTitle(fetalPresentation)); - tireMap.put("join", JoinEnums.getTitle(join)); - tireList.add(tireMap); + join = placenta.getJoin(); + } + + if ("java.util.LinkedHashMap".equals(obj.getClass().getName())) { + Map placenta = (Map ) obj; + if (MapUtils.isNotEmpty(placenta)) { + if (placenta.get("fetalPosition") != null) { + for (FetalPositionEnums fetalPositionEnums : FetalPositionEnums.values()) { + if (fetalPositionEnums.getId().equals(placenta.get("fetalPosition"))) { + fetalPosition += fetalPositionEnums.getName(); + break; + } + } + } + heartRate += placenta.get("heartRate") == null ? "" : placenta.get("heartRate"); + if (StringUtils.isNotEmpty(heartRate)) { + Integer a = (int) Double.parseDouble(heartRate); + heartRate = String.valueOf(a); + } + fetalPresentation += placenta.get("fetalPresentation") == null ? "" : placenta.get("fetalPresentation"); + join = String.valueOf(placenta.get("join")); + + } + } + + placetaMap.put("fetalPosition", fetalPosition); + placetaMap.put("fetalPresentation", FetalEnums.getTitle(fetalPresentation)); + placetaMap.put("heartRate", UnitUtils.unitSplice(heartRate, UnitConstants.CIFEN)); + placetaMap.put("join", JoinEnums.getTitle(join)); + + tireList.add(placetaMap); } } } -- 1.8.3.1