Commit ce6608e0e0888f03c15ad1ecc386e1ae6e379441

Authored by wangbo
1 parent 9652b8abd0

update

Showing 9 changed files with 316 additions and 311 deletions

platform-dal/src/main/java/com/lyms/platform/pojo/TemporaryWeightModel.java View file @ ce6608e
... ... @@ -4,6 +4,7 @@
4 4 import com.lyms.platform.common.result.BaseModel;
5 5 import org.springframework.data.mongodb.core.mapping.Document;
6 6  
  7 +import java.util.ArrayList;
7 8 import java.util.Date;
8 9 import java.util.List;
9 10 import java.util.Map;
10 11  
11 12  
12 13  
13 14  
14 15  
15 16  
... ... @@ -13,48 +14,44 @@
13 14 private static final long serialVersionUID = SerialIdEnum.TemporaryWeightModel.getCid();
14 15  
15 16 private String id;
16   - private String userName;
17   - private Integer age;
18 17 private Integer yn;
19 18 private String weeks;
20   - // 孕前体重
21   - private String beforeWeight;
22   -
23   - // 孕前身高
24   - private String beforeHeight;
25   -
26 19 // 当前体重
27 20 private String nowWeight;
28 21  
29   - // 前囟 单胎/双胎/多胎
30   - private String bregmatic;
31   -
32   -
33 22 private Date created;
34 23  
35 24 private Date modified;
36   - //记录次数
37   - private Integer number;
38 25  
39   - private String phone;
40   - //高危因素
41   - private List riskFactorId;
42   - //末次月经
43   - private Date lastMenses;
44   -
45 26 private String bmi;
46 27  
47 28 private String cardID;
48 29  
49   - // 其他高危
50   - private String highriskDesc;
51   - //高危补充说明
52   - private List otherRisk;
53   -
54 30 private String doctorName;
55 31  
56 32 private String hospitalId;
57 33  
  34 + private String temporaryUserId;
  35 +
  36 + // 存储 key=年月日 value=时间+医院+体重
  37 + private List<Map<String, Object>> dayWeights2 = new ArrayList<>();
  38 +
  39 + public List<Map<String, Object>> getDayWeights2() {
  40 + return dayWeights2;
  41 + }
  42 +
  43 + public void setDayWeights2(List<Map<String, Object>> dayWeights2) {
  44 + this.dayWeights2 = dayWeights2;
  45 + }
  46 +
  47 + public String getTemporaryUserId() {
  48 + return temporaryUserId;
  49 + }
  50 +
  51 + public void setTemporaryUserId(String temporaryUserId) {
  52 + this.temporaryUserId = temporaryUserId;
  53 + }
  54 +
58 55 public String getHospitalId() {
59 56 return hospitalId;
60 57 }
61 58  
... ... @@ -71,22 +68,7 @@
71 68 this.doctorName = doctorName;
72 69 }
73 70  
74   - public String getHighriskDesc() {
75   - return highriskDesc;
76   - }
77 71  
78   - public void setHighriskDesc(String highriskDesc) {
79   - this.highriskDesc = highriskDesc;
80   - }
81   -
82   - public List getOtherRisk() {
83   - return otherRisk;
84   - }
85   -
86   - public void setOtherRisk(List otherRisk) {
87   - this.otherRisk = otherRisk;
88   - }
89   -
90 72 public String getCardID() {
91 73 return cardID;
92 74 }
... ... @@ -102,15 +84,6 @@
102 84 return dayWeights;
103 85 }
104 86  
105   -
106   - public Date getLastMenses() {
107   - return lastMenses;
108   - }
109   -
110   - public void setLastMenses(Date lastMenses) {
111   - this.lastMenses = lastMenses;
112   - }
113   -
114 87 public void setDayWeights(Map<String, String> dayWeights) {
115 88 this.dayWeights = dayWeights;
116 89 }
... ... @@ -123,9 +96,6 @@
123 96 this.bmi = bmi;
124 97 }
125 98  
126   - public List getRiskFactorId() {
127   - return riskFactorId;
128   - }
129 99  
130 100 public Integer getYn() {
131 101 return yn;
132 102  
... ... @@ -135,18 +105,7 @@
135 105 this.yn = yn;
136 106 }
137 107  
138   - public void setRiskFactorId(List riskFactorId) {
139   - this.riskFactorId = riskFactorId;
140   - }
141 108  
142   - public String getPhone() {
143   - return phone;
144   - }
145   -
146   - public void setPhone(String phone) {
147   - this.phone = phone;
148   - }
149   -
150 109 public static long getSerialVersionUID() {
151 110 return serialVersionUID;
152 111 }
153 112  
... ... @@ -159,22 +118,7 @@
159 118 this.id = id;
160 119 }
161 120  
162   - public String getUserName() {
163   - return userName;
164   - }
165 121  
166   - public void setUserName(String userName) {
167   - this.userName = userName;
168   - }
169   -
170   - public Integer getAge() {
171   - return age;
172   - }
173   -
174   - public void setAge(Integer age) {
175   - this.age = age;
176   - }
177   -
178 122 public String getWeeks() {
179 123 return weeks;
180 124 }
181 125  
... ... @@ -183,22 +127,7 @@
183 127 this.weeks = weeks;
184 128 }
185 129  
186   - public String getBeforeWeight() {
187   - return beforeWeight;
188   - }
189 130  
190   - public void setBeforeWeight(String beforeWeight) {
191   - this.beforeWeight = beforeWeight;
192   - }
193   -
194   - public String getBeforeHeight() {
195   - return beforeHeight;
196   - }
197   -
198   - public void setBeforeHeight(String beforeHeight) {
199   - this.beforeHeight = beforeHeight;
200   - }
201   -
202 131 public String getNowWeight() {
203 132 return nowWeight;
204 133 }
205 134  
... ... @@ -207,14 +136,7 @@
207 136 this.nowWeight = nowWeight;
208 137 }
209 138  
210   - public String getBregmatic() {
211   - return bregmatic;
212   - }
213 139  
214   - public void setBregmatic(String bregmatic) {
215   - this.bregmatic = bregmatic;
216   - }
217   -
218 140 public Date getCreated() {
219 141 return created;
220 142 }
221 143  
... ... @@ -231,12 +153,6 @@
231 153 this.modified = modified;
232 154 }
233 155  
234   - public Integer getNumber() {
235   - return number;
236   - }
237 156  
238   - public void setNumber(Integer number) {
239   - this.number = number;
240   - }
241 157 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TemporaryUserController.java View file @ ce6608e
... ... @@ -47,8 +47,8 @@
47 47 @RequestMapping(value = "/queryOne", method = RequestMethod.GET)
48 48 @TokenRequired
49 49 @ResponseBody
50   - public BaseResponse queryOne(String id, String cardNo, String pone) {
51   - return temporaryUserService.query(id, cardNo, pone);
  50 + public BaseResponse queryOne(String id, String cardNo, String phone) {
  51 + return temporaryUserService.query(id, cardNo, phone);
52 52 }
53 53  
54 54 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TemporaryWeightController.java View file @ ce6608e
... ... @@ -27,7 +27,7 @@
27 27 @RequestMapping(value = "/addOrUpdate", method = RequestMethod.POST)
28 28 @TokenRequired
29 29 @ResponseBody
30   - public BaseResponse addTemporaryWeight(@Valid @RequestBody TemporaryWeightModel temporaryWeightModel, HttpServletRequest request) {
  30 + public BaseResponse addTemporaryWeight(TemporaryWeightModel temporaryWeightModel, HttpServletRequest request) {
31 31 return temporaryWeightService.addTemporaryWeight(temporaryWeightModel, getUserId(request));
32 32 }
33 33  
... ... @@ -50,7 +50,7 @@
50 50 public BaseResponse queryOne(String id) {
51 51 return temporaryWeightService.queryOne(id);
52 52 }
53   -
  53 +*/
54 54 @RequestMapping(value = "/queryAll", method = RequestMethod.GET)
55 55 @TokenRequired
56 56 @ResponseBody
57 57  
... ... @@ -66,12 +66,12 @@
66 66 }
67 67  
68 68  
69   - *//**
  69 + /**
70 70 * 体重营养管理报表
71 71 *
72 72 * @param id
73 73 * @return
74   - *//*
  74 + */
75 75 @ResponseBody
76 76 @RequestMapping(value = "/getWeightsReport/{id}", method = RequestMethod.GET)
77 77 @TokenRequired
78 78  
... ... @@ -85,12 +85,14 @@
85 85 }
86 86  
87 87  
88   - *//**
  88 +
  89 +
  90 + /**
89 91 * 体重标准报告
90 92 *
91 93 * @param id
92 94 * @return
93   - *//*
  95 + */
