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 | } |