Commit 9874c47c59e7c06d0f301d1c956b197900f576f0
1 parent
534afd45b5
Exists in
master
and in
6 other branches
体重管理
Showing 5 changed files with 262 additions and 148 deletions
- platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java
- platform-dal/src/main/java/com/lyms/platform/pojo/WeightConfigModel.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientWeightController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/PatientWeightService.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java
View file @
9874c47
| ... | ... | @@ -798,6 +798,8 @@ |
| 798 | 798 | MongoTemplate mongoTemplate |
| 799 | 799 | = (MongoTemplate) applicationContext.getBean("mongoTemplate"); |
| 800 | 800 | mongoTemplate.getDb().authenticate("platform", "platform123".toCharArray()); |
| 801 | + | |
| 802 | + | |
| 801 | 803 | File file = new File(fileName); |
| 802 | 804 | Workbook wb = null; |
| 803 | 805 | try { |
| ... | ... | @@ -860,7 +862,7 @@ |
| 860 | 862 | if(rows > 0){ |
| 861 | 863 | //遍历每行 |
| 862 | 864 | for(int i = 1 ;i < rows ; i++){ |
| 863 | - | |
| 865 | + System.out.println("rows="+i); | |
| 864 | 866 | WeightConfigModel model = new WeightConfigModel(); |
| 865 | 867 | |
| 866 | 868 | Cell[] cells = s.getRow(i); |
| 867 | 869 | |
| 868 | 870 | |
| 869 | 871 | |
| 870 | 872 | |
| 871 | 873 | |
| 872 | 874 | |
| 873 | 875 | |
| 874 | 876 | |
| 875 | 877 | |
| 876 | 878 | |
| ... | ... | @@ -869,41 +871,48 @@ |
| 869 | 871 | for (int j = 0 ; j < cells.length ; j ++) |
| 870 | 872 | { |
| 871 | 873 | String str = cells[j].getContents().trim(); |
| 874 | + if (!com.lyms.platform.common.utils.StringUtils.isNotEmpty(str)) | |
| 875 | + { | |
| 876 | + continue; | |
| 877 | + } | |
| 872 | 878 | switch (j) |
| 873 | 879 | { |
| 874 | 880 | case 0: |
| 875 | 881 | model.setKcal(Double.parseDouble(str)); |
| 876 | 882 | continue; |
| 877 | 883 | case 1: |
| 878 | - String[] arr = str.split("-"); | |
| 879 | - model.setKcalStart(Double.parseDouble(arr[0])); | |
| 880 | - model.setKcalEnd(Double.parseDouble(arr[1])); | |
| 884 | + model.setBreakfast(str); | |
| 881 | 885 | continue; |
| 882 | 886 | case 2: |
| 883 | - model.setBreakfast(str); | |
| 887 | + model.setBreakfastAdd(str); | |
| 884 | 888 | continue; |
| 885 | 889 | case 3: |
| 886 | - model.setBreakfastAdd(str); | |
| 890 | + model.setLunch(str); | |
| 887 | 891 | continue; |
| 888 | 892 | case 4: |
| 889 | - model.setLunch(str); | |
| 893 | + model.setLunchAdd(str); | |
| 890 | 894 | continue; |
| 891 | 895 | case 5: |
| 892 | - model.setLunchAdd(str); | |
| 896 | + model.setDinner(str); | |
| 893 | 897 | continue; |
| 894 | 898 | case 6: |
| 895 | - model.setDinner(str); | |
| 899 | + model.setDinnerAdd(str); | |
| 896 | 900 | continue; |
| 897 | 901 | case 7: |
| 898 | - model.setDinnerAdd(str); | |
| 902 | + model.setNorthSouth(str); | |
| 899 | 903 | continue; |
| 900 | 904 | case 8: |
| 901 | - model.setNorthSouth(str); | |
| 905 | + List<String> list1 = Arrays.asList(str.split("\n")); | |
| 906 | + model.setEarlySuggests(list1); | |
| 902 | 907 | continue; |
| 903 | 908 | case 9: |
| 904 | - List<String> list1 = Arrays.asList(str.split("\n")); | |
| 905 | - model.setSuggests(list1); | |
| 909 | + List<String> list2 = Arrays.asList(str.split("\n")); | |
| 910 | + model.setMiddleSuggests(list2); | |
| 906 | 911 | continue; |
| 912 | + case 10: | |
| 913 | + List<String> list3 = Arrays.asList(str.split("\n")); | |
| 914 | + model.setLaterSuggests(list3); | |
| 915 | + continue; | |
| 907 | 916 | } |
| 908 | 917 | } |
| 909 | 918 | |
| 910 | 919 | |
| 911 | 920 | |
| 912 | 921 | |
| 913 | 922 | |
| 914 | 923 | |
| ... | ... | @@ -944,33 +953,35 @@ |
| 944 | 953 | { |
| 945 | 954 | |
| 946 | 955 | String str = cells[j].getContents().trim(); |
| 956 | + if (!com.lyms.platform.common.utils.StringUtils.isNotEmpty(str)) | |
| 957 | + { | |
| 958 | + continue; | |
| 959 | + } | |
| 947 | 960 | switch (j) |
| 948 | 961 | { |
| 949 | 962 | case 0: |
| 950 | 963 | cookbook.setKcal(Double.parseDouble(str)); |
| 951 | 964 | continue; |
| 952 | 965 | case 1: |
| 953 | - String[] arr = str.split("-"); | |
| 954 | - cookbook.setKcalStart(Double.parseDouble(arr[0])); | |
| 955 | - cookbook.setKcalEnd(Double.parseDouble(arr[1])); | |
| 956 | - continue; | |
| 957 | - case 2: | |
| 958 | 966 | cookbook.setVegetable(str); |
| 959 | 967 | continue; |
| 960 | - case 3: | |
| 968 | + case 2: | |
| 961 | 969 | cookbook.setFoodMaterial(str); |
| 962 | 970 | continue; |
| 963 | - case 4: | |
| 971 | + case 3: | |
| 964 | 972 | List<String> list1 = Arrays.asList(str.split("\n")); |
| 965 | 973 | cookbook.setMakeMethod(list1); |
| 966 | 974 | continue; |
| 975 | + case 4: | |
| 976 | + cookbook.setNorthSouth(str); | |
| 977 | + continue; | |
| 967 | 978 | } |
| 968 | 979 | |
| 969 | 980 | |
| 970 | 981 | } |
| 971 | 982 | |
| 972 | 983 | WeightConfigModel weightConfigModel = |
| 973 | - mongoTemplate.findOne(Query.query(Criteria.where("kcal").is(cookbook.getKcal())), | |
| 984 | + mongoTemplate.findOne(Query.query(Criteria.where("kcal").is(cookbook.getKcal()).and("northSouth").is(cookbook.getNorthSouth())), | |
| 974 | 985 | WeightConfigModel.class); |
| 975 | 986 | |
| 976 | 987 | List<WeightConfigModel.Cookbook> cookbooks = weightConfigModel.getCookbooks(); |
| ... | ... | @@ -1001,9 +1012,9 @@ |
| 1001 | 1012 | |
| 1002 | 1013 | |
| 1003 | 1014 | public static void main(String[] args) { |
| 1004 | - weightWeek("F:\\体重与营养管理\\第三版体重配置模板.xls"); | |
| 1005 | - weightMange("F:\\体重与营养管理\\第三版体重配置模板.xls"); | |
| 1006 | - weightFood("F:\\体重与营养管理\\第三版体重配置模板.xls"); | |
| 1015 | + weightWeek("F:\\体重与营养管理\\体重与营养管理第三版(北方).xls"); | |
| 1016 | + weightMange("F:\\体重与营养管理\\体重与营养管理第三版(北方).xls"); | |
| 1017 | + weightFood("F:\\体重与营养管理\\体重与营养管理第三版(北方).xls"); | |
| 1007 | 1018 | } |
| 1008 | 1019 | |
| 1009 | 1020 | public static void addBaby(ApplicationContext applicationContext) { |
platform-dal/src/main/java/com/lyms/platform/pojo/WeightConfigModel.java
View file @
9874c47
| ... | ... | @@ -13,9 +13,6 @@ |
| 13 | 13 | private String id; |
| 14 | 14 | private String week;//孕周 |
| 15 | 15 | private Double kcal; //整值卡路里 |
| 16 | - private Double kcalStart; //整值卡路里区间值 | |
| 17 | - private Double kcalEnd; //整值卡路里区间值 | |
| 18 | - | |
| 19 | 16 | private String weekContent;//当前孕周的营养指南 |
| 20 | 17 | |
| 21 | 18 | private String breakfast;//早餐 |
| ... | ... | @@ -29,7 +26,9 @@ |
| 29 | 26 | private List<Cookbook> cookbooks; |
| 30 | 27 | |
| 31 | 28 | private String northSouth;//南北 |
| 32 | - private List<String> suggests;//建议 | |
| 29 | + private List<String> earlySuggests;//早期建议 | |
| 30 | + private List<String> middleSuggests;//中期建议 | |
| 31 | + private List<String> laterSuggests;//晚期建议 | |
| 33 | 32 | |
| 34 | 33 | public String getId() { |
| 35 | 34 | return id; |
| 36 | 35 | |
| 37 | 36 | |
| ... | ... | @@ -55,22 +54,8 @@ |
| 55 | 54 | this.kcal = kcal; |
| 56 | 55 | } |
| 57 | 56 | |
| 58 | - public Double getKcalStart() { | |
| 59 | - return kcalStart; | |
| 60 | - } | |
| 61 | 57 | |
| 62 | - public void setKcalStart(Double kcalStart) { | |
| 63 | - this.kcalStart = kcalStart; | |
| 64 | - } | |
| 65 | 58 | |
| 66 | - public Double getKcalEnd() { | |
| 67 | - return kcalEnd; | |
| 68 | - } | |
| 69 | - | |
| 70 | - public void setKcalEnd(Double kcalEnd) { | |
| 71 | - this.kcalEnd = kcalEnd; | |
| 72 | - } | |
| 73 | - | |
| 74 | 59 | public String getWeekContent() { |
| 75 | 60 | return weekContent; |
| 76 | 61 | } |
| 77 | 62 | |
| 78 | 63 | |
| 79 | 64 | |
| ... | ... | @@ -143,22 +128,36 @@ |
| 143 | 128 | this.northSouth = northSouth; |
| 144 | 129 | } |
| 145 | 130 | |
| 146 | - public List<String> getSuggests() { | |
| 147 | - return suggests; | |
| 131 | + public List<String> getEarlySuggests() { | |
| 132 | + return earlySuggests; | |
| 148 | 133 | } |
| 149 | 134 | |
| 150 | - public void setSuggests(List<String> suggests) { | |
| 151 | - this.suggests = suggests; | |
| 135 | + public void setEarlySuggests(List<String> earlySuggests) { | |
| 136 | + this.earlySuggests = earlySuggests; | |
| 152 | 137 | } |
| 153 | 138 | |
| 139 | + public List<String> getMiddleSuggests() { | |
| 140 | + return middleSuggests; | |
| 141 | + } | |
| 142 | + | |
| 143 | + public void setMiddleSuggests(List<String> middleSuggests) { | |
| 144 | + this.middleSuggests = middleSuggests; | |
| 145 | + } | |
| 146 | + | |
| 147 | + public List<String> getLaterSuggests() { | |
| 148 | + return laterSuggests; | |
| 149 | + } | |
| 150 | + | |
| 151 | + public void setLaterSuggests(List<String> laterSuggests) { | |
| 152 | + this.laterSuggests = laterSuggests; | |
| 153 | + } | |
| 154 | + | |
| 154 | 155 | @Override |
| 155 | 156 | public String toString() { |
| 156 | 157 | return "WeightManageConfigModel{" + |
| 157 | 158 | "id='" + id + '\'' + |
| 158 | 159 | ", week='" + week + '\'' + |
| 159 | 160 | ", kcal=" + kcal + |
| 160 | - ", kcalStart=" + kcalStart + | |
| 161 | - ", kcalEnd=" + kcalEnd + | |
| 162 | 161 | ", weekContent='" + weekContent + '\'' + |
| 163 | 162 | ", breakfast='" + breakfast + '\'' + |
| 164 | 163 | ", breakfastAdd='" + breakfastAdd + '\'' + |
| ... | ... | @@ -168,7 +167,6 @@ |
| 168 | 167 | ", dinnerAdd='" + dinnerAdd + '\'' + |
| 169 | 168 | ", cookbooks=" + cookbooks + |
| 170 | 169 | ", northSouth='" + northSouth + '\'' + |
| 171 | - ", suggests=" + suggests + | |
| 172 | 170 | '}'; |
| 173 | 171 | } |
| 174 | 172 | |
| 175 | 173 | |
| 176 | 174 | |
| ... | ... | @@ -177,31 +175,21 @@ |
| 177 | 175 | private String foodMaterial; //食材 |
| 178 | 176 | private List<String> makeMethod;//制作方法 |
| 179 | 177 | private Double kcal; //整值卡路里 |
| 180 | - private Double kcalStart; //整值卡路里区间值 | |
| 181 | - private Double kcalEnd; //整值卡路里区间值 | |
| 178 | + private String northSouth;//南北 | |
| 179 | + public String getNorthSouth() { | |
| 180 | + return northSouth; | |
| 181 | + } | |
| 182 | 182 | |
| 183 | + public void setNorthSouth(String northSouth) { | |
| 184 | + this.northSouth = northSouth; | |
| 185 | + } | |
| 186 | + | |
| 183 | 187 | public Double getKcal() { |
| 184 | 188 | return kcal; |
| 185 | 189 | } |
| 186 | 190 | |
| 187 | 191 | public void setKcal(Double kcal) { |
| 188 | 192 | this.kcal = kcal; |
| 189 | - } | |
| 190 | - | |
| 191 | - public Double getKcalStart() { | |
| 192 | - return kcalStart; | |
| 193 | - } | |
| 194 | - | |
| 195 | - public void setKcalStart(Double kcalStart) { | |
| 196 | - this.kcalStart = kcalStart; | |
| 197 | - } | |
| 198 | - | |
| 199 | - public Double getKcalEnd() { | |
| 200 | - return kcalEnd; | |
| 201 | - } | |
| 202 | - | |
| 203 | - public void setKcalEnd(Double kcalEnd) { | |
| 204 | - this.kcalEnd = kcalEnd; | |
| 205 | 193 | } |
| 206 | 194 | |
| 207 | 195 | public String getVegetable() { |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientWeightController.java
View file @
9874c47
| ... | ... | @@ -85,8 +85,9 @@ |
| 85 | 85 | */ |
| 86 | 86 | @ResponseBody |
| 87 | 87 | @RequestMapping(value = "report/{id}", method = RequestMethod.GET) |
| 88 | - public BaseResponse report(@PathVariable String id) { | |
| 89 | - return patientWeightService.report(id); | |
| 88 | + @TokenRequired | |
| 89 | + public BaseResponse report(@PathVariable String id,HttpServletRequest request) { | |
| 90 | + return patientWeightService.report(id,getUserId(request)); | |
| 90 | 91 | } |
| 91 | 92 | |
| 92 | 93 | /** |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/PatientWeightService.java
View file @
9874c47
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java
View file @
9874c47
| 1 | 1 | package com.lyms.platform.operate.web.service.impl; |
| 2 | 2 | |
| 3 | +import com.lyms.platform.biz.service.BasicConfigService; | |
| 3 | 4 | import com.lyms.platform.biz.service.DoctorUserMapService; |
| 4 | 5 | import com.lyms.platform.biz.service.PatientWeightService2; |
| 5 | 6 | import com.lyms.platform.biz.service.PatientsService; |
| ... | ... | @@ -12,6 +13,7 @@ |
| 12 | 13 | import com.lyms.platform.common.result.ResponseCode; |
| 13 | 14 | import com.lyms.platform.common.utils.*; |
| 14 | 15 | import com.lyms.platform.operate.web.facade.AutoMatchFacade; |
| 16 | +import com.lyms.platform.operate.web.facade.BasicConfigFacade; | |
| 15 | 17 | import com.lyms.platform.operate.web.facade.OperateLogFacade; |
| 16 | 18 | import com.lyms.platform.operate.web.facade.OrganizationGroupsFacade; |
| 17 | 19 | import com.lyms.platform.operate.web.service.PatientWeightService; |
| ... | ... | @@ -19,10 +21,10 @@ |
| 19 | 21 | import com.lyms.platform.operate.web.utils.MathUtil; |
| 20 | 22 | import com.lyms.platform.operate.web.utils.MongoUtil; |
| 21 | 23 | import com.lyms.platform.permission.dao.master.CouponMapper; |
| 22 | -import com.lyms.platform.pojo.DoctorUserMap; | |
| 23 | -import com.lyms.platform.pojo.PatientWeight; | |
| 24 | -import com.lyms.platform.pojo.Patients; | |
| 25 | -import com.lyms.platform.pojo.WeightManageConfigModel; | |
| 24 | +import com.lyms.platform.permission.model.Organization; | |
| 25 | +import com.lyms.platform.permission.service.OrganizationService; | |
| 26 | +import com.lyms.platform.permission.service.impl.OrganizationServiceImpl; | |
| 27 | +import com.lyms.platform.pojo.*; | |
| 26 | 28 | import net.sf.json.JSONArray; |
| 27 | 29 | import net.sf.json.JSONObject; |
| 28 | 30 | import org.apache.commons.collections.MapUtils; |
| 29 | 31 | |
| ... | ... | @@ -66,8 +68,54 @@ |
| 66 | 68 | private OrganizationGroupsFacade groupsFacade; |
| 67 | 69 | |
| 68 | 70 | @Autowired |
| 71 | + private OrganizationService organizationService; | |
| 72 | + | |
| 73 | + @Autowired | |
| 74 | + private BasicConfigService basicConfigService; | |
| 75 | + | |
| 76 | + @Autowired | |
| 69 | 77 | private DoctorUserMapService doctorUserMapService; |
| 70 | 78 | |
| 79 | + | |
| 80 | + private static Map<String,String> N_S_AREA = new HashMap<>(); | |
| 81 | + static | |
| 82 | + { | |
| 83 | + N_S_AREA.put("江苏省","南方"); | |
| 84 | + N_S_AREA.put("安徽省","南方"); | |
| 85 | + N_S_AREA.put("重庆市","南方"); | |
| 86 | + N_S_AREA.put("四川省","南方"); | |
| 87 | + N_S_AREA.put("西藏自治区","南方"); | |
| 88 | + N_S_AREA.put("云南省","南方"); | |
| 89 | + N_S_AREA.put("贵州省","南方"); | |
| 90 | + N_S_AREA.put("湖南省","南方"); | |
| 91 | + N_S_AREA.put("江西省","南方"); | |
| 92 | + N_S_AREA.put("广西省","南方"); | |
| 93 | + N_S_AREA.put("广东省","南方"); | |
| 94 | + N_S_AREA.put("福建省","南方"); | |
| 95 | + N_S_AREA.put("浙江省","南方"); | |
| 96 | + N_S_AREA.put("上海市","南方"); | |
| 97 | + N_S_AREA.put("海南省","南方"); | |
| 98 | + N_S_AREA.put("台湾省","南方"); | |
| 99 | + N_S_AREA.put("香港特别行政区","南方"); | |
| 100 | + N_S_AREA.put("澳门特别行政区","南方"); | |
| 101 | + | |
| 102 | + N_S_AREA.put("山东省","北方"); | |
| 103 | + N_S_AREA.put("河南省","北方"); | |
| 104 | + N_S_AREA.put("山西省","北方"); | |
| 105 | + N_S_AREA.put("陕西省","北方"); | |
| 106 | + N_S_AREA.put("甘肃省","北方"); | |
| 107 | + N_S_AREA.put("青海省","北方"); | |
| 108 | + N_S_AREA.put("新疆维吾尔自治区","北方"); | |
| 109 | + N_S_AREA.put("河北省","北方"); | |
| 110 | + N_S_AREA.put("北京市","北方"); | |
| 111 | + N_S_AREA.put("内蒙古自治区","北方"); | |
| 112 | + N_S_AREA.put("辽宁省","北方"); | |
| 113 | + N_S_AREA.put("吉林省","北方"); | |
| 114 | + N_S_AREA.put("黑龙江省","北方"); | |
| 115 | + N_S_AREA.put("宁夏回族自治区","北方"); | |
| 116 | + } | |
| 117 | + | |
| 118 | + | |
| 71 | 119 | /** |
| 72 | 120 | * 最低:0~13 : 0~1.9 13~40 1.9~11.9 |
| 73 | 121 | * 最高: 0~2.2 2.2~15.9 |
| ... | ... | @@ -368,7 +416,13 @@ |
| 368 | 416 | } |
| 369 | 417 | |
| 370 | 418 | @Override |
| 371 | - public BaseResponse report(String id) { | |
| 419 | + public BaseResponse report(String id,Integer userId) { | |
| 420 | + String hospitalId = autoMatchFacade.getHospitalId(userId); | |
| 421 | + Organization org = organizationService.getOrganization(Integer.parseInt(hospitalId)); | |
| 422 | + | |
| 423 | + | |
| 424 | + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(org.getProvinceId()); | |
| 425 | + | |
| 372 | 426 | PatientWeight patientWeight = mongoTemplate.findById(id, PatientWeight.class); |
| 373 | 427 | if(patientWeight != null) { |
| 374 | 428 | Map<String, Object> map = new LinkedHashMap<>(); |
| ... | ... | @@ -381,15 +435,7 @@ |
| 381 | 435 | map.put("dueDate", DateUtil.getyyyy_MM_dd(patients.getDueDate())); |
| 382 | 436 | map.put("age", DateUtil.getAge(patients.getBirth()) + " 岁"); |
| 383 | 437 | week = DateUtil.getWeek2(patients.getLastMenses(), new Date()); |
| 384 | - String yunqi = ""; | |
| 385 | - String reportTitle = ""; | |
| 386 | - if(week <= 12) { | |
| 387 | - yunqi = "孕早期"; | |
| 388 | - } else if(week <= 28) { | |
| 389 | - yunqi = "孕中期"; | |
| 390 | - } else { | |
| 391 | - yunqi = "孕晚期"; | |
| 392 | - } | |
| 438 | + String yunqi = "孕"+String.valueOf(week)+"期"; | |
| 393 | 439 | map.put("yunqi", yunqi); |
| 394 | 440 | } |
| 395 | 441 | map.put("height", patientWeight.getBeforeHeight() == null ? "" : MathUtil.doubleFormat(Double.parseDouble(patientWeight.getBeforeHeight())/100) + " 米"); |
| 396 | 442 | |
| 397 | 443 | |
| 398 | 444 | |
| 399 | 445 | |
| 400 | 446 | |
| 401 | 447 | |
| ... | ... | @@ -403,32 +449,26 @@ |
| 403 | 449 | map.put("pregnancy", pregnancy); |
| 404 | 450 | if(week != null && StringUtils.isNotEmpty(patientWeight.getBmi())) { |
| 405 | 451 | |
| 406 | - setInfo(week, map); // 设置孕期相关营养信息 | |
| 407 | - setGuide(week, map); // 设置指南 | |
| 452 | + //setInfo(week, map); // 设置孕期相关营养信息 | |
| 408 | 453 | if (week > 5 && week < 41) |
| 409 | 454 | { |
| 410 | - String weightType = ""; | |
| 411 | - //体重正常 过轻 过重 是依据孕妇BMI指数来的。 | |
| 412 | - //BMI计算方式:BMI=孕前体重(kg)/【身高(m)×身高(m)】 | |
| 413 | - //对应范围:BMI<18.5对应体重过轻 BMI=18.5-24.9对应正常体重 BMI>25对应体重过重 | |
| 414 | 455 | double bmi = Double.parseDouble(patientWeight.getBmi()); |
| 415 | - if (bmi < 18.5) | |
| 456 | + Map<String,String> kmap = getComputeKul(Double.parseDouble(patientWeight.getBeforeHeight()), | |
| 457 | + Double.parseDouble(patientWeight.getNowWeight()), week, bmi); | |
| 458 | + if (map == null || map.size() == 0) | |
| 416 | 459 | { |
| 417 | - weightType = "过轻"; | |
| 460 | + return null; | |
| 418 | 461 | } |
| 419 | - else if (bmi >= 18.5 && bmi <= 24.9) | |
| 462 | + | |
| 463 | + setGuide(week, map); // 设置指南 | |
| 464 | + | |
| 465 | + WeightConfigModel configModel = getWeightConfigBykcal(kmap,N_S_AREA.get(basicConfig.getName())); | |
| 466 | + if (configModel != null) | |
| 420 | 467 | { |
| 421 | - weightType = "正常"; | |
| 468 | + setRecipe(map, configModel,week,kmap); // 设置食谱 | |
| 469 | + setSuggest(map, configModel,week); // 设置建议 | |
| 470 | + setCookbook(map, configModel); // 设置菜谱 | |
| 422 | 471 | } |
| 423 | - else if (bmi >= 25) | |
| 424 | - { | |
| 425 | - weightType = "过重"; | |
| 426 | - } | |
| 427 | - | |
| 428 | - WeightManageConfigModel configModel = getWeightConfig(String.valueOf(week),weightType); | |
| 429 | - setRecipe(map, configModel); // 设置食谱 | |
| 430 | - setSuggest(map, configModel); // 设置建议 | |
| 431 | - setCookbook(map, configModel); // 设置菜谱 | |
| 432 | 472 | } |
| 433 | 473 | } |
| 434 | 474 | |
| 435 | 475 | |
| ... | ... | @@ -688,37 +728,53 @@ |
| 688 | 728 | } |
| 689 | 729 | |
| 690 | 730 | private void setGuide(Integer week, Map<String, Object> map) { |
| 691 | - if(week <= 12) { | |
| 692 | - Map<String, Object> map1 = setData2("膳食清淡、适口", "避免过咸、过甜和油腻的食物,这样能增加食欲,易于消化,有利于降低怀孕早期的妊娠反应,满足营养的需要。每日盐不超过6克,油不超过20克,可食用植物油,少用动物油。"); | |
| 693 | - Map<String, Object> map2 = setData2("少食多餐", "少食多餐可帮助有妊娠反应的孕妈妈尽可能多的摄入食物。每日可进食5-6餐(分三正餐和三次加餐),选择喜欢吃的食物,避免胃饥饿,不可强制进食,进食的餐次、数量、种类及时间应根据食欲和反应的轻重及时调整。"); | |
| 694 | - Map<String, Object> map3 = setData2("多摄入富含碳水化合物的谷类、薯类和水果", "保证每天至少摄入150克碳水化合物(约合谷类200克),避免因碳水化合物不足,脂肪分解产生酮体而影响胎儿早期大脑发育。"); | |
| 695 | - Map<String, Object> map4 = setData2("多摄入富含叶酸的食物,并补充叶酸", "怀孕早期叶酸缺乏,可增加胎儿发生神经管畸形及早产的危险。动物肝脏、鸡蛋、豆类、绿叶蔬菜、水果及坚果等食物中叶酸含量丰富。", "此外,由于叶酸补充剂比食物中的叶酸能更好的被机体吸收利用,因此,从怀孕前3个月可开始口服叶酸补充剂,每天至少400微克,或者每天饮用强化添加叶酸的孕妇配方奶粉1-2杯,一直服用到怀孕后3个月。"); | |
| 696 | - Map<String, Object> map5 = setData2("戒烟禁酒,远离吸烟环境", "烟草中的尼古丁和烟雾中的氢化物、一氧化碳可能导致胎儿缺氧和营养不良、发育迟缓。酒精可以通过胎盘进入胎儿血液,造成胎儿宫内发育不良、智力低下等。"); | |
| 697 | - Map<String, Object> map6 = setData2("避免刺激性食物", "避免刺激性食物,如:茶、咖啡、可乐及辛辣调味品,否则会使大便干燥,引起便秘和痔疮。"); | |
| 698 | - setData2("戒烟禁酒,远离吸烟环境", "烟草中的尼古丁和烟雾中的氢化物、一氧化碳可能导致胎儿缺氧和营养不良、发育迟缓。酒精可以通过胎盘进入胎儿血液,造成胎儿宫内发育不良、智力低下等。"); | |
| 699 | - setData2("避免刺激性食物", "避免刺激性食物,如:茶、咖啡、可乐及辛辣调味品,否则会使大便干燥,引起便秘和痔疮。"); | |
| 700 | - map.put("guide", Arrays.asList(map1, map2, map3, map4, map5, map6)); | |
| 701 | - map.put("guideTitle", "孕早期营养指南"); | |
| 702 | - } else if(week <= 28) { | |
| 703 | - Map<String, Object> map1 = setData2("适当增加鱼、禽、蛋、瘦肉、海产品的摄入", "从孕中期开始,孕妈妈体重进入快速增长时期,需要更多的能量和优质蛋白质。其中鱼类除了提供优质蛋白质外,还可提供不饱和脂肪酸,这对孕20周后胎儿脑和视网膜功能发育很重要,可以使宝宝的大脑变得更聪明,眼睛更明亮。", "建议从孕中期开始每天要比怀孕前多摄入总计约50-100克的鱼、禽、蛋、瘦肉;鱼类作为动物血食物的首选,每周最好能摄入2-3次,每天还应摄入至少1个鸡蛋。"); | |
| 704 | - Map<String, Object> map2 = setData2("适当增加奶类的摄入", "奶及奶制品,对孕期蛋白质的补充很重要,同时也是钙的良好来源。从孕中期开始,孕妈妈每日至少应摄入250毫升的牛奶或相当量的奶制品,并补充300毫克的钙(或喝500毫升的低脂牛奶),以满足孕妈妈自身和日渐长大的胎儿对钙的需求。", "孕中期每日钙的需求量为1000毫克。除了奶及奶制品,富含钙的食物还有:鱼、海带、虾皮、芝麻酱、豆类及豆制品。但是,豆浆和大豆制品的钙含量远不如牛奶,所以不能代替牛奶补钙。菠菜、苋菜、空心菜等蔬菜含有大量的草酸,可能会影响钙的吸收,在烹煮时宜先焯水后再加工,可去掉部分草酸,增加钙的吸收。"); | |
| 705 | - Map<String, Object> map3 = setData2("常吃含铁丰富的食物", "孕中期每日需要铁25毫克。铁摄入不足,孕妈妈和胎儿都容易发生缺铁性贫血。富含铁的动物性食物有动物血、肝脏、瘦肉等,植物性食物有黑木耳、红枣、黄花菜等。", "同时,要多摄入富含维生素C的新鲜水果和蔬菜,如青菜、韭菜、橙子、猕猴桃等,或补充适量的维生素C制剂,有助于铁的吸收和利用。"); | |
| 706 | - Map<String, Object> map4 = setData2("进行适量的活动,维持体重的适宜增长", "从孕中期开始,孕妈妈的体重增加每周不应超过500克。盲目增加食物摄入量会引起胎儿过度生长,从而出现巨大儿,而孕妈妈本身则易发生妊娠糖尿病。", "应根据自身的体能每天进行不少于30分钟的低强度身体活动,如散步、做体操等。户外活动有助于改善维生素D合成,促进钙吸收,从而促进胎儿骨骼发育和母体的骨骼健康。"); | |
| 707 | - map.put("guide", Arrays.asList(map1, map2, map3, map4)); | |
| 708 | - map.put("guideTitle", "孕中期营养指南"); | |
| 709 | - } else { | |
| 710 | - Map<String, Object> map1 = setData2("适当增加鱼、禽、蛋、瘦肉、海产品的摄入,补充优质蛋白质", "孕晚期是胎儿大脑发育最快的时期,需要大量的蛋白质。要注意的是,单纯追求高蛋白是不可取的,孕期高蛋白饮食会影响食欲,增加胃肠道和肾的负担,并影响其他营养物质的摄入。适当增加豆类蛋白,最好的方法是每日使用豆腐50克。"); | |
| 711 | - Map<String, Object> map2 = setData2("多补充富含钙的食物", "为维持孕晚期胎儿骨骼系统的快速发育和母体的生理代谢,孕妈妈每日钙的摄入量要从孕中期的1000毫克增加为1200毫克。当然,孕妈妈也切勿盲目补钙,如大量加服钙片、维生素D等,不利于胎儿的健康发育。", "同孕中期一样,每日至少要摄入250毫升的牛奶或相当量的奶制品,并补充300毫克的钙(或喝500毫升的低脂牛奶)。"); | |
| 712 | - Map<String, Object> map3 = setData2("多补充含铁、维生素B12丰富的食物", "孕晚期母体除了要为胎儿肝脏储备一定量的铁,自身还需要储备足够的铁,以代偿分娩时失血造成的铁损失,每日需要铁35毫克。建议每周使用2次动物肝脏。", "维生素B12是人体三大造血原料之一,孕晚期如果缺乏,容易导致贫血、疲劳、消化功能障碍等不良后果,不利于孕妈妈的健康和胎儿的发育。富含维生素B12的食物有肉类、肝脏、鱼类、螃蟹、蛋黄等。180克软干奶酪或500毫升牛奶中所含的维生素B12就可以满足人体每日所需。只要不偏食,孕妈妈一般不会缺乏维生素B12。"); | |
| 713 | - Map<String, Object> map4 = setData2("控制盐分和水分的摄入", "可预防妊娠期高血压疾病和严重水肿,食盐量每日不超过5克。"); | |
| 714 | - Map<String, Object> map5 = setData2("少吃能量高的食物", "如甜食、油炸食品、肥肉等,避免过于肥胖。"); | |
| 715 | - Map<String, Object> map6 = setData2("进行适量的活动,维持体重的适宜增长", "避免营养过剩,体重增加每周不应超过500克。"); | |
| 716 | - map.put("guide", Arrays.asList(map1, map2, map3, map4, map5, map6)); | |
| 717 | - map.put("guideTitle", "孕晚期营养指南"); | |
| 718 | - } | |
| 731 | + | |
| 732 | + Map<String, Object> map1 = setData2("各种营养素的均衡摄入", "每日保证糖类、脂肪、蛋白质、维生素、水、无机盐六大营养素的均衡摄入,可根据季节变化以及个人的喜好,选择时令新鲜的食材,每种营养素所对应的食物选择2种。保证规律的饮食,不得挑食、偏食;避免过食,从而引起体重增长过快。"); | |
| 733 | + Map<String, Object> map2 = setData2("每日摄入3次奶及奶制品", "每日保证摄入3杯牛奶,约500ml;经常摄入酸奶、芝士、排骨、鱼虾类以达到钙质的补充。"); | |
| 734 | + Map<String, Object> map3 = setData2("肉类、鱼虾类、蔬菜、水果均衡摄入", "每日保证至少300g蔬菜和200g水果的摄入,可根据自己的喜好选择2-3种时令水果和蔬菜;随着孕期的变化每日100-300g肉类和1-3个鸡蛋的摄入;每周2-3次豆类的摄入(每次20-30g)和2-3次鱼虾类的摄入(每次100-200g),以及1次动物内脏的摄入(每次50-100g)。"); | |
| 735 | + Map<String, Object> map4 = setData2("增加用餐次数", "应采取少食多餐的原则,每日进餐次数由孕前的3次增加至5-6次,每日可在3次正餐中间加2-3次的加餐,每餐时间间隔约2小时左右,每餐8-9分饱即可。"); | |
| 736 | + Map<String, Object> map5 = setData2("保证饮食的清淡", "每日食盐的摄入不得超过5g,烹调时减少酱油、味精、糖等调料的添加;减少油脂的摄入,保证饮食的清淡,少吃或不吃油炸食物、辛辣食物、糕点、饮料、冰淇淋等"); | |
| 737 | + Map<String, Object> map6 = setData2("保证食物的清洁卫生", "保证食物的卫生,新鲜,不吃隔夜、变质的食物,不吃没有熟透的肉类和海鲜,尽量减少外出用餐。"); | |
| 738 | + Map<String, Object> map7 = setData2("远离烟、酒、咖啡因,保证水分的充足", "孕期绝对禁止抽烟、饮酒;减少咖啡因的摄入,每日不得超过300mg,少喝咖啡,不喝浓茶、碳酸饮料等,保证每日2300ml水的摄入"); | |
| 739 | + Map<String, Object> map8 = setData2("规律的生活,适当的运动", "养成规律的睡眠习惯,早睡——11点以前入睡,避免熬夜,早期——7:30-8:00间起床吃早餐,以免晚上失眠;每天根据自己的情况保证20-40分钟的轻度运动,孕早期以散步为宜,中期以游泳、瑜伽为宜,孕晚期以散步、助产运动为宜。"); | |
| 740 | + | |
| 741 | + WeightConfigModel configModel = getWeightConfigByWeek(week); | |
| 742 | + Map<String, Object> map9 = setData2("本周需注意", configModel != null ? configModel.getWeekContent() : ""); | |
| 743 | + map.put("guide", Arrays.asList(map1, map2, map3, map4, map5, map6, map7, map8, map9)); | |
| 744 | + map.put("guideTitle", "孕"+week+"周营养指南"); | |
| 745 | + | |
| 746 | + | |
| 747 | +// if(week <= 12) { | |
| 748 | +// Map<String, Object> map1 = setData2("膳食清淡、适口", "避免过咸、过甜和油腻的食物,这样能增加食欲,易于消化,有利于降低怀孕早期的妊娠反应,满足营养的需要。每日盐不超过6克,油不超过20克,可食用植物油,少用动物油。"); | |
| 749 | +// Map<String, Object> map2 = setData2("少食多餐", "少食多餐可帮助有妊娠反应的孕妈妈尽可能多的摄入食物。每日可进食5-6餐(分三正餐和三次加餐),选择喜欢吃的食物,避免胃饥饿,不可强制进食,进食的餐次、数量、种类及时间应根据食欲和反应的轻重及时调整。"); | |
| 750 | +// Map<String, Object> map3 = setData2("多摄入富含碳水化合物的谷类、薯类和水果", "保证每天至少摄入150克碳水化合物(约合谷类200克),避免因碳水化合物不足,脂肪分解产生酮体而影响胎儿早期大脑发育。"); | |
| 751 | +// Map<String, Object> map4 = setData2("多摄入富含叶酸的食物,并补充叶酸", "怀孕早期叶酸缺乏,可增加胎儿发生神经管畸形及早产的危险。动物肝脏、鸡蛋、豆类、绿叶蔬菜、水果及坚果等食物中叶酸含量丰富。", "此外,由于叶酸补充剂比食物中的叶酸能更好的被机体吸收利用,因此,从怀孕前3个月可开始口服叶酸补充剂,每天至少400微克,或者每天饮用强化添加叶酸的孕妇配方奶粉1-2杯,一直服用到怀孕后3个月。"); | |
| 752 | +// Map<String, Object> map5 = setData2("戒烟禁酒,远离吸烟环境", "烟草中的尼古丁和烟雾中的氢化物、一氧化碳可能导致胎儿缺氧和营养不良、发育迟缓。酒精可以通过胎盘进入胎儿血液,造成胎儿宫内发育不良、智力低下等。"); | |
| 753 | +// Map<String, Object> map6 = setData2("避免刺激性食物", "避免刺激性食物,如:茶、咖啡、可乐及辛辣调味品,否则会使大便干燥,引起便秘和痔疮。"); | |
| 754 | +// setData2("戒烟禁酒,远离吸烟环境", "烟草中的尼古丁和烟雾中的氢化物、一氧化碳可能导致胎儿缺氧和营养不良、发育迟缓。酒精可以通过胎盘进入胎儿血液,造成胎儿宫内发育不良、智力低下等。"); | |
| 755 | +// setData2("避免刺激性食物", "避免刺激性食物,如:茶、咖啡、可乐及辛辣调味品,否则会使大便干燥,引起便秘和痔疮。"); | |
| 756 | +// map.put("guide", Arrays.asList(map1, map2, map3, map4, map5, map6)); | |
| 757 | +// map.put("guideTitle", "孕早期营养指南"); | |
| 758 | +// } else if(week <= 28) { | |
| 759 | +// Map<String, Object> map1 = setData2("适当增加鱼、禽、蛋、瘦肉、海产品的摄入", "从孕中期开始,孕妈妈体重进入快速增长时期,需要更多的能量和优质蛋白质。其中鱼类除了提供优质蛋白质外,还可提供不饱和脂肪酸,这对孕20周后胎儿脑和视网膜功能发育很重要,可以使宝宝的大脑变得更聪明,眼睛更明亮。", "建议从孕中期开始每天要比怀孕前多摄入总计约50-100克的鱼、禽、蛋、瘦肉;鱼类作为动物血食物的首选,每周最好能摄入2-3次,每天还应摄入至少1个鸡蛋。"); | |
| 760 | +// Map<String, Object> map2 = setData2("适当增加奶类的摄入", "奶及奶制品,对孕期蛋白质的补充很重要,同时也是钙的良好来源。从孕中期开始,孕妈妈每日至少应摄入250毫升的牛奶或相当量的奶制品,并补充300毫克的钙(或喝500毫升的低脂牛奶),以满足孕妈妈自身和日渐长大的胎儿对钙的需求。", "孕中期每日钙的需求量为1000毫克。除了奶及奶制品,富含钙的食物还有:鱼、海带、虾皮、芝麻酱、豆类及豆制品。但是,豆浆和大豆制品的钙含量远不如牛奶,所以不能代替牛奶补钙。菠菜、苋菜、空心菜等蔬菜含有大量的草酸,可能会影响钙的吸收,在烹煮时宜先焯水后再加工,可去掉部分草酸,增加钙的吸收。"); | |
| 761 | +// Map<String, Object> map3 = setData2("常吃含铁丰富的食物", "孕中期每日需要铁25毫克。铁摄入不足,孕妈妈和胎儿都容易发生缺铁性贫血。富含铁的动物性食物有动物血、肝脏、瘦肉等,植物性食物有黑木耳、红枣、黄花菜等。", "同时,要多摄入富含维生素C的新鲜水果和蔬菜,如青菜、韭菜、橙子、猕猴桃等,或补充适量的维生素C制剂,有助于铁的吸收和利用。"); | |
| 762 | +// Map<String, Object> map4 = setData2("进行适量的活动,维持体重的适宜增长", "从孕中期开始,孕妈妈的体重增加每周不应超过500克。盲目增加食物摄入量会引起胎儿过度生长,从而出现巨大儿,而孕妈妈本身则易发生妊娠糖尿病。", "应根据自身的体能每天进行不少于30分钟的低强度身体活动,如散步、做体操等。户外活动有助于改善维生素D合成,促进钙吸收,从而促进胎儿骨骼发育和母体的骨骼健康。"); | |
| 763 | +// map.put("guide", Arrays.asList(map1, map2, map3, map4)); | |
| 764 | +// map.put("guideTitle", "孕中期营养指南"); | |
| 765 | +// } else { | |
| 766 | +// Map<String, Object> map1 = setData2("适当增加鱼、禽、蛋、瘦肉、海产品的摄入,补充优质蛋白质", "孕晚期是胎儿大脑发育最快的时期,需要大量的蛋白质。要注意的是,单纯追求高蛋白是不可取的,孕期高蛋白饮食会影响食欲,增加胃肠道和肾的负担,并影响其他营养物质的摄入。适当增加豆类蛋白,最好的方法是每日使用豆腐50克。"); | |
| 767 | +// Map<String, Object> map2 = setData2("多补充富含钙的食物", "为维持孕晚期胎儿骨骼系统的快速发育和母体的生理代谢,孕妈妈每日钙的摄入量要从孕中期的1000毫克增加为1200毫克。当然,孕妈妈也切勿盲目补钙,如大量加服钙片、维生素D等,不利于胎儿的健康发育。", "同孕中期一样,每日至少要摄入250毫升的牛奶或相当量的奶制品,并补充300毫克的钙(或喝500毫升的低脂牛奶)。"); | |
| 768 | +// Map<String, Object> map3 = setData2("多补充含铁、维生素B12丰富的食物", "孕晚期母体除了要为胎儿肝脏储备一定量的铁,自身还需要储备足够的铁,以代偿分娩时失血造成的铁损失,每日需要铁35毫克。建议每周使用2次动物肝脏。", "维生素B12是人体三大造血原料之一,孕晚期如果缺乏,容易导致贫血、疲劳、消化功能障碍等不良后果,不利于孕妈妈的健康和胎儿的发育。富含维生素B12的食物有肉类、肝脏、鱼类、螃蟹、蛋黄等。180克软干奶酪或500毫升牛奶中所含的维生素B12就可以满足人体每日所需。只要不偏食,孕妈妈一般不会缺乏维生素B12。"); | |
| 769 | +// Map<String, Object> map4 = setData2("控制盐分和水分的摄入", "可预防妊娠期高血压疾病和严重水肿,食盐量每日不超过5克。"); | |
| 770 | +// Map<String, Object> map5 = setData2("少吃能量高的食物", "如甜食、油炸食品、肥肉等,避免过于肥胖。"); | |
| 771 | +// Map<String, Object> map6 = setData2("进行适量的活动,维持体重的适宜增长", "避免营养过剩,体重增加每周不应超过500克。"); | |
| 772 | +// map.put("guide", Arrays.asList(map1, map2, map3, map4, map5, map6)); | |
| 773 | +// map.put("guideTitle", "孕晚期营养指南"); | |
| 774 | +// } | |
| 719 | 775 | } |
| 720 | 776 | |
| 721 | - private void setRecipe(Map<String, Object> map,WeightManageConfigModel configModel) { | |
| 777 | + private void setRecipe(Map<String, Object> map,WeightConfigModel configModel,int week,Map<String,String> kmap) { | |
| 722 | 778 | Map<String, Object> breakfast = new LinkedHashMap<>(); // 早餐 |
| 723 | 779 | Map<String, Object> breakfast2 = new LinkedHashMap<>(); // 上午加餐 |
| 724 | 780 | Map<String, Object> lunch = new LinkedHashMap<>(); // 午餐 |
| 725 | 781 | |
| 726 | 782 | |
| 727 | 783 | |
| 728 | 784 | |
| ... | ... | @@ -726,27 +782,41 @@ |
| 726 | 782 | Map<String, Object> dinner = new LinkedHashMap<>(); // 晚餐 |
| 727 | 783 | Map<String, Object> dinner2 = new LinkedHashMap<>(); // 晚加餐 |
| 728 | 784 | |
| 785 | + String status = kmap.get("status"); | |
| 786 | + String kcal = kmap.get("kulStart")+"-"+kmap.get("kulEnd"); | |
| 787 | + | |
| 729 | 788 | setData(breakfast, "早餐",configModel.getBreakfast()); |
| 730 | 789 | setData(breakfast2, "上午加餐", configModel.getBreakfastAdd()); |
| 731 | 790 | setData(lunch, "午餐", configModel.getLunch()); |
| 732 | 791 | setData(lunch2, "下午加餐", configModel.getLunchAdd()); |
| 733 | 792 | setData(dinner, "晚餐", configModel.getDinner()); |
| 734 | - setData(dinner2, "晚加餐", configModel.getDinnerAdd()); | |
| 735 | - String recipeTitle1 = "孕晚期营养食谱举例"; | |
| 736 | - String recipeTitle2 = configModel.getExample(); | |
| 793 | + setData(dinner2, "晚加餐", configModel.getDinnerAdd()); | |
| 794 | + String recipeTitle1 = "孕"+week+"周"; | |
| 737 | 795 | map.put("recipeTitle1", recipeTitle1); |
| 738 | - map.put("recipeTitle2", recipeTitle2); | |
| 796 | + map.put("recipeTitle2", "基于您的身高、孕前体重、当前体重及所在孕周,您的累计增重数"+status+"适宜增重范围,为了您与胎儿的健康,本周您每日应摄入的热量为:"+kcal+"kcal。以下为特别向您推荐的对应热量食谱,请参照指导日常饮食。"); | |
| 739 | 797 | map.put("food", Arrays.asList(breakfast, breakfast2, lunch, lunch2, dinner, dinner2)); |
| 740 | 798 | } |
| 741 | 799 | |
| 742 | 800 | |
| 743 | - private void setSuggest(Map<String, Object> map,WeightManageConfigModel configModel) { | |
| 744 | - List<String> suggests = configModel.getSuggests(); | |
| 801 | + private void setSuggest(Map<String, Object> map,WeightConfigModel configModel,int week) { | |
| 802 | + List<String> suggests = null; | |
| 803 | + if (week < 12) | |
| 804 | + { | |
| 805 | + suggests = configModel.getEarlySuggests(); | |
| 806 | + } | |
| 807 | + else if (week <= 28) | |
| 808 | + { | |
| 809 | + suggests = configModel.getMiddleSuggests(); | |
| 810 | + } | |
| 811 | + else | |
| 812 | + { | |
| 813 | + suggests = configModel.getLaterSuggests(); | |
| 814 | + } | |
| 745 | 815 | map.put("suggest", suggests); |
| 746 | 816 | } |
| 747 | 817 | |
| 748 | - private void setCookbook(Map<String, Object> map,WeightManageConfigModel configModel) { | |
| 749 | - List<WeightManageConfigModel.Cookbook> cookbooks = configModel.getCookbooks(); | |
| 818 | + private void setCookbook(Map<String, Object> map,WeightConfigModel configModel) { | |
| 819 | + List<WeightConfigModel.Cookbook> cookbooks = configModel.getCookbooks(); | |
| 750 | 820 | map.put("cookbooks", cookbooks); |
| 751 | 821 | map.put("cookbookTitle", "推荐菜谱"); |
| 752 | 822 | } |
| 753 | 823 | |
| 754 | 824 | |
| 755 | 825 | |
| ... | ... | @@ -1223,21 +1293,49 @@ |
| 1223 | 1293 | } |
| 1224 | 1294 | |
| 1225 | 1295 | |
| 1296 | + private WeightConfigModel getWeightConfigBykcal(Map<String,String> map,String northSouth) | |
| 1297 | + { | |
| 1298 | + if (map.get("kulStart") == null) | |
| 1299 | + { | |
| 1300 | + return null; | |
| 1301 | + } | |
| 1302 | + double kulStart = Double.valueOf(map.get("kulStart")); | |
| 1303 | + int k1 = ((int)kulStart/100)*100; | |
| 1304 | + double k2 = kulStart - k1; | |
| 1305 | + if (k2 > 50) | |
| 1306 | + { | |
| 1307 | + k1+=100; | |
| 1308 | + } | |
| 1309 | + WeightConfigModel weightConfigModel = mongoTemplate.findOne(Query.query(Criteria.where("northSouth").is(northSouth).and("kcal").is(k1)), | |
| 1310 | + WeightConfigModel.class); | |
| 1311 | + return weightConfigModel; | |
| 1312 | + } | |
| 1313 | + | |
| 1314 | + | |
| 1315 | + private WeightConfigModel getWeightConfigByWeek(int week) | |
| 1316 | + { | |
| 1317 | + WeightConfigModel weightConfigModel = mongoTemplate.findOne(Query.query(Criteria.where("week").is(week)), | |
| 1318 | + WeightConfigModel.class); | |
| 1319 | + return weightConfigModel; | |
| 1320 | + } | |
| 1321 | + | |
| 1322 | + | |
| 1226 | 1323 | /** |
| 1227 | 1324 | * 孕妇期所需卡里计算 |
| 1228 | 1325 | * @param bWeight 孕前体重 |
| 1229 | 1326 | * @param cWeight 当前体重 |
| 1230 | 1327 | * @return |
| 1231 | 1328 | */ |
| 1232 | - private Map<String,Double> getComputeKul(double bWeight,double cWeight,int week,double bmi) | |
| 1329 | + private Map<String,String> getComputeKul(double bWeight,double cWeight,int week,double bmi) | |
| 1233 | 1330 | { |
| 1234 | - Map<String,Double> map = new HashMap<>(); | |
| 1331 | + Map<String,String> map = new HashMap<>(); | |
| 1235 | 1332 | |
| 1236 | 1333 | double kulStart = 0; |
| 1237 | 1334 | double kulEnd = 0; |
| 1238 | 1335 | |
| 1239 | 1336 | BigDecimal currentWeight = new BigDecimal(cWeight); |
| 1240 | 1337 | BigDecimal beforeWeight = new BigDecimal(bWeight); |
| 1338 | + String status = ""; | |
| 1241 | 1339 | |
| 1242 | 1340 | double add = currentWeight.subtract(beforeWeight).doubleValue(); |
| 1243 | 1341 | //孕早期 |
| 1244 | 1342 | |
| 1245 | 1343 | |
| ... | ... | @@ -1245,14 +1343,17 @@ |
| 1245 | 1343 | { |
| 1246 | 1344 | if (add < 1 && (1 - add >= 0.5)) |
| 1247 | 1345 | { |
| 1346 | + status = "低于"; | |
| 1248 | 1347 | kulStart = currentWeight.multiply(new BigDecimal(25)).doubleValue()+500; |
| 1249 | 1348 | } |
| 1250 | 1349 | else if (add > 1.5 && (add - 1.5 >= 0.5)) |
| 1251 | 1350 | { |
| 1351 | + status = "高于"; | |
| 1252 | 1352 | kulStart = currentWeight.multiply(new BigDecimal(25)).doubleValue()-500; |
| 1253 | 1353 | } |
| 1254 | 1354 | else |
| 1255 | 1355 | { |
| 1356 | + status = "处于"; | |
| 1256 | 1357 | kulStart = currentWeight.multiply(new BigDecimal(25)).doubleValue(); |
| 1257 | 1358 | kulEnd = kulStart; |
| 1258 | 1359 | } |
| 1259 | 1360 | |
| 1260 | 1361 | |
| ... | ... | @@ -1290,13 +1391,16 @@ |
| 1290 | 1391 | double kstart = (currentWeight.add(new BigDecimal(addWeightStart)).doubleValue()) * 25 + basekul; |
| 1291 | 1392 | double kend = (currentWeight.add(new BigDecimal(addWeightEnd)).doubleValue()) * 25 + basekul; |
| 1292 | 1393 | |
| 1394 | + status = "处于"; | |
| 1293 | 1395 | if (addWeightEnd > add && (addWeightEnd - add) > 0.5) |
| 1294 | 1396 | { |
| 1397 | + status = "高于"; | |
| 1295 | 1398 | kstart -= 500; |
| 1296 | 1399 | kend -= 500; |
| 1297 | 1400 | } |
| 1298 | 1401 | else if (addWeightEnd < add && (add - addWeightEnd) > 0.5) |
| 1299 | 1402 | { |
| 1403 | + status = "低于"; | |
| 1300 | 1404 | kstart += 500; |
| 1301 | 1405 | kend += 500; |
| 1302 | 1406 | } |
| 1303 | 1407 | |
| 1304 | 1408 | |
| 1305 | 1409 | |
| ... | ... | @@ -1304,17 +1408,27 @@ |
| 1304 | 1408 | kulEnd = kend; |
| 1305 | 1409 | } |
| 1306 | 1410 | |
| 1307 | - map.put("kulStart",kulStart); | |
| 1308 | - map.put("kulEnd",kulEnd); | |
| 1411 | + map.put("kulStart",String.valueOf(kulStart)); | |
| 1412 | + map.put("kulEnd",String.valueOf(kulEnd)); | |
| 1413 | + map.put("status",status); | |
| 1309 | 1414 | return map; |
| 1310 | 1415 | } |
| 1311 | 1416 | |
| 1312 | -// | |
| 1313 | -// public static void main(String[] args) { | |
| 1417 | + | |
| 1418 | + public static void main(String[] args) { | |
| 1314 | 1419 | // PatientWeightServiceImpl patientWeightService = new PatientWeightServiceImpl(); |
| 1315 | 1420 | // String bmi = patientWeightService.getBmi("55", "162"); |
| 1316 | -// Map<String,Double> map = patientWeightService.getComputeKul(55, 62, 20, Double.parseDouble(bmi)); | |
| 1421 | +// Map<String,String> map = patientWeightService.getComputeKul(55, 62, 20, Double.parseDouble(bmi)); | |
| 1317 | 1422 | // System.out.println(map); |
| 1318 | -// } | |
| 1423 | + | |
| 1424 | +// double kulStart = 2153.5; | |
| 1425 | +// int k1 = ((int)kulStart/100)*100; | |
| 1426 | +// double k2 = kulStart - k1; | |
| 1427 | +// if (k2 > 50) | |
| 1428 | +// { | |
| 1429 | +// k1+=100; | |
| 1430 | +// } | |
| 1431 | +// System.out.println(k1); | |
| 1432 | + } | |
| 1319 | 1433 | } |