94 96 @ResponseBody
95 97 @RequestMapping(value = "report/{id}", method = RequestMethod.GET)
96 98 @TokenRequired
... ... @@ -98,7 +100,7 @@
98 100 HttpServletRequest request,
99 101 @RequestParam(value = "rid", required = false) String rid) {
100 102 return temporaryWeightService.report(id, getUserId(request), rid);
101   - }*/
  103 + }
102 104  
103 105 protected Integer getUserId(HttpServletRequest request) {
104 106 LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java View file @ ce6608e
... ... @@ -204,7 +204,7 @@
204 204 TemporaryWeightModel temporaryWeightModel = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id).and("yn").is(YnEnums.YES.getId())),
205 205 TemporaryWeightModel.class);
206 206 if (temporaryWeightModel != null) {
207   - setMap(map, temporaryWeightModel.getUserName(), temporaryWeightModel.getAge(), temporaryWeightModel.getLastMenses(), created);
  207 + // setMap(map, temporaryWeightModel.getUserName(), temporaryWeightModel.getAge(), temporaryWeightModel.getLastMenses(), created);
208 208 }
209 209 }
210 210  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITemporaryUserService.java View file @ ce6608e
... ... @@ -12,6 +12,6 @@
12 12  
13 13 BaseResponse queryAll(String key, Integer age, Integer stateWeek, Integer endWeek, Integer page, Integer limit, Integer userId);
14 14  
15   - BaseResponse query(String id, String no, String pone);
  15 + BaseResponse query(String id, String no, String phone);
16 16 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/TemporaryWeightService.java View file @ ce6608e
... ... @@ -13,14 +13,15 @@
13 13 BaseResponse deleteTemporaryWeight(String Phone);
14 14  
15 15 /*BaseResponse queryOne(String id);
16   -
  16 + */
17 17 BaseResponse queryAll(String key, Integer stateWeek, Integer endWeek, Integer age, Integer page, Integer limit, Integer userId);
18 18  
19 19 BaseResponse info(String id);
20 20  
  21 +
21 22 BaseResponse getWeightsReport(String phone, Integer userId, String rid);
22 23  
23   - BaseResponse report(String id, Integer userId, String rid);*/
  24 + BaseResponse report(String id, Integer userId, String rid);
24 25  
25 26 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryBloodServiceImpl.java View file @ ce6608e
... ... @@ -67,7 +67,7 @@
67 67 temp.put("pulse", bloodPressure.getPulse());
68 68 temp.put("timestamp", DateUtil.getyyyy_MM_dd_hms(new Date()));
69 69 temp.put("hospitalId", hospitalId);
70   - TemporaryUserModel temporaryUserModel = mongoTemplate.findById(bloodPressure.getId(), TemporaryUserModel.class);
  70 + TemporaryUserModel temporaryUserModel = mongoTemplate.findById(bloodPressure.getTemporaryUserId(), TemporaryUserModel.class);
