diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java index bb56950..b82ad6a 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java @@ -3535,8 +3535,8 @@ public class BasicConfigServiceTest { // babyNutritionConfig("F:\\儿童营养报告\\婴幼儿体重与营养管理报告内容及规则\\儿童膳食报告文章2.xls"); - // xyPresentation("E:\\血压报告.xls"); - weightReport("E:\\体重营养报告10.xls"); + xyPresentation("E:\\血压报告.xls"); + // weightReport("E:\\体重营养报告10.xls"); } } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/WeightReportModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/WeightReportModel.java index aa70fe4..3c5c1f4 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/WeightReportModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/WeightReportModel.java @@ -67,6 +67,8 @@ public class WeightReportModel { private List guideInfo;//营养指南内容 private String guideTitle;//营养指南标题 + + public String getId() { return id; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java index dc85f16..81aba3d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java @@ -2036,15 +2036,6 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient if (risk.contains("eb146c03-b19f-4e28-b85f-fda574b2283b") || risk.contains("224b2329-cb82-4da3-a071-8527f8283aab")) { return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.DEPT_NOT_EXISTS).setErrormsg("警告").setData("该风险已超过管控范围,请咨询医生进行咨询"); } else { - Map data0 = new HashMap<>(); - Map data1 = new HashMap<>(); - Map data2 = new HashMap<>(); - Map data3 = new HashMap<>(); - Map data4 = new HashMap<>(); - Map data5 = new HashMap<>(); - Map data6 = new HashMap<>(); - List reiskFactor = patients.getRiskFactorId(); - List weightReport = mongoTemplate.findAll(WeightReportModel.class); //获取视图 Map dayWeights = patientWeight.getDayWeights(); Map weights = new LinkedHashMap<>(); @@ -2054,94 +2045,107 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient weights.put(DateUtil.getWeek2(patients.getLastMenses(), DateUtil.parseYMD(entry.getKey())), entry.getValue()); } } - for (WeightReportModel weightReportModel : weightReport) { + Map data0 = new HashMap<>(); + Map data1 = new HashMap<>(); + Map data2 = new HashMap<>(); + Map data3 = new HashMap<>(); + Map data4 = new HashMap<>(); + Map data5 = new HashMap<>(); + Map data6 = new HashMap<>(); + List reiskFactor = patients.getRiskFactorId(); + List weightReport = mongoTemplate.findAll(WeightReportModel.class); + if (reiskFactor.isEmpty() && weightReport.isEmpty()) { + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("对象值为空!").setData(""); + } else { for (String reis : reiskFactor) { - if (reis.equals(weightReportModel.getgDMId()) || reis.equals(weightReportModel.getoDIPId()) || - reis.equals(weightReportModel.getMedicationDiabetesID())) { - //糖尿病diabetes - Set set = new HashSet(); - if (null != weightReportModel.getgDMId()) { - set.add(weightReportModel.getgDMName()); - } else if (null != weightReportModel.getMedicationDiabetesID()) { - set.add(weightReportModel.getoDIPName()); - } - datas.put("1", this.getDiabetestInfo(weights, data3, weightReportModel, patientWeight, patients, bmiD, week, diabetesKcalStr, set)); - } else if (reis.equals(weightReportModel.getGestationalHypertensionGHID()) || reis.equals(weightReportModel.getChronicHypertensionID())) { - Set set = new HashSet(); - if (null != weightReportModel.getGestationalHypertensionGHID()) { - set.add(weightReportModel.getGestationalHypertensionGHName()); - } else if (null != weightReportModel.getChronicHypertensionID()) { - set.add(weightReportModel.getChronicHypertensionName()); - } - //高血压hypertension - datas.put("3", this.getInfo(weights, data2, weightReportModel, patientWeight, patients, bmiD, week, gxyKcalStr, set)); - } else if (reis.equals(weightReportModel.getHyperthyroidismNeedID()) || reis.equals(weightReportModel.getHyperthyroidismID())) { - //甲亢hyperthyroidism - Set set = new HashSet(); - if (null != weightReportModel.getHyperthyroidismNeedID()) { - set.add(weightReportModel.getHyperthyroidismName()); - } else if (null != weightReportModel.getHyperthyroidismID()) { - set.add(weightReportModel.getHyperthyroidismName()); - } - datas.put("4", this.getDiabetestInfo(weights, data4, weightReportModel, patientWeight, patients, bmiD, week, gkKcalStr, set)); - } else if (reis.equals(weightReportModel.getHypothyroidismID()) || reis.equals(weightReportModel.getyLCHypothyroidismID()) || - reis.equals(weightReportModel.getHypothyroidismNeedID())) { - //甲减hypothyroidism - Set set = new HashSet(); - if (null != weightReportModel.getHypothyroidismID()) { - set.add(weightReportModel.getHypothyroidismName()); - } else if (null != weightReportModel.getyLCHypothyroidismID()) { - set.add(weightReportModel.getyLCHypothyroidismName()); - } else if (null != weightReportModel.getHypothyroidismNeedID()) { - set.add(weightReportModel.getHypothyroidismNeedName()); - } - datas.put("5", this.getDiabetestInfo(weights, data5, weightReportModel, patientWeight, patients, bmiD, week, gjKcalStr, set)); - } else if (reis.equals(weightReportModel.getAnemiaPregnancyId()) || reis.equals(weightReportModel.getMildAnemiaID()) || - reis.equals(weightReportModel.getModerateAnemiaID()) || reis.equals(weightReportModel.getSevereAnemiaID()) || - reis.equals(weightReportModel.getSevereAnemiaHBID()) || reis.equals(weightReportModel.getObstructiveAnemiaID())) { - Set set = new HashSet(); - if (null != weightReportModel.getAnemiaPregnancyId()) { - set.add(weightReportModel.getAnemiaPregnancyName()); - } else if (null != weightReportModel.getMildAnemiaID()) { - set.add(weightReportModel.getMildAnemiaName()); - } else if (null != weightReportModel.getModerateAnemiaID()) { - set.add(weightReportModel.getModerateAnemiaName()); - } else if (null != weightReportModel.getSevereAnemiaID()) { - set.add(weightReportModel.getSevereAnemiaName()); - } else if (null != weightReportModel.getSevereAnemiaHBID()) { - set.add(weightReportModel.getSevereAnemiaHBName()); - } else if (null != weightReportModel.getObstructiveAnemiaID()) { - set.add(weightReportModel.getObstructiveAnemiaName()); - } - //贫血anemia - datas.put("6", this.getInfo(weights, data0, weightReportModel, patientWeight, patients, bmiD, week, gjKcalStr, set)); - } else if (reis.equals(weightReportModel.getDiseasesDigestiveSystemId()) || reis.equals(weightReportModel.getViralHepatitisId())) { - Set set = new HashSet(); - if (null != weightReportModel.getDiseasesDigestiveSystemId()) { - set.add(weightReportModel.getDiseasesDigestiveSystemName()); - } else if (null != weightReportModel.getViralHepatitisId()) { - set.add(weightReportModel.getViralHepatitisName()); - } - //急性肝炎acuteHepatitis - datas.put("7", this.getInfo(weights, data1, weightReportModel, patientWeight, patients, bmiD, week, kcals, set)); - } else if (reis.equals(weightReportModel.getCirrhosis()) || reis.equals(weightReportModel.getLiverFunctionErrorId())) { - //慢性肝炎chronicHepatitis - Set set = new HashSet(); - if (null != weightReportModel.getCirrhosis()) { - set.add(weightReportModel.getCirrhosisName()); - } else if (null != weightReportModel.getLiverFunctionErrorId()) { - set.add(weightReportModel.getLiverFunctionErrorName()); + for (WeightReportModel weightReportModel : weightReport) { + if (reis.equals(weightReportModel.getgDMId()) || reis.equals(weightReportModel.getoDIPId()) || + reis.equals(weightReportModel.getMedicationDiabetesID())) { + //糖尿病diabetes + Set set = new HashSet(); + if (null != weightReportModel.getgDMId()) { + set.add(weightReportModel.getgDMName()); + } else if (null != weightReportModel.getMedicationDiabetesID()) { + set.add(weightReportModel.getoDIPName()); + } + datas.put("1", this.getDiabetestInfo(weights, data3, weightReportModel, patientWeight, patients, bmiD, week, diabetesKcalStr, set)); + } else if (reis.equals(weightReportModel.getGestationalHypertensionGHID()) || reis.equals(weightReportModel.getChronicHypertensionID())) { + Set set = new HashSet(); + if (null != weightReportModel.getGestationalHypertensionGHID()) { + set.add(weightReportModel.getGestationalHypertensionGHName()); + } else if (null != weightReportModel.getChronicHypertensionID()) { + set.add(weightReportModel.getChronicHypertensionName()); + } + //高血压hypertension + datas.put("3", this.getInfo(weights, data2, weightReportModel, patientWeight, patients, bmiD, week, gxyKcalStr, set)); + } else if (reis.equals(weightReportModel.getHyperthyroidismNeedID()) || reis.equals(weightReportModel.getHyperthyroidismID())) { + //甲亢hyperthyroidism + Set set = new HashSet(); + if (null != weightReportModel.getHyperthyroidismNeedID()) { + set.add(weightReportModel.getHyperthyroidismName()); + } else if (null != weightReportModel.getHyperthyroidismID()) { + set.add(weightReportModel.getHyperthyroidismName()); + } + datas.put("4", this.getDiabetestInfo(weights, data4, weightReportModel, patientWeight, patients, bmiD, week, gkKcalStr, set)); + } else if (reis.equals(weightReportModel.getHypothyroidismID()) || reis.equals(weightReportModel.getyLCHypothyroidismID()) || + reis.equals(weightReportModel.getHypothyroidismNeedID())) { + //甲减hypothyroidism + Set set = new HashSet(); + if (null != weightReportModel.getHypothyroidismID()) { + set.add(weightReportModel.getHypothyroidismName()); + } else if (null != weightReportModel.getyLCHypothyroidismID()) { + set.add(weightReportModel.getyLCHypothyroidismName()); + } else if (null != weightReportModel.getHypothyroidismNeedID()) { + set.add(weightReportModel.getHypothyroidismNeedName()); + } + datas.put("5", this.getDiabetestInfo(weights, data5, weightReportModel, patientWeight, patients, bmiD, week, gjKcalStr, set)); + } else if (reis.equals(weightReportModel.getAnemiaPregnancyId()) || reis.equals(weightReportModel.getMildAnemiaID()) || + reis.equals(weightReportModel.getModerateAnemiaID()) || reis.equals(weightReportModel.getSevereAnemiaID()) || + reis.equals(weightReportModel.getSevereAnemiaHBID()) || reis.equals(weightReportModel.getObstructiveAnemiaID())) { + Set set = new HashSet(); + if (null != weightReportModel.getAnemiaPregnancyId()) { + set.add(weightReportModel.getAnemiaPregnancyName()); + } else if (null != weightReportModel.getMildAnemiaID()) { + set.add(weightReportModel.getMildAnemiaName()); + } else if (null != weightReportModel.getModerateAnemiaID()) { + set.add(weightReportModel.getModerateAnemiaName()); + } else if (null != weightReportModel.getSevereAnemiaID()) { + set.add(weightReportModel.getSevereAnemiaName()); + } else if (null != weightReportModel.getSevereAnemiaHBID()) { + set.add(weightReportModel.getSevereAnemiaHBName()); + } else if (null != weightReportModel.getObstructiveAnemiaID()) { + set.add(weightReportModel.getObstructiveAnemiaName()); + } + //贫血anemia + datas.put("6", this.getInfo(weights, data0, weightReportModel, patientWeight, patients, bmiD, week, gjKcalStr, set)); + } else if (reis.equals(weightReportModel.getDiseasesDigestiveSystemId()) || reis.equals(weightReportModel.getViralHepatitisId())) { + Set set = new HashSet(); + if (null != weightReportModel.getDiseasesDigestiveSystemId()) { + set.add(weightReportModel.getDiseasesDigestiveSystemName()); + } else if (null != weightReportModel.getViralHepatitisId()) { + set.add(weightReportModel.getViralHepatitisName()); + } + //急性肝炎acuteHepatitis + datas.put("7", this.getInfo(weights, data1, weightReportModel, patientWeight, patients, bmiD, week, kcals, set)); + } else if (reis.equals(weightReportModel.getCirrhosis()) || reis.equals(weightReportModel.getLiverFunctionErrorId())) { + //慢性肝炎chronicHepatitis + Set set = new HashSet(); + if (null != weightReportModel.getCirrhosis()) { + set.add(weightReportModel.getCirrhosisName()); + } else if (null != weightReportModel.getLiverFunctionErrorId()) { + set.add(weightReportModel.getLiverFunctionErrorName()); + } + datas.put("8", this.getInfo(weights, data6, weightReportModel, patientWeight, patients, bmiD, week, mxgyKcalStr, set)); } - datas.put("8", this.getInfo(weights, data6, weightReportModel, patientWeight, patients, bmiD, week, mxgyKcalStr, set)); } } } - } if (datas.size() == 0) { BaseResponse baseResponse = this.report(pid, userId, rid); return baseResponse; } + //同时出现高血压和肝硬化或肝功能不全则按照肝硬化或肝功能不全 if (datas.containsKey("3") && datas.containsKey("8")) { datas.put("2", datas.get("8")); } @@ -2160,7 +2164,6 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient return obj; } - public Map getInfo(Map weights, Map data, WeightReportModel weightReportModel, PatientWeight patientWeight, Patients patients, double bmi, int week, String kcal, Set set) { setReport(data, weights, patientWeight.getBeforeWeight(), patientWeight.getBmi(), patientWeight.getDayWeights(), patientWeight.getBregmatic()); Map userMap = new HashMap(); @@ -2203,21 +2206,22 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient map1.put("dinnerAdd", weightReportModel.getDinnerAdd()); map1.put("northSouth", weightReportModel.getNorthSouth()); if (week >= 0 && week <= 12) { - map1.put("proposal", "建议(孕早期)"); map1.put("proposalInfo", weightReportModel.getEarlySuggests()); } else if (week >= 13 && week <= 28) { - map1.put("proposal", "建议(孕中期)"); map1.put("proposalInfo", weightReportModel.getMiddleSuggests()); } else if (week >= 29 && week <= 40) { - map1.put("proposal", "建议(孕晚期)"); map1.put("proposalInfo", weightReportModel.getLaterSuggests()); } data.put("recipes", map1); - if (patients.getRiskFactorId().size() >= 2) { - Map map = new HashMap(); - map.put("tipsInfo", "您当前情况存在两种及以上高危风险因素,需请您的主管医生结合临床实际情况对报告进行解读,并根据医生解读建议,指导日常营养膳食"); - data.put("tips", map); - } + } + List healthy = new ArrayList(); + healthy.add("d42eec03-aa86-45b8-a4e0-78a0ff365fb6");//健康id// + healthy.add("a427da89-594a-46c2-b9f7-1b0d355ce54c");//28>BMI>25 + healthy.add("5a40c6c5422b03d4ad2bf7bd");//BMI<18.5 + if (patients.getRiskFactorId().size() - this.getSame(healthy, patients.getRiskFactorId()).size() >= 2) { + Map map = new HashMap(); + map.put("tipsInfo", "您当前情况存在两种及以上高危风险因素,需请您的主管医生结合临床实际情况对报告进行解读,并根据医生解读建议,指导日常营养膳食"); + data.put("tips", map); } return data; } @@ -2266,7 +2270,11 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient map1.put("proposalInfo", weightReportModel.getEarlySuggests()); data.put("recipes", map1); } - if (patients.getRiskFactorId().size() >= 2) { + List healthy = new ArrayList(); + healthy.add("d42eec03-aa86-45b8-a4e0-78a0ff365fb6");//健康id// + healthy.add("a427da89-594a-46c2-b9f7-1b0d355ce54c");//28>BMI>25 + healthy.add("5a40c6c5422b03d4ad2bf7bd");//BMI<18.5 + if (patients.getRiskFactorId().size() - this.getSame(healthy, patients.getRiskFactorId()).size() >= 2) { Map map = new HashMap(); map.put("tipsInfo", "您当前情况存在两种及以上高危风险因素,需请您的主管医生结合临床实际情况对报告进行解读,并根据医生解读建议,指导日常营养膳食"); data.put("tips", map); @@ -2274,6 +2282,19 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient return data; } + //获取俩个list相同数据 + public List getSame(List list1, List list2) { + List sameList = new ArrayList(); + for (int i = 0; i < list1.size(); i++) { + for (int m = 0; m < list2.size(); m++) { + if (list1.get(i).equals(list2.get(m))) { + sameList.add(list1.get(i)); + } + } + } + return sameList; + } + //获取急性肝炎 /糖尿病的计算规则 public double getAcuteHepatitis(double height, Integer weeks) { if (weeks > 0 && weeks <= 12) {