Commit d94fa8b42ef6043da8f6cc8461717cb8ea59f126

Authored by wangbo
1 parent 1b9718e2b4
Exists in master and in 1 other branch dev

update

Showing 3 changed files with 122 additions and 99 deletions

platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java View file @ d94fa8b
... ... @@ -3535,8 +3535,8 @@
3535 3535  
3536 3536  
3537 3537 // babyNutritionConfig("F:\\儿童营养报告\\婴幼儿体重与营养管理报告内容及规则\\儿童膳食报告文章2.xls");
3538   - // xyPresentation("E:\\血压报告.xls");
3539   - weightReport("E:\\体重营养报告10.xls");
  3538 + xyPresentation("E:\\血压报告.xls");
  3539 + // weightReport("E:\\体重营养报告10.xls");
3540 3540 }
3541 3541  
3542 3542 }
platform-dal/src/main/java/com/lyms/platform/pojo/WeightReportModel.java View file @ d94fa8b
... ... @@ -67,6 +67,8 @@
67 67 private List<String> guideInfo;//营养指南内容
68 68 private String guideTitle;//营养指南标题
69 69  
  70 +
  71 +
70 72 public String getId() {
71 73 return id;
72 74 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java View file @ d94fa8b
... ... @@ -2036,15 +2036,6 @@
2036 2036 if (risk.contains("eb146c03-b19f-4e28-b85f-fda574b2283b") || risk.contains("224b2329-cb82-4da3-a071-8527f8283aab")) {
2037 2037 return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.DEPT_NOT_EXISTS).setErrormsg("警告").setData("该风险已超过管控范围,请咨询医生进行咨询");
2038 2038 } else {
2039   - Map<String, Object> data0 = new HashMap<>();
2040   - Map<String, Object> data1 = new HashMap<>();
2041   - Map<String, Object> data2 = new HashMap<>();
2042   - Map<String, Object> data3 = new HashMap<>();
2043   - Map<String, Object> data4 = new HashMap<>();
2044   - Map<String, Object> data5 = new HashMap<>();
2045   - Map<String, Object> data6 = new HashMap<>();
2046   - List<String> reiskFactor = patients.getRiskFactorId();
2047   - List<WeightReportModel> weightReport = mongoTemplate.findAll(WeightReportModel.class);
2048 2039 //获取视图
2049 2040 Map<String, String> dayWeights = patientWeight.getDayWeights();
2050 2041 Map<Integer, String> weights = new LinkedHashMap<>();
2051 2042  
2052 2043  
2053 2044  
2054 2045  
... ... @@ -2054,94 +2045,107 @@
2054 2045 weights.put(DateUtil.getWeek2(patients.getLastMenses(), DateUtil.parseYMD(entry.getKey())), entry.getValue());
2055 2046 }
2056 2047 }
2057   - for (WeightReportModel weightReportModel : weightReport) {
  2048 + Map<String, Object> data0 = new HashMap<>();
  2049 + Map<String, Object> data1 = new HashMap<>();
  2050 + Map<String, Object> data2 = new HashMap<>();
  2051 + Map<String, Object> data3 = new HashMap<>();
  2052 + Map<String, Object> data4 = new HashMap<>();
  2053 + Map<String, Object> data5 = new HashMap<>();
  2054 + Map<String, Object> data6 = new HashMap<>();
  2055 + List<String> reiskFactor = patients.getRiskFactorId();
  2056 + List<WeightReportModel> weightReport = mongoTemplate.findAll(WeightReportModel.class);
  2057 + if (reiskFactor.isEmpty() && weightReport.isEmpty()) {
  2058 + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("对象值为空!").setData("");
  2059 + } else {
2058 2060 for (String reis : reiskFactor) {
2059   - if (reis.equals(weightReportModel.getgDMId()) || reis.equals(weightReportModel.getoDIPId()) ||
2060   - reis.equals(weightReportModel.getMedicationDiabetesID())) {
2061   - //糖尿病diabetes
2062   - Set set = new HashSet();
2063   - if (null != weightReportModel.getgDMId()) {
2064   - set.add(weightReportModel.getgDMName());
2065   - } else if (null != weightReportModel.getMedicationDiabetesID()) {
2066   - set.add(weightReportModel.getoDIPName());
  2061 + for (WeightReportModel weightReportModel : weightReport) {
  2062 + if (reis.equals(weightReportModel.getgDMId()) || reis.equals(weightReportModel.getoDIPId()) ||
  2063 + reis.equals(weightReportModel.getMedicationDiabetesID())) {
  2064 + //糖尿病diabetes
  2065 + Set set = new HashSet();
  2066 + if (null != weightReportModel.getgDMId()) {
  2067 + set.add(weightReportModel.getgDMName());
  2068 + } else if (null != weightReportModel.getMedicationDiabetesID()) {
  2069 + set.add(weightReportModel.getoDIPName());
  2070 + }
  2071 + datas.put("1", this.getDiabetestInfo(weights, data3, weightReportModel, patientWeight, patients, bmiD, week, diabetesKcalStr, set));
  2072 + } else if (reis.equals(weightReportModel.getGestationalHypertensionGHID()) || reis.equals(weightReportModel.getChronicHypertensionID())) {
  2073 + Set set = new HashSet();
  2074 + if (null != weightReportModel.getGestationalHypertensionGHID()) {
  2075 + set.add(weightReportModel.getGestationalHypertensionGHName());
  2076 + } else if (null != weightReportModel.getChronicHypertensionID()) {
  2077 + set.add(weightReportModel.getChronicHypertensionName());
  2078 + }
  2079 + //高血压hypertension
  2080 + datas.put("3", this.getInfo(weights, data2, weightReportModel, patientWeight, patients, bmiD, week, gxyKcalStr, set));
  2081 + } else if (reis.equals(weightReportModel.getHyperthyroidismNeedID()) || reis.equals(weightReportModel.getHyperthyroidismID())) {
  2082 + //甲亢hyperthyroidism
  2083 + Set set = new HashSet();
  2084 + if (null != weightReportModel.getHyperthyroidismNeedID()) {
  2085 + set.add(weightReportModel.getHyperthyroidismName());
  2086 + } else if (null != weightReportModel.getHyperthyroidismID()) {
  2087 + set.add(weightReportModel.getHyperthyroidismName());
  2088 + }
  2089 + datas.put("4", this.getDiabetestInfo(weights, data4, weightReportModel, patientWeight, patients, bmiD, week, gkKcalStr, set));
  2090 + } else if (reis.equals(weightReportModel.getHypothyroidismID()) || reis.equals(weightReportModel.getyLCHypothyroidismID()) ||
  2091 + reis.equals(weightReportModel.getHypothyroidismNeedID())) {
  2092 + //甲减hypothyroidism
  2093 + Set set = new HashSet();
  2094 + if (null != weightReportModel.getHypothyroidismID()) {
  2095 + set.add(weightReportModel.getHypothyroidismName());
  2096 + } else if (null != weightReportModel.getyLCHypothyroidismID()) {
  2097 + set.add(weightReportModel.getyLCHypothyroidismName());
  2098 + } else if (null != weightReportModel.getHypothyroidismNeedID()) {
  2099 + set.add(weightReportModel.getHypothyroidismNeedName());
  2100 + }
  2101 + datas.put("5", this.getDiabetestInfo(weights, data5, weightReportModel, patientWeight, patients, bmiD, week, gjKcalStr, set));
  2102 + } else if (reis.equals(weightReportModel.getAnemiaPregnancyId()) || reis.equals(weightReportModel.getMildAnemiaID()) ||
  2103 + reis.equals(weightReportModel.getModerateAnemiaID()) || reis.equals(weightReportModel.getSevereAnemiaID()) ||
  2104 + reis.equals(weightReportModel.getSevereAnemiaHBID()) || reis.equals(weightReportModel.getObstructiveAnemiaID())) {
  2105 + Set set = new HashSet();
  2106 + if (null != weightReportModel.getAnemiaPregnancyId()) {
  2107 + set.add(weightReportModel.getAnemiaPregnancyName());
  2108 + } else if (null != weightReportModel.getMildAnemiaID()) {
  2109 + set.add(weightReportModel.getMildAnemiaName());
  2110 + } else if (null != weightReportModel.getModerateAnemiaID()) {
  2111 + set.add(weightReportModel.getModerateAnemiaName());
  2112 + } else if (null != weightReportModel.getSevereAnemiaID()) {
  2113 + set.add(weightReportModel.getSevereAnemiaName());
  2114 + } else if (null != weightReportModel.getSevereAnemiaHBID()) {
  2115 + set.add(weightReportModel.getSevereAnemiaHBName());
  2116 + } else if (null != weightReportModel.getObstructiveAnemiaID()) {
  2117 + set.add(weightReportModel.getObstructiveAnemiaName());
  2118 + }
  2119 + //贫血anemia
  2120 + datas.put("6", this.getInfo(weights, data0, weightReportModel, patientWeight, patients, bmiD, week, gjKcalStr, set));
  2121 + } else if (reis.equals(weightReportModel.getDiseasesDigestiveSystemId()) || reis.equals(weightReportModel.getViralHepatitisId())) {
  2122 + Set set = new HashSet();
  2123 + if (null != weightReportModel.getDiseasesDigestiveSystemId()) {
  2124 + set.add(weightReportModel.getDiseasesDigestiveSystemName());
  2125 + } else if (null != weightReportModel.getViralHepatitisId()) {
  2126 + set.add(weightReportModel.getViralHepatitisName());
  2127 + }
  2128 + //急性肝炎acuteHepatitis
  2129 + datas.put("7", this.getInfo(weights, data1, weightReportModel, patientWeight, patients, bmiD, week, kcals, set));
  2130 + } else if (reis.equals(weightReportModel.getCirrhosis()) || reis.equals(weightReportModel.getLiverFunctionErrorId())) {
  2131 + //慢性肝炎chronicHepatitis
  2132 + Set set = new HashSet();
  2133 + if (null != weightReportModel.getCirrhosis()) {
  2134 + set.add(weightReportModel.getCirrhosisName());
  2135 + } else if (null != weightReportModel.getLiverFunctionErrorId()) {
  2136 + set.add(weightReportModel.getLiverFunctionErrorName());
  2137 + }
  2138 + datas.put("8", this.getInfo(weights, data6, weightReportModel, patientWeight, patients, bmiD, week, mxgyKcalStr, set));
2067 2139 }
2068   - datas.put("1", this.getDiabetestInfo(weights, data3, weightReportModel, patientWeight, patients, bmiD, week, diabetesKcalStr, set));
2069   - } else if (reis.equals(weightReportModel.getGestationalHypertensionGHID()) || reis.equals(weightReportModel.getChronicHypertensionID())) {
2070   - Set set = new HashSet();
2071   - if (null != weightReportModel.getGestationalHypertensionGHID()) {
2072   - set.add(weightReportModel.getGestationalHypertensionGHName());
2073   - } else if (null != weightReportModel.getChronicHypertensionID()) {
2074   - set.add(weightReportModel.getChronicHypertensionName());
2075   - }
2076   - //高血压hypertension
2077   - datas.put("3", this.getInfo(weights, data2, weightReportModel, patientWeight, patients, bmiD, week, gxyKcalStr, set));
2078   - } else if (reis.equals(weightReportModel.getHyperthyroidismNeedID()) || reis.equals(weightReportModel.getHyperthyroidismID())) {
2079   - //甲亢hyperthyroidism
2080   - Set set = new HashSet();
2081   - if (null != weightReportModel.getHyperthyroidismNeedID()) {
2082   - set.add(weightReportModel.getHyperthyroidismName());
2083   - } else if (null != weightReportModel.getHyperthyroidismID()) {
2084   - set.add(weightReportModel.getHyperthyroidismName());
2085   - }
2086   - datas.put("4", this.getDiabetestInfo(weights, data4, weightReportModel, patientWeight, patients, bmiD, week, gkKcalStr, set));
2087   - } else if (reis.equals(weightReportModel.getHypothyroidismID()) || reis.equals(weightReportModel.getyLCHypothyroidismID()) ||
2088   - reis.equals(weightReportModel.getHypothyroidismNeedID())) {
2089   - //甲减hypothyroidism
2090   - Set set = new HashSet();
2091   - if (null != weightReportModel.getHypothyroidismID()) {
2092   - set.add(weightReportModel.getHypothyroidismName());
2093   - } else if (null != weightReportModel.getyLCHypothyroidismID()) {
2094   - set.add(weightReportModel.getyLCHypothyroidismName());
2095   - } else if (null != weightReportModel.getHypothyroidismNeedID()) {
2096   - set.add(weightReportModel.getHypothyroidismNeedName());
2097   - }
2098   - datas.put("5", this.getDiabetestInfo(weights, data5, weightReportModel, patientWeight, patients, bmiD, week, gjKcalStr, set));
2099   - } else if (reis.equals(weightReportModel.getAnemiaPregnancyId()) || reis.equals(weightReportModel.getMildAnemiaID()) ||
2100   - reis.equals(weightReportModel.getModerateAnemiaID()) || reis.equals(weightReportModel.getSevereAnemiaID()) ||
2101   - reis.equals(weightReportModel.getSevereAnemiaHBID()) || reis.equals(weightReportModel.getObstructiveAnemiaID())) {
2102   - Set set = new HashSet();
2103   - if (null != weightReportModel.getAnemiaPregnancyId()) {
2104   - set.add(weightReportModel.getAnemiaPregnancyName());
2105   - } else if (null != weightReportModel.getMildAnemiaID()) {
2106   - set.add(weightReportModel.getMildAnemiaName());
2107   - } else if (null != weightReportModel.getModerateAnemiaID()) {
2108   - set.add(weightReportModel.getModerateAnemiaName());
2109   - } else if (null != weightReportModel.getSevereAnemiaID()) {
2110   - set.add(weightReportModel.getSevereAnemiaName());
2111   - } else if (null != weightReportModel.getSevereAnemiaHBID()) {
2112   - set.add(weightReportModel.getSevereAnemiaHBName());
2113   - } else if (null != weightReportModel.getObstructiveAnemiaID()) {
2114   - set.add(weightReportModel.getObstructiveAnemiaName());
2115   - }
2116   - //贫血anemia
2117   - datas.put("6", this.getInfo(weights, data0, weightReportModel, patientWeight, patients, bmiD, week, gjKcalStr, set));
2118   - } else if (reis.equals(weightReportModel.getDiseasesDigestiveSystemId()) || reis.equals(weightReportModel.getViralHepatitisId())) {
2119   - Set set = new HashSet();
2120   - if (null != weightReportModel.getDiseasesDigestiveSystemId()) {
2121   - set.add(weightReportModel.getDiseasesDigestiveSystemName());
2122   - } else if (null != weightReportModel.getViralHepatitisId()) {
2123   - set.add(weightReportModel.getViralHepatitisName());
2124   - }
2125   - //急性肝炎acuteHepatitis
2126   - datas.put("7", this.getInfo(weights, data1, weightReportModel, patientWeight, patients, bmiD, week, kcals, set));
2127   - } else if (reis.equals(weightReportModel.getCirrhosis()) || reis.equals(weightReportModel.getLiverFunctionErrorId())) {
2128   - //慢性肝炎chronicHepatitis
2129   - Set set = new HashSet();
2130   - if (null != weightReportModel.getCirrhosis()) {
2131   - set.add(weightReportModel.getCirrhosisName());
2132   - } else if (null != weightReportModel.getLiverFunctionErrorId()) {
2133   - set.add(weightReportModel.getLiverFunctionErrorName());
2134   - }
2135   - datas.put("8", this.getInfo(weights, data6, weightReportModel, patientWeight, patients, bmiD, week, mxgyKcalStr, set));
2136 2140 }
2137 2141 }
2138 2142 }
2139   -
2140 2143 }
2141 2144 if (datas.size() == 0) {
2142 2145 BaseResponse baseResponse = this.report(pid, userId, rid);
2143 2146 return baseResponse;
2144 2147 }
  2148 + //同时出现高血压和肝硬化或肝功能不全则按照肝硬化或肝功能不全
2145 2149 if (datas.containsKey("3") && datas.containsKey("8")) {
2146 2150 datas.put("2", datas.get("8"));
2147 2151 }
... ... @@ -2160,7 +2164,6 @@
2160 2164 return obj;
2161 2165 }
2162 2166  
2163   -
2164 2167 public Map getInfo(Map<Integer, String> weights, Map<String, Object> data, WeightReportModel weightReportModel, PatientWeight patientWeight, Patients patients, double bmi, int week, String kcal, Set set) {
2165 2168 setReport(data, weights, patientWeight.getBeforeWeight(), patientWeight.getBmi(), patientWeight.getDayWeights(), patientWeight.getBregmatic());
2166 2169 Map userMap = new HashMap();
2167 2170  
2168 2171  
2169 2172  
2170 2173  
... ... @@ -2203,22 +2206,23 @@
2203 2206 map1.put("dinnerAdd", weightReportModel.getDinnerAdd());
2204 2207 map1.put("northSouth", weightReportModel.getNorthSouth());
2205 2208 if (week >= 0 && week <= 12) {
2206   - map1.put("proposal", "建议(孕早期)");
2207 2209 map1.put("proposalInfo", weightReportModel.getEarlySuggests());
2208 2210 } else if (week >= 13 && week <= 28) {
2209   - map1.put("proposal", "建议(孕中期)");
2210 2211 map1.put("proposalInfo", weightReportModel.getMiddleSuggests());
2211 2212 } else if (week >= 29 && week <= 40) {
2212   - map1.put("proposal", "建议(孕晚期)");
2213 2213 map1.put("proposalInfo", weightReportModel.getLaterSuggests());
2214 2214 }
2215 2215 data.put("recipes", map1);
2216   - if (patients.getRiskFactorId().size() >= 2) {
2217   - Map map = new HashMap();
2218   - map.put("tipsInfo", "您当前情况存在两种及以上高危风险因素,需请您的主管医生结合临床实际情况对报告进行解读,并根据医生解读建议,指导日常营养膳食");
2219   - data.put("tips", map);
2220   - }
2221 2216 }
  2217 + List<String> healthy = new ArrayList();
  2218 + healthy.add("d42eec03-aa86-45b8-a4e0-78a0ff365fb6");//健康id//
  2219 + healthy.add("a427da89-594a-46c2-b9f7-1b0d355ce54c");//28>BMI>25
  2220 + healthy.add("5a40c6c5422b03d4ad2bf7bd");//BMI<18.5
  2221 + if (patients.getRiskFactorId().size() - this.getSame(healthy, patients.getRiskFactorId()).size() >= 2) {
  2222 + Map map = new HashMap();
  2223 + map.put("tipsInfo", "您当前情况存在两种及以上高危风险因素,需请您的主管医生结合临床实际情况对报告进行解读,并根据医生解读建议,指导日常营养膳食");
  2224 + data.put("tips", map);
  2225 + }
2222 2226 return data;
2223 2227 }
2224 2228  
2225 2229  
... ... @@ -2266,12 +2270,29 @@
2266 2270 map1.put("proposalInfo", weightReportModel.getEarlySuggests());
2267 2271 data.put("recipes", map1);
2268 2272 }
2269   - if (patients.getRiskFactorId().size() >= 2) {
  2273 + List<String> healthy = new ArrayList();
  2274 + healthy.add("d42eec03-aa86-45b8-a4e0-78a0ff365fb6");//健康id//
  2275 + healthy.add("a427da89-594a-46c2-b9f7-1b0d355ce54c");//28>BMI>25
  2276 + healthy.add("5a40c6c5422b03d4ad2bf7bd");//BMI<18.5
  2277 + if (patients.getRiskFactorId().size() - this.getSame(healthy, patients.getRiskFactorId()).size() >= 2) {
2270 2278 Map map = new HashMap();
2271 2279 map.put("tipsInfo", "您当前情况存在两种及以上高危风险因素,需请您的主管医生结合临床实际情况对报告进行解读,并根据医生解读建议,指导日常营养膳食");
2272 2280 data.put("tips", map);
2273 2281 }
2274 2282 return data;
  2283 + }
  2284 +
  2285 + //获取俩个list相同数据
  2286 + public List getSame(List list1, List list2) {
  2287 + List sameList = new ArrayList();
  2288 + for (int i = 0; i < list1.size(); i++) {
  2289 + for (int m = 0; m < list2.size(); m++) {
  2290 + if (list1.get(i).equals(list2.get(m))) {
  2291 + sameList.add(list1.get(i));
  2292 + }
  2293 + }
  2294 + }
  2295 + return sameList;
2275 2296 }
2276 2297  
2277 2298 //获取急性肝炎 /糖尿病的计算规则