71 71 TemporaryBloodModel bp = null;
72 72 if (temporaryUserModel != null) {
73 73 bp = mongoTemplate.findOne(Query.query(Criteria.where("temporaryUserId").is(temporaryUserModel.getId())), TemporaryBloodModel.class);
... ... @@ -166,7 +166,9 @@
166 166 flag = true;
167 167 }
168 168 if (age != null) {
169   - pCriteria.and("age").is(age);
  169 + Date start = DateUtil.getBeforeAge(age);
  170 + Date end = DateUtil.getBeforeAge(age + 1);
  171 + pCriteria.and("birth").gt(end).lte(start);
170 172 flag = true;
171 173 }
172 174 if (flag) {
173 175  
174 176  
175 177  
176 178  
... ... @@ -235,36 +237,36 @@
235 237 }
236 238  
237 239  
238   - @Override
239   - public BaseResponse info(String id, Date startDate) {
240   - TemporaryBloodModel bloodPressure = mongoTemplate.findById(id, TemporaryBloodModel.class);
241   - List<Map<String, Object>> xyInfos = new ArrayList<>();
242   - List<Integer> szyMin = Arrays.asList(60, 60, 60, 60, 60, 60, 60);
243   - List<Integer> ssyMax = Arrays.asList(140, 140, 140, 140, 140, 140, 140);
244   - List<Object> ssy = new ArrayList<>();
245   - List<Object> szy = new ArrayList<>();
246   - List<Object> pulse = new ArrayList<>();
247   - List<String> xAxis = new ArrayList<>();
248   - if (bloodPressure != null) {
249   - List<String> betweenDay = DateUtil.getBetweenDay(startDate, 7);
250   - com.lyms.platform.operate.web.utils.CollectionUtils.reverse(betweenDay);
251   - Map<String, Map<String, Object>> infos = bloodPressure.getInfos();
252   - for (String date : betweenDay) {
253   - Map<String, Object> temp = new HashMap<>();
254   - xyInfos.add(temp);
  240 + @Override
  241 + public BaseResponse info(String id, Date startDate) {
  242 + TemporaryBloodModel bloodPressure = mongoTemplate.findById(id, TemporaryBloodModel.class);
  243 + List<Map<String, Object>> xyInfos = new ArrayList<>();
  244 + List<Integer> szyMin = Arrays.asList(60, 60, 60, 60, 60, 60, 60);
  245 + List<Integer> ssyMax = Arrays.asList(140, 140, 140, 140, 140, 140, 140);
  246 + List<Object> ssy = new ArrayList<>();
  247 + List<Object> szy = new ArrayList<>();
  248 + List<Object> pulse = new ArrayList<>();
  249 + List<String> xAxis = new ArrayList<>();
  250 + if (bloodPressure != null) {
  251 + List<String> betweenDay = DateUtil.getBetweenDay(startDate, 7);
  252 + com.lyms.platform.operate.web.utils.CollectionUtils.reverse(betweenDay);
  253 + Map<String, Map<String, Object>> infos = bloodPressure.getInfos();
  254 + for (String date : betweenDay) {
  255 + Map<String, Object> temp = new HashMap<>();
  256 + xyInfos.add(temp);
255 257  
256   - temp.put("date", date);
257   - temp.put("ssy", infos.containsKey(date) ? infos.get(date).get("ssy") : "--");
258   - temp.put("szy", infos.containsKey(date) ? infos.get(date).get("szy") : "--");
  258 + temp.put("date", date);
  259 + temp.put("ssy", infos.containsKey(date) ? infos.get(date).get("ssy") : "--");
  260 + temp.put("szy", infos.containsKey(date) ? infos.get(date).get("szy") : "--");
259 261  
260   - xAxis.add(date.replace("-", "/"));
261   - ssy.add(infos.containsKey(date) ? infos.get(date).get("ssy") : 0);
262   - szy.add(infos.containsKey(date) ? infos.get(date).get("szy") : 0);
263   - pulse.add(infos.containsKey(date) ? (Integer) infos.get(date).get("pulse") : "--");
264   - }
  262 + xAxis.add(date.replace("-", "/"));
  263 + ssy.add(infos.containsKey(date) ? infos.get(date).get("ssy") : 0);
  264 + szy.add(infos.containsKey(date) ? infos.get(date).get("szy") : 0);
  265 + pulse.add(infos.containsKey(date) ? (Integer) infos.get(date).get("pulse") : "--");
265 266 }
266   - return RespBuilder.buildSuccess("xyInfos", xyInfos, "szyMin", szyMin, "ssyMax", ssyMax, "ssy", ssy, "szy", szy, "pulse", pulse);
267 267 }
  268 + return RespBuilder.buildSuccess("xyInfos", xyInfos, "szyMin", szyMin, "ssyMax", ssyMax, "ssy", ssy, "szy", szy, "pulse", pulse);
  269 + }
268 270  
269 271 @Override
270 272 public BaseResponse getXyPresentation(String id, Integer userId) {
... ... @@ -335,7 +337,7 @@
335 337 Double residualWeight = Double.valueOf(temporaryBloo.getNowWeight()).doubleValue() - Double.valueOf(temporaryBloo.getBeforeWeight()).doubleValue();
336 338 //把厘米转换成米
337 339 Double heights = (Double.valueOf(temporaryBloo.getBeforeHeight()).doubleValue()) / 100d;
338   - int cals = this.getRounding((int) this.getCal(bregmatic, residualWeight, low, high, weeks, bmiD, temporaryBloo, heights,temporaryUser));
  340 + int cals = this.getRounding((int) this.getCal(bregmatic, residualWeight, low, high, weeks, bmiD, temporaryBloo, heights, temporaryUser));
339 341 String calStr = cals + "kcal";
340 342 List<XyPresentationModel> xyPresentationModels = mongoTemplate.find(Query.query(Criteria.where("originWeek").lte(weeks).and("endWeek").gte(weeks)), XyPresentationModel.class);
341 343 XyPresentationModel xy = mongoTemplate.findOne(Query.query(Criteria.where("quantityHeat").is(calStr)), XyPresentationModel.class);
... ... @@ -435,7 +437,7 @@
435 437 series.put("normalData", normalMap);
436 438 }
437 439  
438   - public double getCal(String bregmatic, double residualWeight, double low, double high, int weeks, double bmiD, TemporaryBloodModel bloodModel, double heights,TemporaryUserModel temporaryUser) {
  440 + public double getCal(String bregmatic, double residualWeight, double low, double high, int weeks, double bmiD, TemporaryBloodModel bloodModel, double heights, TemporaryUserModel temporaryUser) {
439 441 Double beforWeight = Double.valueOf(bloodModel.getBeforeWeight()).doubleValue();
440 442 int age = DateUtil.getAge(temporaryUser.getBirth());
441 443 Double number = 354 - 6.91 * age + 1.12 * (9.36 * beforWeight + 726 * heights);
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryBloodSugarServiceImpl.java View file @ ce6608e
... ... @@ -165,7 +165,9 @@
165 165 flag = true;
166 166 }
167 167 if (age != null) {
168   - pCriteria.and("age").is(age);
  168 + Date start = DateUtil.getBeforeAge(age);
  169 + Date end = DateUtil.getBeforeAge(age + 1);
  170 + pCriteria.and("birth").gt(end).lte(start);
169 171 flag = true;
170 172 }
171 173 if (flag) {
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryWeightServiceImpl.java View file @ ce6608e
... ... @@ -4,29 +4,29 @@
4 4 import com.lyms.platform.biz.service.BasicConfigService;
5 5 import com.lyms.platform.common.constants.ErrorCodeConstants;
6 6 import com.lyms.platform.common.enums.BregmaticEnums2;
7   -import com.lyms.platform.common.enums.HisptialRiskTypeEnum;
8 7 import com.lyms.platform.common.result.BaseObjectResponse;
9 8 import com.lyms.platform.common.result.BaseResponse;
10 9 import com.lyms.platform.common.result.PageResult;
11 10 import com.lyms.platform.common.result.RespBuilder;
12 11 import com.lyms.platform.common.utils.DateUtil;
13 12 import com.lyms.platform.common.utils.ReflectionUtils;
14   -import com.lyms.platform.common.utils.StringUtils;
15 13 import com.lyms.platform.operate.web.facade.AutoMatchFacade;
16 14 import com.lyms.platform.operate.web.facade.HealthChargeFacade;
  15 +import com.lyms.platform.operate.web.facade.OperateLogFacade;
17 16 import com.lyms.platform.operate.web.facade.OrganizationGroupsFacade;
18 17 import com.lyms.platform.operate.web.service.PatientWeightService;
19 18 import com.lyms.platform.operate.web.service.TemporaryWeightService;
20 19 import com.lyms.platform.operate.web.utils.CollectionUtils;
21 20 import com.lyms.platform.operate.web.utils.MathUtil;
22 21 import com.lyms.platform.operate.web.utils.ReportConfig;
  22 +import com.lyms.platform.permission.dao.master.CouponMapper;
23 23 import com.lyms.platform.permission.model.Organization;
24   -import com.lyms.platform.permission.model.Users;
25 24 import com.lyms.platform.permission.service.OrganizationService;
26 25 import com.lyms.platform.permission.service.UsersService;
27 26 import com.lyms.platform.pojo.*;
28 27 import com.mongodb.WriteResult;
29 28 import org.apache.commons.collections.MapUtils;
  29 +import org.apache.commons.lang.StringUtils;
30 30 import org.springframework.beans.factory.annotation.Autowired;
31 31 import org.springframework.data.domain.Sort;
32 32 import org.springframework.data.mongodb.core.MongoTemplate;
33 33  
... ... @@ -69,10 +69,86 @@
69 69  
70 70 @Autowired
71 71 private HealthChargeFacade healthChargeFacade;
  72 + @Autowired
  73 + private OperateLogFacade operateLogFacade;
  74 + @Autowired
  75 + private CouponMapper couponMapper;
72 76  
73 77 @Override
74 78 public BaseResponse addTemporaryWeight(TemporaryWeightModel weightModel, Integer userId) {
75   - List<TemporaryWeightModel> weightModel1 = mongoTemplate.findAll(TemporaryWeightModel.class);
  79 + String hospitalId = autoMatchFacade.getHospitalId(userId);
  80 + String nowWeight = weightModel.getNowWeight();
  81 + TemporaryUserModel temporaryUser = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(weightModel.getTemporaryUserId())), TemporaryUserModel.class);
  82 + TemporaryWeightModel pw = mongoTemplate.findOne(Query.query(Criteria.where("temporaryUserId").is(weightModel.getTemporaryUserId())), TemporaryWeightModel.class);
  83 +
  84 + Map<String, String> dayWeights = new LinkedHashMap<>();
  85 + List<Map<String, Object>> dayWeights2 = new ArrayList<>();
  86 + if (pw != null) {
  87 + if (MapUtils.isNotEmpty(pw.getDayWeights())) {
  88 + dayWeights = pw.getDayWeights();
  89 + }
  90 + dayWeights.put(DateUtil.getyyyy_MM_dd(new Date()), nowWeight);
  91 + pw.setDayWeights(dayWeights);
  92 + pw.setNowWeight(weightModel.getNowWeight());
  93 +
  94 + String ymdDate = DateUtil.getyyyy_MM_dd(new Date());
  95 + boolean flag = true;
  96 + if (CollectionUtils.isNotEmpty(pw.getDayWeights2())) {
  97 + dayWeights2 = pw.getDayWeights2();
  98 + }
  99 + for (Map<String, Object> map : dayWeights2) {
  100 + if (map.get("date").equals(ymdDate)) {
  101 + flag = false;
  102 + map.put("hospitalId", hospitalId);
  103 + map.put("hospitalName", couponMapper.getHospitalName(hospitalId));
  104 + map.put("date", ymdDate);
  105 + map.put("nowWeight", nowWeight);
  106 + }
  107 + }
  108 + if (flag) {
  109 + Map<String, Object> m = new HashMap<>();
  110 + m.put("hospitalId", hospitalId);
  111 + m.put("hospitalName", couponMapper.getHospitalName(hospitalId));
  112 + m.put("date", ymdDate);
  113 + m.put("nowWeight", nowWeight);
  114 + dayWeights2.add(m);
  115 + }
  116 + pw.setDayWeights2(dayWeights2);
  117 + pw.setModified(new Date());
  118 + temporaryWeightDao.updateTemporaryWeight(Query.query(Criteria.where("_id").is(pw.getId())), pw);
  119 + return RespBuilder.buildSuccess(pw.getId());
  120 + }
  121 +
  122 + if (org.apache.commons.lang.StringUtils.isEmpty(weightModel.getId()) && temporaryUser != null) {
  123 + dayWeights.put(DateUtil.getyyyy_MM_dd(new Date()), nowWeight);
  124 + weightModel.setDayWeights(dayWeights);
  125 + weightModel.setHospitalId(hospitalId);
  126 + weightModel.setCreated(new Date());
  127 + if (StringUtils.isNotBlank(weightModel.getNowWeight()) && temporaryUser.getBeforeHeight() != null) {
  128 + weightModel.setBmi(patientWeightService.getBmi(temporaryUser.getBeforeWeight(), temporaryUser.getBeforeHeight()));
  129 + }
  130 + weightModel.setYn(1);
  131 + Map<String, Object> m = new HashMap<>();
  132 + m.put("hospitalId", hospitalId);
  133 + m.put("hospitalName", couponMapper.getHospitalName(hospitalId));
  134 + m.put("date", DateUtil.getyyyy_MM_dd(new Date()));
  135 + m.put("nowWeight", nowWeight);
  136 + dayWeights2.add(m);
  137 + weightModel.setDayWeights2(dayWeights2);
  138 +
  139 + weightModel.setModified(new Date());
  140 + temporaryWeightDao.addTemporaryWeight(weightModel);
  141 +
  142 + return RespBuilder.buildSuccess(weightModel.getId());
  143 + } else {
  144 +
  145 + weightModel.setModified(new Date());
  146 + temporaryWeightDao.updateTemporaryWeight(Query.query(Criteria.where("_id").is(weightModel.getId())), weightModel);
  147 + return RespBuilder.buildSuccess(weightModel.getId());
  148 + }
  149 +
  150 +
  151 + /*List<TemporaryWeightModel> weightModel1 = mongoTemplate.findAll(TemporaryWeightModel.class);
76 152 if (CollectionUtils.isNotEmpty(weightModel1)) {
77 153 if (StringUtils.isNotEmpty(weightModel.getPhone())) {
78 154 TemporaryWeightModel temporaryWeightModel = mongoTemplate.findOne(Query.query(Criteria.where("phone").is(weightModel.getPhone())), TemporaryWeightModel.class);
79 155  
... ... @@ -90,9 +166,9 @@
90 166 weightModel.setDoctorName(users.getAccount());
91 167 Map<String, String> dayWeights = new LinkedHashMap<>();
92 168 List<Map<String, Object>> dayWeights2 = new ArrayList<>();
93   - /* if (MapUtils.isNotEmpty(temporaryWeightModel.getDayWeights())) {
  169 + *//* if (MapUtils.isNotEmpty(temporaryWeightModel.getDayWeights())) {
94 170 dayWeights = temporaryWeightModel.getDayWeights();
95   - }*/
  171 + }*//*
96 172 String hospitalId = autoMatchFacade.getHospitalId(userId);
97 173 weightModel.setHospitalId(hospitalId);
98 174 dayWeights.put(DateUtil.getyyyy_MM_dd(new Date()), weightModel.getNowWeight());
99 175  
100 176  
... ... @@ -111,16 +187,16 @@
111 187 weightModel.setDoctorName(users.getAccount());
112 188 Map<String, String> dayWeights = new LinkedHashMap<>();
113 189 List<Map<String, Object>> dayWeights2 = new ArrayList<>();
114   - /* if (MapUtils.isNotEmpty(temporaryWeightModel.getDayWeights())) {
  190 + *//* if (MapUtils.isNotEmpty(temporaryWeightModel.getDayWeights())) {
115 191 dayWeights = temporaryWeightModel.getDayWeights();
116   - }*/
  192 + }*//*
117 193 dayWeights.put(DateUtil.getyyyy_MM_dd(new Date()), weightModel.getNowWeight());
118 194 weightModel.setDayWeights(dayWeights);
119 195 String hospitalId = autoMatchFacade.getHospitalId(userId);
120 196 weightModel.setHospitalId(hospitalId);
121 197 weightModel.setBmi(patientWeightService.getBmi(weightModel.getBeforeWeight(), weightModel.getBeforeHeight()));
122 198 TemporaryWeightModel temporaryBloodModel = temporaryWeightDao.addTemporaryWeight(weightModel);
123   - return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("添加成功").setData(temporaryBloodModel.getId());
  199 + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("添加成功").setData(temporaryBloodModel.getId());*/
124 200 }
125 201  
126 202 @Override
127 203  
... ... @@ -137,57 +213,57 @@
137 213 return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("请选择一条记录");
138 214 }
139 215  
140   - /* @Override
141   - public BaseResponse queryOne(String id) {
142   - if (StringUtils.isNotEmpty(id)) {
143   - TemporaryWeightModel temporaryWeightModel = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id)), TemporaryWeightModel.class);
144   - if (temporaryWeightModel != null) {
145   - Map<String, Object> requestMap = new HashMap<>();
146   - List<String> rists = temporaryWeightModel.getRiskFactorId();
147   - List<Map> listMap = new ArrayList<>();
148   - Integer riskScore = 0;
149   - if (CollectionUtils.isNotEmpty(rists)) {
150   - for (String rist : rists) {
151   - Map<String, Object> map = new HashMap();
152   - BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(rist);
153   - riskScore += Integer.valueOf(basicConfig.getCode());
  216 + /* @Override
  217 + public BaseResponse queryOne(String id) {
  218 + if (StringUtils.isNotEmpty(id)) {
  219 + TemporaryWeightModel temporaryWeightModel = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id)), TemporaryWeightModel.class);
  220 + if (temporaryWeightModel != null) {
  221 + Map<String, Object> requestMap = new HashMap<>();
  222 + List<String> rists = temporaryWeightModel.getRiskFactorId();
  223 + List<Map> listMap = new ArrayList<>();
  224 + Integer riskScore = 0;
  225 + if (CollectionUtils.isNotEmpty(rists)) {
  226 + for (String rist : rists) {
  227 + Map<String, Object> map = new HashMap();
  228 + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(rist);
  229 + riskScore += Integer.valueOf(basicConfig.getCode());
154 230  
155   - if (StringUtils.isNotEmpty(basicConfig.getParentId())) {
156   - map.put("code", basicConfig.getCode());
157   - if (basicConfig.getParentId().equals(HisptialRiskTypeEnum.YBFX.getId())) {
158   - map.put("color", HisptialRiskTypeEnum.YBFX.getColor());
159   - }
160   - if (basicConfig.getParentId().equals(HisptialRiskTypeEnum.JGFX.getId())) {
161   - map.put("color", HisptialRiskTypeEnum.JGFX.getColor());
162   - }
163   - if (basicConfig.getParentId().equals(HisptialRiskTypeEnum.GFX.getId())) {
164   - map.put("color", HisptialRiskTypeEnum.GFX.getColor());
165   - }
166   - if (basicConfig.getParentId().equals(HisptialRiskTypeEnum.CRB.getId())) {
167   - map.put("color", HisptialRiskTypeEnum.CRB.getColor());
168   - }
169   - if (basicConfig.getParentId().equals(HisptialRiskTypeEnum.JK.getId())) {
170   - map.put("color", HisptialRiskTypeEnum.JK.getColor());
171   - }
172   - map.put("name", basicConfig.getName());
173   - map.put("id", basicConfig.getId());
174   - listMap.add(map);
175   - }
176   - }
177   - }
178   - requestMap.put("riskScore", riskScore);
179   - requestMap.put("riskFactor", listMap);
180   - requestMap.put("userName", temporaryWeightModel.getUserName());
181   - requestMap.put("age", temporaryWeightModel.getAge());
182   - requestMap.put("weeks", DateUtil.getWeekDesc(temporaryWeightModel.getLastMenses(), new Date()));
183   - requestMap.put("phone", temporaryWeightModel.getPhone());
184   - requestMap.put("id", temporaryWeightModel.getId());
185   - return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(requestMap);
186   - }
187   - }
188   - return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("请选择一条记录");
189   - }
190   -
  231 + if (StringUtils.isNotEmpty(basicConfig.getParentId())) {
  232 + map.put("code", basicConfig.getCode());
  233 + if (basicConfig.getParentId().equals(HisptialRiskTypeEnum.YBFX.getId())) {
  234 + map.put("color", HisptialRiskTypeEnum.YBFX.getColor());
  235 + }
  236 + if (basicConfig.getParentId().equals(HisptialRiskTypeEnum.JGFX.getId())) {
  237 + map.put("color", HisptialRiskTypeEnum.JGFX.getColor());
  238 + }
  239 + if (basicConfig.getParentId().equals(HisptialRiskTypeEnum.GFX.getId())) {
  240 + map.put("color", HisptialRiskTypeEnum.GFX.getColor());
  241 + }
  242 + if (basicConfig.getParentId().equals(HisptialRiskTypeEnum.CRB.getId())) {
  243 + map.put("color", HisptialRiskTypeEnum.CRB.getColor());
  244 + }
  245 + if (basicConfig.getParentId().equals(HisptialRiskTypeEnum.JK.getId())) {
  246 + map.put("color", HisptialRiskTypeEnum.JK.getColor());
  247 + }
  248 + map.put("name", basicConfig.getName());
  249 + map.put("id", basicConfig.getId());
  250 + listMap.add(map);
  251 + }
  252 + }
  253 + }
  254 + requestMap.put("riskScore", riskScore);
  255 + requestMap.put("riskFactor", listMap);
  256 + requestMap.put("userName", temporaryWeightModel.getUserName());
  257 + requestMap.put("age", temporaryWeightModel.getAge());
  258 + requestMap.put("weeks", DateUtil.getWeekDesc(temporaryWeightModel.getLastMenses(), new Date()));
  259 + requestMap.put("phone", temporaryWeightModel.getPhone());
  260 + requestMap.put("id", temporaryWeightModel.getId());
  261 + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(requestMap);
  262 + }
  263 + }
  264 + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("请选择一条记录");
  265 + }
  266 + */
191 267 @Override
192 268 public BaseResponse queryAll(String key, Integer stateWeek, Integer endWeek, Integer age, Integer page, Integer limit, Integer userId) {
193 269 boolean flag = false;
194 270  
195 271  
196 272  
197 273  
198 274  
199 275  
200 276  
... ... @@ -205,38 +281,40 @@
205 281 flag = true;
206 282 }
207 283 if (age != null) {
208   - pCriteria.and("age").is(age);
  284 + Date start = DateUtil.getBeforeAge(age);
  285 + Date end = DateUtil.getBeforeAge(age + 1);
  286 + pCriteria.and("birth").gt(end).lte(start);
209 287 flag = true;
210 288 }
211 289 if (flag) {
212   - List<TemporaryWeightModel> patients = mongoTemplate.find(Query.query(pCriteria), TemporaryWeightModel.class);
  290 + List<TemporaryUserModel> patients = mongoTemplate.find(Query.query(pCriteria), TemporaryUserModel.class);
213 291 List<String> ids = new ArrayList<>();
214 292 if (CollectionUtils.isNotEmpty(patients)) {
215   - for (TemporaryWeightModel patient : patients) {
  293 + for (TemporaryUserModel patient : patients) {
216 294 ids.add(patient.getId());
217 295 }
218 296 }
219   - criteria.and("_id").in(ids);
  297 + criteria.and("temporaryUserId").in(ids);
220 298 }
221 299 PageResult pageResult = findMongoPage(TemporaryWeightModel.class, new Query(criteria).with(new Sort(Sort.Direction.DESC, "modified")), page, limit);
222 300 List<TemporaryWeightModel> patientWeights = (List<TemporaryWeightModel>) pageResult.getGrid();
223 301 List<Map<String, Object>> restMap = new ArrayList<>();
224 302 if (CollectionUtils.isNotEmpty(patientWeights)) {
225 303 for (TemporaryWeightModel patientWeight : patientWeights) {
226   - // Patients p = mongoTemplate.findById(patientWeight.getPatientId(), Patients.class);
  304 + // Patients p = mongoTemplate.findById(patientWeight.getPatientId(), Patients.class)
  305 + TemporaryUserModel temporaryUser = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(patientWeight.getTemporaryUserId())), TemporaryUserModel.class);
227 306 Map<String, Object> temp = new LinkedHashMap<>();
228 307 temp.put("id", patientWeight.getId());
229   - temp.put("userName", patientWeight.getUserName());
230   - temp.put("age", patientWeight.getAge());
231   - temp.put("weeks", DateUtil.getWeekDesc(patientWeight.getLastMenses(), new Date()));
232   - temp.put("beforeWeight", patientWeight.getBeforeWeight());
233   - temp.put("beforeHeight", patientWeight.getBeforeHeight());
  308 + temp.put("userName", temporaryUser.getUserName());
  309 + temp.put("age", DateUtil.getAge(temporaryUser.getBirth()));
  310 + temp.put("weeks", DateUtil.getWeekDesc(temporaryUser.getLastMenses(), new Date()));
  311 + temp.put("beforeWeight", temporaryUser.getBeforeWeight());
  312 + temp.put("beforeHeight", temporaryUser.getBeforeHeight());
234 313 temp.put("bmi", patientWeight.getBmi()); // 体质指数(BMI)=体重(kg)÷身高^2(m)
235 314 temp.put("nowWeight", patientWeight.getNowWeight());
236   - temp.put("number", patientWeight.getNumber());
237 315 temp.put("created", DateUtil.getyyyy_MM_dd(patientWeight.getModified()));
238 316 temp.put("doctorName", patientWeight.getDoctorName());
239   - temp.put("bregmatic", patientWeight.getBregmatic());
  317 + temp.put("bregmatic", temporaryUser.getBregmatic());
240 318 restMap.add(temp);
241 319 }
242 320 }
243 321  
244 322  
245 323  
246 324  
... ... @@ -248,19 +326,21 @@
248 326 @Override
249 327 public BaseResponse info(String id) {
250 328 TemporaryWeightModel template = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id)), TemporaryWeightModel.class);
  329 +
251 330 if (template != null) {
252   - *//* Patients patients = mongoTemplate.findById(patientWeight.getPatientId(), Patients.class);
  331 + TemporaryUserModel patients = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(template.getTemporaryUserId())), TemporaryUserModel.class);
253 332 if (patients == null) {
254 333 return RespBuilder.buildSuccess("建档数据未找到");
255   - }*//*
  334 + }
  335 + TemporaryUserModel temporaryUser = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(template.getTemporaryUserId())), TemporaryUserModel.class);
256 336 Map<String, Object> map = ReflectionUtils.beanToMap(template);
257 337 //http://jira.healthbaby.com.cn/browse/WEB-2744
258 338 String bregmatic = "";
259 339 try {
260   - if (org.apache.commons.lang.StringUtils.isEmpty(template.getBregmatic()) || "null".equals(template.getBregmatic())) {
  340 + if (org.apache.commons.lang.StringUtils.isEmpty(temporaryUser.getBregmatic()) || "null".equals(temporaryUser.getBregmatic())) {
261 341 bregmatic = "未知";
262 342 } else {
263   - bregmatic = BregmaticEnums2.getName(template.getBregmatic());
  343 + bregmatic = BregmaticEnums2.getName(temporaryUser.getBregmatic());
264 344 }
265 345 } catch (Exception e) {
266 346 bregmatic = "未知";
... ... @@ -275,7 +355,7 @@
275 355 if (MapUtils.isNotEmpty(dayWeights)) {
276 356 Set<Map.Entry<String, String>> entries = dayWeights.entrySet();
277 357 for (Map.Entry<String, String> entry : entries) {
278   - weights.put(DateUtil.getWeek2(template.getLastMenses(), DateUtil.parseYMD(entry.getKey())), entry.getValue());
  358 + weights.put(DateUtil.getWeek2(temporaryUser.getLastMenses(), DateUtil.parseYMD(entry.getKey())), entry.getValue());
279 359 }
280 360 }
281 361  
282 362  
... ... @@ -284,14 +364,14 @@
284 364 } else {
285 365 map.put("isShow", false);
286 366 }
287   - patientWeightService.setReport(map, weights, template.getBeforeWeight(), template.getBmi(), template.getDayWeights(), template.getBregmatic());
  367 + patientWeightService.setReport(map, weights, temporaryUser.getBeforeWeight(), template.getBmi(), template.getDayWeights(), temporaryUser.getBregmatic());
288 368  
289 369 //高危报告权限判断
290 370 List<String> healthy = new ArrayList();
291 371 healthy.add("d42eec03-aa86-45b8-a4e0-78a0ff365fb6");//健康id//
292 372 healthy.add("a427da89-594a-46c2-b9f7-1b0d355ce54c");//28>BMI>25
293 373 healthy.add("5a40c6c5422b03d4ad2bf7bd");//BMI<18.5
294   - if (null == template.getRiskFactorId() || healthy.containsAll(template.getRiskFactorId())) {
  374 + if (null == temporaryUser.getRiskFactorId() || healthy.containsAll(temporaryUser.getRiskFactorId())) {
295 375 map.put("flag", false);
296 376 } else {
297 377 map.put("flag", true);
298 378  
299 379  
300 380  
301 381  
302 382  
303 383  
304 384  
305 385  
306 386  
307 387  
308 388  
... ... @@ -319,59 +399,58 @@
319 399 }
320 400  
321 401  
322   - *//**
  402 + /**
323 403 * 体重标准报告
324   - *//*
  404 + */
325 405 @Override
326 406 public BaseResponse report(String id, Integer userId, String rid) {
327   - TemporaryWeightModel template = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id)), TemporaryWeightModel.class);
328 407 String hospitalId = autoMatchFacade.getHospitalId(userId);
329 408 Organization org = organizationService.getOrganization(Integer.parseInt(hospitalId));
  409 +
330 410 BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(org.getProvinceId());
331   - *//* PatientWeight patientWeight = mongoTemplate.findById(id, PatientWeight.class);*//*
332   - if (template != null) {
  411 +
  412 + //PatientWeight patientWeight = mongoTemplate.findById(id, PatientWeight.class);
  413 + TemporaryWeightModel temporaryWeight = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id)), TemporaryWeightModel.class);
  414 + if (temporaryWeight != null) {
333 415 Map<String, Object> map = new LinkedHashMap<>();
334   - *//* Patients patients = mongoTemplate.findById(template.getPatientId(), Patients.class);*//*
  416 + //Patients patients = mongoTemplate.findById(patientWeight.getPatientId(), Patients.class);
  417 + TemporaryUserModel temporaryUser = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(temporaryWeight.getTemporaryUserId())), TemporaryUserModel.class);
335 418 Integer week = null;
336   - //if (patients != null) {
337   - //map.put("vcCard", patients.getVcCardNo());
338   - map.put("username", template.getUserName());
339   - map.put("phone", template.getPhone());
340   - Calendar rightNow = Calendar.getInstance();
341   - rightNow.setTime(template.getLastMenses());
342   - rightNow.add(Calendar.DAY_OF_YEAR, 280);
343   - map.put("dueDate", DateUtil.getyyyy_MM_dd(rightNow.getTime()));
344   - map.put("age", template.getAge() + " 岁");
345   - week = DateUtil.getWeek2(template.getLastMenses(), new Date());
346   - String yunqi = "孕" + String.valueOf(week) + "周";
347   - map.put("yunqi", yunqi);
348   - //}
  419 + if (temporaryUser != null) {
  420 + map.put("username", temporaryUser.getUserName());
  421 + map.put("phone", temporaryUser.getPhone());
  422 + // map.put("dueDate", DateUtil.getyyyy_MM_dd(patients.getDueDate()));
  423 + map.put("age", DateUtil.getAge(temporaryUser.getBirth()) + " 岁");
  424 + week = DateUtil.getWeek2(temporaryUser.getLastMenses(), new Date());
  425 + String yunqi = "孕" + String.valueOf(week) + "周";
  426 + map.put("yunqi", yunqi);
  427 + }
349 428 map.put("week", week);
350   - map.put("bregmatic", StringUtils.isNotEmpty(template.getBregmatic()) ? template.getBregmatic() : "1");
351   - map.put("height", template.getBeforeHeight() == null ? "" : MathUtil.doubleFormat(Double.parseDouble(template.getBeforeHeight()) / 100) + " 米");
352   - map.put("beforeWeight", template.getBeforeWeight() == null ? "" : template.getBeforeWeight() + " 公斤");
353   - map.put("bmi", template.getBmi());
354   - map.put("nowWeight", template.getNowWeight() + " 公斤");
355   - String pregnancy = DateUtil.getWeekDesc(template.getLastMenses(), new Date());
  429 + map.put("bregmatic", StringUtils.isNotEmpty(temporaryUser.getBregmatic()) ? temporaryUser.getBregmatic() : "1");
  430 + map.put("height", temporaryUser.getBeforeHeight() == null ? "" : MathUtil.doubleFormat(Double.parseDouble(temporaryUser.getBeforeHeight()) / 100) + " 米");
  431 + map.put("beforeWeight", temporaryUser.getBeforeWeight() == null ? "" : temporaryUser.getBeforeWeight() + " 公斤");
  432 + map.put("bmi", temporaryWeight.getBmi());
  433 + map.put("nowWeight", temporaryWeight.getNowWeight() + " 公斤");
  434 + String pregnancy = DateUtil.getWeekDesc(temporaryUser.getLastMenses(), new Date());
356 435  
357 436 if (StringUtils.isNotEmpty(pregnancy) && pregnancy.endsWith("0天")) {
358 437 pregnancy.replaceAll("\\+0天", "");
359 438 }
360 439 map.put("pregnancy", pregnancy);
361   - if (week != null && StringUtils.isNotEmpty(template.getBmi())) {
  440 + if (week != null && StringUtils.isNotEmpty(temporaryWeight.getBmi())) {
362 441  
363 442 //setInfo(week, map); // 设置孕期相关营养信息
364 443 if (week > 5 && week < 41) {
365   - double bmi = Double.parseDouble(template.getBmi());
  444 + double bmi = Double.parseDouble(temporaryWeight.getBmi());
366 445 //根据高危获取不同的卡路里计算公式
367 446  
368 447 Map<String, String> kmap = null;
369 448 //威海市妇幼热量单独计算
370 449 if ("2100001635".equals(hospitalId)) {
371   - kmap = getWhComputeKul(week, Double.parseDouble(template.getNowWeight()), Double.parseDouble(template.getBeforeWeight()), template.getBregmatic(), bmi);
  450 + kmap = getWhComputeKul(week, Double.parseDouble(temporaryWeight.getNowWeight()), Double.parseDouble(temporaryUser.getBeforeWeight()), temporaryUser.getBregmatic(), bmi);
372 451 } else {
373   - kmap = computeKulServiceManager.getComputeKulByRisk(rid).getComputeKul(Double.parseDouble(template.getBeforeWeight()),
374   - Double.parseDouble(template.getNowWeight()), week, bmi, template.getBregmatic(), template.getBeforeHeight());
  452 + kmap = computeKulServiceManager.getComputeKulByRisk(rid).getComputeKul(Double.parseDouble(temporaryUser.getBeforeWeight()),
  453 + Double.parseDouble(temporaryWeight.getNowWeight()), week, bmi, temporaryUser.getBregmatic(), temporaryUser.getBeforeHeight());
375 454 }
376 455 if (map == null || map.size() == 0) {
377 456 return null;
378 457  
379 458  
380 459  
... ... @@ -394,17 +473,19 @@
394 473 }
395 474 }
396 475  
397   - Map<String, String> dayWeights = template.getDayWeights();
  476 + Map<String, String> dayWeights = temporaryWeight.getDayWeights();
398 477 Map<Integer, String> weights = new LinkedHashMap<>();
399 478 if (MapUtils.isNotEmpty(dayWeights)) {
400 479 Set<Map.Entry<String, String>> entries = dayWeights.entrySet();
401 480 for (Map.Entry<String, String> entry : entries) {
402   - weights.put(DateUtil.getWeek2(template.getLastMenses(), DateUtil.parseYMD(entry.getKey())), entry.getValue());
  481 + weights.put(DateUtil.getWeek2(temporaryUser.getLastMenses(), DateUtil.parseYMD(entry.getKey())), entry.getValue());
403 482 }
404 483 }
405   - patientWeightService.setReport(map, weights, template.getBeforeWeight(), template.getBmi(), template.getDayWeights(), template.getBregmatic());
406   - healthChargeFacade.addHealthCharge(hospitalId, 1, id, 1, 2, userId);
  484 + patientWeightService.setReport(map, weights, temporaryUser.getBeforeWeight(), temporaryWeight.getBmi(), temporaryWeight.getDayWeights(), temporaryUser.getBregmatic());
407 485 CollectionUtils.removeNullValue(map);
  486 +
  487 +
  488 + // healthChargeFacade.addHealthCharge(hospitalId, 1, patientWeight.getPatientId(), 1, 1, userId);
408 489 return RespBuilder.buildSuccess(map);
409 490 }
410 491 return RespBuilder.buildSuccess();
411 492  
412 493  
... ... @@ -605,13 +686,14 @@
605 686 Map<String, Map<String, Object>> datas = new TreeMap<>();
606 687 String hospitalId = autoMatchFacade.getHospitalId(userId);
607 688 TemporaryWeightModel temporary = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id)), TemporaryWeightModel.class);
608   - String weight = temporary.getBeforeWeight();
609   - Double heights = Double.valueOf(temporary.getBeforeHeight()).doubleValue() / 100;
610   - int week = DateUtil.getWeek2(temporary.getLastMenses(), new Date());
  689 + TemporaryUserModel temporaryUser = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(temporary.getTemporaryUserId())), TemporaryUserModel.class);
  690 + String weight = temporaryUser.getBeforeWeight();
  691 + Double heights = Double.valueOf(temporaryUser.getBeforeHeight()).doubleValue() / 100;
  692 + int week = DateUtil.getWeek2(temporaryUser.getLastMenses(), new Date());
611 693 //获取胎数
612   - String bregmatic = temporary.getBregmatic();
  694 + String bregmatic = temporaryUser.getBregmatic();
613 695 //获取bmi值
614   - Double bmiD = Double.valueOf(patientWeightService.getBmi(temporary.getBeforeWeight(), temporary.getBeforeHeight())).doubleValue();
  696 + Double bmiD = Double.valueOf(patientWeightService.getBmi(temporaryUser.getBeforeWeight(), temporaryUser.getBeforeHeight())).doubleValue();
615 697 String bmiStr = "";
616 698 //空和1表示单胎
617 699 if (!org.apache.commons.lang.StringUtils.isNotEmpty(bregmatic) || "1".equals(bregmatic)) {
618 700  
619 701  
... ... @@ -649,12 +731,12 @@
649 731 }
650 732 }
651 733 //计算出属于那种类型 偏重 还事负重 还是正常 当前体重-孕前体重
652   - Double residualWeight = Double.valueOf(temporary.getNowWeight()).doubleValue() - Double.valueOf(temporary.getBeforeWeight()).doubleValue();
  734 + Double residualWeight = Double.valueOf(temporary.getNowWeight()).doubleValue() - Double.valueOf(temporaryUser.getBeforeWeight()).doubleValue();
653 735 //贫血/高血压计算规则
654   - Integer gxyKcal = this.getRounding((int) this.getKcal(bregmatic, residualWeight, low, high, week, bmiD, temporary, heights, 1.12));
  736 + Integer gxyKcal = this.getRounding((int) this.getKcal(bregmatic, residualWeight, temporaryUser, low, high, week, bmiD, temporary, heights, 1.12));
655 737 String gxyKcalStr = gxyKcal + "kcal";
656 738 //获取慢性肝炎的计算规则
657   - Integer mxgyKcal = this.getRounding((int) this.getHepatitisKcal(temporary, bregmatic, residualWeight, low, high, bmiD, week));
  739 + Integer mxgyKcal = this.getRounding((int) this.getHepatitisKcal(temporary, temporaryUser, bregmatic, residualWeight, low, high, bmiD, week));
658 740 String mxgyKcalStr = mxgyKcal + "kcal";
659 741 //急性肝炎计算规则
660 742 Integer kcal = getRounding((int) this.getAcuteHepatitis(heights, week));
661 743  
662 744  
... ... @@ -663,13 +745,13 @@
663 745 Integer diabetesKcal = getDiabetesRounding((int) this.getDiabetes(heights, week));
664 746 String diabetesKcalStr = diabetesKcal + "kcal";
665 747 //甲亢计算规则
666   - Integer gkKcal = this.getRounding((int) this.getKcal(bregmatic, residualWeight, low, high, week, bmiD, temporary, heights, 1.45));
  748 + Integer gkKcal = this.getRounding((int) this.getKcal(bregmatic, residualWeight, temporaryUser, low, high, week, bmiD, temporary, heights, 1.45));
667 749 String gkKcalStr = gkKcal + "kcal";
668 750 //甲减计算规则
669   - Integer gjKcal = this.getRounding((int) this.getKcal(bregmatic, residualWeight, low, high, week, bmiD, temporary, heights, 1.0));
  751 + Integer gjKcal = this.getRounding((int) this.getKcal(bregmatic, residualWeight, temporaryUser, low, high, week, bmiD, temporary, heights, 1.0));
670 752 String gjKcalStr = gjKcal + "kcal";
671 753 //获取改孕妇的高危项
672   - List<String> risks = temporary.getRiskFactorId();
  754 + List<String> risks = temporaryUser.getRiskFactorId();
673 755 if (CollectionUtils.isNotEmpty(risks)) {
674 756 for (String risk : risks) {
675 757 BasicConfig basicConfigs = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(risk)), BasicConfig.class);
... ... @@ -681,7 +763,7 @@
681 763 if (MapUtils.isNotEmpty(dayWeights)) {
682 764 Set<Map.Entry<String, String>> entries = dayWeights.entrySet();
683 765 for (Map.Entry<String, String> entry : entries) {
684   - weights.put(DateUtil.getWeek2(temporary.getLastMenses(), DateUtil.parseYMD(entry.getKey())), entry.getValue());
  766 + weights.put(DateUtil.getWeek2(temporaryUser.getLastMenses(), DateUtil.parseYMD(entry.getKey())), entry.getValue());
685 767 }
686 768 }
687 769 Map<String, Object> data0 = new HashMap<>();
... ... @@ -691,7 +773,7 @@
691 773 Map<String, Object> data4 = new HashMap<>();
692 774 Map<String, Object> data5 = new HashMap<>();
693 775 Map<String, Object> data6 = new HashMap<>();
694   - List<String> reiskFactor = temporary.getRiskFactorId();
  776 + List<String> reiskFactor = temporaryUser.getRiskFactorId();
695 777 List<WeightReportModel> weightReport = mongoTemplate.findAll(WeightReportModel.class);
696 778 if (reiskFactor.isEmpty() && weightReport.isEmpty()) {
697 779 return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("对象值为空!").setData("");
698 780  
699 781  
700 782  
701 783  
702 784  
703 785  
... ... @@ -701,31 +783,31 @@
701 783 if (reis.equals(weightReportModel.getgDMId()) || reis.equals(weightReportModel.getoDIPId()) ||
702 784 reis.equals(weightReportModel.getMedicationDiabetesID())) {
703 785 //糖尿病diabetes
704   - datas.put("1", this.getDiabetestInfo(weights, data3, weightReportModel, temporary, bmiD, week, diabetesKcalStr));
  786 + datas.put("1", this.getDiabetestInfo(weights, data3, weightReportModel, temporary, temporaryUser, bmiD, week, diabetesKcalStr));
705 787  
706 788 } else if (reis.equals(weightReportModel.getGestationalHypertensionGHID()) || reis.equals(weightReportModel.getChronicHypertensionID())) {
707 789 //高血压hypertension
708   - datas.put("3", this.getInfo(weights, data2, weightReportModel, temporary, bmiD, week, gxyKcalStr));
  790 + datas.put("3", this.getInfo(weights, data2, weightReportModel, temporary, temporaryUser, bmiD, week, gxyKcalStr));
709 791 } else if (reis.equals(weightReportModel.getHyperthyroidismNeedID()) || reis.equals(weightReportModel.getHyperthyroidismID())) {
710 792 //甲亢hyperthyroidism
711 793  
712   - datas.put("4", this.getDiabetestInfo(weights, data4, weightReportModel, temporary, bmiD, week, gkKcalStr));
  794 + datas.put("4", this.getDiabetestInfo(weights, data4, weightReportModel, temporary, temporaryUser, bmiD, week, gkKcalStr));
713 795 } else if (reis.equals(weightReportModel.getHypothyroidismID()) || reis.equals(weightReportModel.getyLCHypothyroidismID()) ||
714 796 reis.equals(weightReportModel.getHypothyroidismNeedID())) {
715 797 //甲减hypothyroidism
716 798  
717   - datas.put("5", this.getDiabetestInfo(weights, data5, weightReportModel, temporary, bmiD, week, gjKcalStr));
  799 + datas.put("5", this.getDiabetestInfo(weights, data5, weightReportModel, temporary, temporaryUser, bmiD, week, gjKcalStr));
718 800 } else if (reis.equals(weightReportModel.getAnemiaPregnancyId()) || reis.equals(weightReportModel.getMildAnemiaID()) ||
719 801 reis.equals(weightReportModel.getModerateAnemiaID()) || reis.equals(weightReportModel.getSevereAnemiaID()) ||
720 802 reis.equals(weightReportModel.getSevereAnemiaHBID()) || reis.equals(weightReportModel.getObstructiveAnemiaID())) {
721 803 //贫血anemia
722   - datas.put("6", this.getInfo(weights, data0, weightReportModel, temporary, bmiD, week, gxyKcalStr));
  804 + datas.put("6", this.getInfo(weights, data0, weightReportModel, temporary, temporaryUser, bmiD, week, gxyKcalStr));
723 805 } else if (reis.equals(weightReportModel.getDiseasesDigestiveSystemId()) || reis.equals(weightReportModel.getViralHepatitisId())) {
724 806 //急性肝炎acuteHepatitis
725   - datas.put("7", this.getInfo(weights, data1, weightReportModel, temporary, bmiD, week, kcals));
  807 + datas.put("7", this.getInfo(weights, data1, weightReportModel, temporary, temporaryUser, bmiD, week, kcals));
726 808 } else if (reis.equals(weightReportModel.getCirrhosis()) || reis.equals(weightReportModel.getLiverFunctionErrorId())) {
727 809 //慢性肝炎chronicHepatitis
728   - datas.put("8", this.getInfo(weights, data6, weightReportModel, temporary, bmiD, week, mxgyKcalStr));
  810 + datas.put("8", this.getInfo(weights, data6, weightReportModel, temporary, temporaryUser, bmiD, week, mxgyKcalStr));
729 811 }
730 812 }
731 813 }
732 814  
733 815  
734 816  
735 817  
... ... @@ -763,22 +845,22 @@
763 845 }
764 846  
765 847  
766   - public Map getInfo(Map<Integer, String> weights, Map<String, Object> data, WeightReportModel weightReportModel, TemporaryWeightModel model, double bmi, int week, String kcal) {
767   - patientWeightService.setReport(data, weights, model.getBeforeWeight(), model.getBmi(), model.getDayWeights(), model.getBregmatic());
  848 + public Map getInfo(Map<Integer, String> weights, Map<String, Object> data, WeightReportModel weightReportModel, TemporaryWeightModel model, TemporaryUserModel temporaryUser, double bmi, int week, String kcal) {
  849 + patientWeightService.setReport(data, weights, temporaryUser.getBeforeWeight(), model.getBmi(), model.getDayWeights(), temporaryUser.getBregmatic());
768 850 Map userMap = new HashMap();
769   - userMap.put("userName", model.getUserName());
770   - userMap.put("age", model.getAge() + "岁");
771   - userMap.put("height", model.getBeforeHeight() + "cm");
  851 + userMap.put("userName", temporaryUser.getUserName());
  852 + userMap.put("age", DateUtil.getAge(temporaryUser.getBirth()) + "岁");
  853 + userMap.put("height", temporaryUser.getBeforeHeight() + "cm");
772 854 userMap.put("bmi", bmi);
773 855 userMap.put("week", "孕" + week + "周");
774 856 //userMap.put("vcCardNo", patients.getVcCardNo());
775   - userMap.put("phone", model.getPhone());
  857 + userMap.put("phone", temporaryUser.getPhone());
776 858 Calendar rightNow = Calendar.getInstance();
777   - rightNow.setTime(model.getLastMenses());
  859 + rightNow.setTime(temporaryUser.getLastMenses());
778 860 rightNow.add(Calendar.DAY_OF_YEAR, 280);
779 861 userMap.put("dueDate", DateUtil.getyyyy_MM_dd(rightNow.getTime()));
780 862 userMap.put("NowWeight", model.getNowWeight() + "kg");
781   - userMap.put("BeforeWeight", model.getBeforeWeight() + "kg");
  863 + userMap.put("BeforeWeight", temporaryUser.getBeforeWeight() + "kg");
782 864 //userMap.put("riskFactor", set);
783 865 data.put("userInfo", userMap);
784 866 Map map2 = new HashMap();
... ... @@ -820,7 +902,7 @@
820 902 healthy.add("d42eec03-aa86-45b8-a4e0-78a0ff365fb6");//健康id//
821 903 healthy.add("a427da89-594a-46c2-b9f7-1b0d355ce54c");//28>BMI>25
822 904 healthy.add("5a40c6c5422b03d4ad2bf7bd");//BMI<18.5
823   - if (model.getRiskFactorId().size() - this.getSame(healthy, model.getRiskFactorId()).size() >= 2) {
  905 + if (temporaryUser.getRiskFactorId().size() - this.getSame(healthy, temporaryUser.getRiskFactorId()).size() >= 2) {
824 906 Map map = new HashMap();
825 907 map.put("tipsInfo", "您当前情况存在两种及以上高危风险因素,需请您的主管医生结合临床实际情况对报告进行解读,并根据医生解读建议,指导日常营养膳食");
826 908 data.put("tips", map);
827 909  
828 910  
829 911  
830 912  
... ... @@ -829,22 +911,22 @@
829 911 }
830 912  
831 913  
832   - public Map getDiabetestInfo(Map<Integer, String> weights, Map<String, Object> data, WeightReportModel weightReportModel, TemporaryWeightModel model, double bmi, int week, String kcal) {
833   - patientWeightService.setReport(data, weights, model.getBeforeWeight(), model.getBmi(), model.getDayWeights(), model.getBregmatic());
  914 + public Map getDiabetestInfo(Map<Integer, String> weights, Map<String, Object> data, WeightReportModel weightReportModel, TemporaryWeightModel model, TemporaryUserModel temporaryUser, double bmi, int week, String kcal) {
  915 + patientWeightService.setReport(data, weights, temporaryUser.getBeforeWeight(), model.getBmi(), model.getDayWeights(), temporaryUser.getBregmatic());
834 916 Map userMap = new HashMap();
835   - userMap.put("userName", model.getUserName());
836   - userMap.put("age", model.getAge() + "岁");
837   - userMap.put("height", model.getBeforeHeight() + "cm");
  917 + userMap.put("userName", temporaryUser.getUserName());
  918 + userMap.put("age", DateUtil.getAge(temporaryUser.getBirth()) + "岁");
  919 + userMap.put("height", temporaryUser.getBeforeHeight() + "cm");
838 920 userMap.put("bmi", bmi);
839 921 userMap.put("week", "孕" + week + "周");
840 922 // userMap.put("vcCardNo", patients.getVcCardNo());
841   - userMap.put("phone", model.getPhone());
  923 + userMap.put("phone", temporaryUser.getPhone());
842 924 Calendar rightNow = Calendar.getInstance();
843   - rightNow.setTime(model.getLastMenses());
  925 + rightNow.setTime(temporaryUser.getLastMenses());
844 926 rightNow.add(Calendar.DAY_OF_YEAR, 280);
845 927 userMap.put("dueDate", DateUtil.getyyyy_MM_dd(rightNow.getTime()));
846 928 userMap.put("NowWeight", model.getNowWeight() + "kg");
847   - userMap.put("BeforeWeight", model.getBeforeWeight() + "kg");
  929 + userMap.put("BeforeWeight", temporaryUser.getBeforeWeight() + "kg");
848 930  
849 931 data.put("userInfo", userMap);
850 932 Map map2 = new HashMap();
... ... @@ -880,7 +962,7 @@
880 962 healthy.add("d42eec03-aa86-45b8-a4e0-78a0ff365fb6");//健康id//
881 963 healthy.add("a427da89-594a-46c2-b9f7-1b0d355ce54c");//28>BMI>25
882 964 healthy.add("5a40c6c5422b03d4ad2bf7bd");//BMI<18.5
883   - if (model.getRiskFactorId().size() - this.getSame(healthy, model.getRiskFactorId()).size() >= 2) {
  965 + if (temporaryUser.getRiskFactorId().size() - this.getSame(healthy, temporaryUser.getRiskFactorId()).size() >= 2) {
884 966 Map map = new HashMap();
885 967 map.put("tipsInfo", "您当前情况存在两种及以上高危风险因素,需请您的主管医生结合临床实际情况对报告进行解读,并根据医生解读建议,指导日常营养膳食");
886 968 data.put("tips", map);
... ... @@ -976,8 +1058,8 @@
976 1058  
977 1059 //计算慢性肝炎,肝硬化计算规则
978 1060  
979   - public double getHepatitisKcal(TemporaryWeightModel weightModel, String bregmatic, double residualWeight, double low, double high, double bmiD, int weeks) {
980   - Double beforWeight = Double.valueOf(weightModel.getBeforeWeight()).doubleValue();
  1061 + public double getHepatitisKcal(TemporaryWeightModel weightModel, TemporaryUserModel temporaryUser, String bregmatic, double residualWeight, double low, double high, double bmiD, int weeks) {
  1062 + Double beforWeight = Double.valueOf(temporaryUser.getBeforeWeight()).doubleValue();
981 1063 //单胎
982 1064 if ("1".equals(bregmatic) && com.lyms.platform.common.utils.StringUtils.isNotEmpty(bregmatic)) {
983 1065 if (residualWeight >= low - 1.0 && residualWeight <= high + 1.0 && bmiD < 18.5 && weeks >= 0 && weeks <= 12) {
... ... @@ -1065,7 +1147,7 @@
1065 1147 else if (residualWeight < 0) {
1066 1148 //重新计算bmi值
1067 1149 String weight = weightModel.getNowWeight();
1068   - String height = weightModel.getBeforeHeight();
  1150 + String height = temporaryUser.getBeforeHeight();
1069 1151 Double bmiDs = Double.valueOf(patientWeightService.getBmi(weight, height)).doubleValue();
1070 1152 if (bmiDs < 18.5 && weeks >= 0 && weeks <= 12) {
1071 1153 return beforWeight * 40 + 300;
... ... @@ -1168,7 +1250,7 @@
1168 1250 } else if (residualWeight < 0) {
1169 1251 //重新计算bmi值
1170 1252 String weight = weightModel.getNowWeight();
1171   - String height = weightModel.getBeforeHeight();
  1253 + String height = temporaryUser.getBeforeHeight();
1172 1254 Double bmiDs = Double.valueOf(patientWeightService.getBmi(weight, height)).doubleValue();
1173 1255 if (bmiDs <= 24.9 && weeks >= 0 && weeks <= 12) {
1174 1256 return beforWeight * 40 + 300;
1175 1257  
... ... @@ -1244,10 +1326,10 @@
1244 1326 }
1245 1327  
1246 1328 //获取甲减 / 甲亢 /慢性肝炎 /贫血的热量值
1247   - public double getKcal(String bregmatic, double residualWeight, double low, double high, int weeks, double bmiD, TemporaryWeightModel weightModel,
  1329 + public double getKcal(String bregmatic, double residualWeight, TemporaryUserModel temporaryUser, double low, double high, int weeks, double bmiD, TemporaryWeightModel weightModel,
1248 1330 double heights, double variable) {
1249   - Double beforWeight = Double.valueOf(weightModel.getBeforeWeight()).doubleValue();
1250   - int age = weightModel.getAge();
  1331 + Double beforWeight = Double.valueOf(temporaryUser.getBeforeWeight()).doubleValue();
  1332 + int age = DateUtil.getAge(temporaryUser.getBirth());
1251 1333 Double number = 354 - 6.91 * age + variable * (9.36 * beforWeight + 726 * heights);
1252 1334 //单胎
1253 1335 if ("1".equals(bregmatic) && com.lyms.platform.common.utils.StringUtils.isNotEmpty(bregmatic)) {
... ... @@ -1336,7 +1418,7 @@
1336 1418 else if (residualWeight < 0) {
1337 1419 //重新计算bmi值
1338 1420 String weight = weightModel.getNowWeight();
1339   - String height = weightModel.getBeforeHeight();
  1421 + String height = temporaryUser.getBeforeHeight();
1340 1422 Double bmiDs = Double.valueOf(patientWeightService.getBmi(weight, height)).doubleValue();
1341 1423 if (bmiDs < 18.5 && weeks >= 0 && weeks <= 12) {
1342 1424 return number + 300;
... ... @@ -1439,7 +1521,7 @@
1439 1521 } else if (residualWeight < 0) {
1440 1522 //重新计算bmi值
1441 1523 String weight = weightModel.getNowWeight();
1442   - String height = weightModel.getBeforeHeight();
  1524 + String height = temporaryUser.getBeforeHeight();
1443 1525 Double bmiDs = Double.valueOf(patientWeightService.getBmi(weight, height)).doubleValue();
1444 1526 if (bmiDs <= 24.9 && weeks >= 0 && weeks <= 12) {
1445 1527 return number + 300;
... ... @@ -1466,6 +1548,6 @@
1466 1548 }
1467 1549 return 0.0;
1468 1550 }
1469   -*/
  1551 +
1470 1552 }