From ce6608e0e0888f03c15ad1ecc386e1ae6e379441 Mon Sep 17 00:00:00 2001 From: wangbo <184677810@qq.com> Date: Mon, 29 Apr 2019 15:37:46 +0800 Subject: [PATCH] update --- .../lyms/platform/pojo/TemporaryWeightModel.java | 128 ++----- .../web/controller/TemporaryUserController.java | 4 +- .../web/controller/TemporaryWeightController.java | 16 +- .../operate/web/facade/HealthChargeFacade.java | 2 +- .../operate/web/service/ITemporaryUserService.java | 2 +- .../web/service/TemporaryWeightService.java | 5 +- .../service/impl/TemporaryBloodServiceImpl.java | 62 ++-- .../impl/TemporaryBloodSugarServiceImpl.java | 4 +- .../service/impl/TemporaryWeightServiceImpl.java | 404 +++++++++++++-------- 9 files changed, 316 insertions(+), 311 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/TemporaryWeightModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/TemporaryWeightModel.java index 95c455f..963c401 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/TemporaryWeightModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/TemporaryWeightModel.java @@ -4,6 +4,7 @@ import com.lyms.platform.beans.SerialIdEnum; import com.lyms.platform.common.result.BaseModel; import org.springframework.data.mongodb.core.mapping.Document; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; @@ -13,48 +14,44 @@ public class TemporaryWeightModel extends BaseModel { private static final long serialVersionUID = SerialIdEnum.TemporaryWeightModel.getCid(); private String id; - private String userName; - private Integer age; private Integer yn; private String weeks; - // 孕前体重 - private String beforeWeight; - - // 孕前身高 - private String beforeHeight; - // 当前体重 private String nowWeight; - // 前囟 单胎/双胎/多胎 - private String bregmatic; - - private Date created; private Date modified; - //记录次数 - private Integer number; - - private String phone; - //高危因素 - private List riskFactorId; - //末次月经 - private Date lastMenses; private String bmi; private String cardID; - // 其他高危 - private String highriskDesc; - //高危补充说明 - private List otherRisk; - private String doctorName; private String hospitalId; + private String temporaryUserId; + + // 存储 key=年月日 value=时间+医院+体重 + private List> dayWeights2 = new ArrayList<>(); + + public List> getDayWeights2() { + return dayWeights2; + } + + public void setDayWeights2(List> dayWeights2) { + this.dayWeights2 = dayWeights2; + } + + public String getTemporaryUserId() { + return temporaryUserId; + } + + public void setTemporaryUserId(String temporaryUserId) { + this.temporaryUserId = temporaryUserId; + } + public String getHospitalId() { return hospitalId; } @@ -71,21 +68,6 @@ public class TemporaryWeightModel extends BaseModel { this.doctorName = doctorName; } - public String getHighriskDesc() { - return highriskDesc; - } - - public void setHighriskDesc(String highriskDesc) { - this.highriskDesc = highriskDesc; - } - - public List getOtherRisk() { - return otherRisk; - } - - public void setOtherRisk(List otherRisk) { - this.otherRisk = otherRisk; - } public String getCardID() { return cardID; @@ -102,15 +84,6 @@ public class TemporaryWeightModel extends BaseModel { return dayWeights; } - - public Date getLastMenses() { - return lastMenses; - } - - public void setLastMenses(Date lastMenses) { - this.lastMenses = lastMenses; - } - public void setDayWeights(Map dayWeights) { this.dayWeights = dayWeights; } @@ -123,9 +96,6 @@ public class TemporaryWeightModel extends BaseModel { this.bmi = bmi; } - public List getRiskFactorId() { - return riskFactorId; - } public Integer getYn() { return yn; @@ -135,17 +105,6 @@ public class TemporaryWeightModel extends BaseModel { this.yn = yn; } - public void setRiskFactorId(List riskFactorId) { - this.riskFactorId = riskFactorId; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } public static long getSerialVersionUID() { return serialVersionUID; @@ -159,21 +118,6 @@ public class TemporaryWeightModel extends BaseModel { this.id = id; } - public String getUserName() { - return userName; - } - - public void setUserName(String userName) { - this.userName = userName; - } - - public Integer getAge() { - return age; - } - - public void setAge(Integer age) { - this.age = age; - } public String getWeeks() { return weeks; @@ -183,21 +127,6 @@ public class TemporaryWeightModel extends BaseModel { this.weeks = weeks; } - public String getBeforeWeight() { - return beforeWeight; - } - - public void setBeforeWeight(String beforeWeight) { - this.beforeWeight = beforeWeight; - } - - public String getBeforeHeight() { - return beforeHeight; - } - - public void setBeforeHeight(String beforeHeight) { - this.beforeHeight = beforeHeight; - } public String getNowWeight() { return nowWeight; @@ -207,13 +136,6 @@ public class TemporaryWeightModel extends BaseModel { this.nowWeight = nowWeight; } - public String getBregmatic() { - return bregmatic; - } - - public void setBregmatic(String bregmatic) { - this.bregmatic = bregmatic; - } public Date getCreated() { return created; @@ -231,11 +153,5 @@ public class TemporaryWeightModel extends BaseModel { this.modified = modified; } - public Integer getNumber() { - return number; - } - public void setNumber(Integer number) { - this.number = number; - } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TemporaryUserController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TemporaryUserController.java index e1cd142..31fc13c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TemporaryUserController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TemporaryUserController.java @@ -47,8 +47,8 @@ public class TemporaryUserController extends BaseController { @RequestMapping(value = "/queryOne", method = RequestMethod.GET) @TokenRequired @ResponseBody - public BaseResponse queryOne(String id, String cardNo, String pone) { - return temporaryUserService.query(id, cardNo, pone); + public BaseResponse queryOne(String id, String cardNo, String phone) { + return temporaryUserService.query(id, cardNo, phone); } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TemporaryWeightController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TemporaryWeightController.java index a6ac416..f21a1d2 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TemporaryWeightController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TemporaryWeightController.java @@ -27,7 +27,7 @@ public class TemporaryWeightController extends BaseController { @RequestMapping(value = "/addOrUpdate", method = RequestMethod.POST) @TokenRequired @ResponseBody - public BaseResponse addTemporaryWeight(@Valid @RequestBody TemporaryWeightModel temporaryWeightModel, HttpServletRequest request) { + public BaseResponse addTemporaryWeight(TemporaryWeightModel temporaryWeightModel, HttpServletRequest request) { return temporaryWeightService.addTemporaryWeight(temporaryWeightModel, getUserId(request)); } @@ -50,7 +50,7 @@ public class TemporaryWeightController extends BaseController { public BaseResponse queryOne(String id) { return temporaryWeightService.queryOne(id); } - +*/ @RequestMapping(value = "/queryAll", method = RequestMethod.GET) @TokenRequired @ResponseBody @@ -66,12 +66,12 @@ public class TemporaryWeightController extends BaseController { } - *//** + /** * 体重营养管理报表 * * @param id * @return - *//* + */ @ResponseBody @RequestMapping(value = "/getWeightsReport/{id}", method = RequestMethod.GET) @TokenRequired @@ -85,12 +85,14 @@ public class TemporaryWeightController extends BaseController { } - *//** + + + /** * 体重标准报告 * * @param id * @return - *//* + */ @ResponseBody @RequestMapping(value = "report/{id}", method = RequestMethod.GET) @TokenRequired @@ -98,7 +100,7 @@ public class TemporaryWeightController extends BaseController { HttpServletRequest request, @RequestParam(value = "rid", required = false) String rid) { return temporaryWeightService.report(id, getUserId(request), rid); - }*/ + } protected Integer getUserId(HttpServletRequest request) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java index ba3a3ee..91af31c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java @@ -204,7 +204,7 @@ public class HealthChargeFacade { TemporaryWeightModel temporaryWeightModel = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id).and("yn").is(YnEnums.YES.getId())), TemporaryWeightModel.class); if (temporaryWeightModel != null) { - setMap(map, temporaryWeightModel.getUserName(), temporaryWeightModel.getAge(), temporaryWeightModel.getLastMenses(), created); + // setMap(map, temporaryWeightModel.getUserName(), temporaryWeightModel.getAge(), temporaryWeightModel.getLastMenses(), created); } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITemporaryUserService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITemporaryUserService.java index fc22b27..2a7d288 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITemporaryUserService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITemporaryUserService.java @@ -12,5 +12,5 @@ public interface ITemporaryUserService extends IBaseService { BaseResponse queryAll(String key, Integer age, Integer stateWeek, Integer endWeek, Integer page, Integer limit, Integer userId); - BaseResponse query(String id, String no, String pone); + BaseResponse query(String id, String no, String phone); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/TemporaryWeightService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/TemporaryWeightService.java index 62b3922..34f464d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/TemporaryWeightService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/TemporaryWeightService.java @@ -13,13 +13,14 @@ public interface TemporaryWeightService extends IBaseService { BaseResponse deleteTemporaryWeight(String Phone); /*BaseResponse queryOne(String id); - + */ BaseResponse queryAll(String key, Integer stateWeek, Integer endWeek, Integer age, Integer page, Integer limit, Integer userId); BaseResponse info(String id); + BaseResponse getWeightsReport(String phone, Integer userId, String rid); - BaseResponse report(String id, Integer userId, String rid);*/ + BaseResponse report(String id, Integer userId, String rid); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryBloodServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryBloodServiceImpl.java index 88c1e97..a8fbd9d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryBloodServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryBloodServiceImpl.java @@ -67,7 +67,7 @@ public class TemporaryBloodServiceImpl extends BaseServiceImpl implements ITempo temp.put("pulse", bloodPressure.getPulse()); temp.put("timestamp", DateUtil.getyyyy_MM_dd_hms(new Date())); temp.put("hospitalId", hospitalId); - TemporaryUserModel temporaryUserModel = mongoTemplate.findById(bloodPressure.getId(), TemporaryUserModel.class); + TemporaryUserModel temporaryUserModel = mongoTemplate.findById(bloodPressure.getTemporaryUserId(), TemporaryUserModel.class); TemporaryBloodModel bp = null; if (temporaryUserModel != null) { bp = mongoTemplate.findOne(Query.query(Criteria.where("temporaryUserId").is(temporaryUserModel.getId())), TemporaryBloodModel.class); @@ -166,7 +166,9 @@ public class TemporaryBloodServiceImpl extends BaseServiceImpl implements ITempo flag = true; } if (age != null) { - pCriteria.and("age").is(age); + Date start = DateUtil.getBeforeAge(age); + Date end = DateUtil.getBeforeAge(age + 1); + pCriteria.and("birth").gt(end).lte(start); flag = true; } if (flag) { @@ -235,36 +237,36 @@ public class TemporaryBloodServiceImpl extends BaseServiceImpl implements ITempo } - @Override - public BaseResponse info(String id, Date startDate) { - TemporaryBloodModel bloodPressure = mongoTemplate.findById(id, TemporaryBloodModel.class); - List> xyInfos = new ArrayList<>(); - List szyMin = Arrays.asList(60, 60, 60, 60, 60, 60, 60); - List ssyMax = Arrays.asList(140, 140, 140, 140, 140, 140, 140); - List ssy = new ArrayList<>(); - List szy = new ArrayList<>(); - List pulse = new ArrayList<>(); - List xAxis = new ArrayList<>(); - if (bloodPressure != null) { - List betweenDay = DateUtil.getBetweenDay(startDate, 7); - com.lyms.platform.operate.web.utils.CollectionUtils.reverse(betweenDay); - Map> infos = bloodPressure.getInfos(); - for (String date : betweenDay) { - Map temp = new HashMap<>(); - xyInfos.add(temp); + @Override + public BaseResponse info(String id, Date startDate) { + TemporaryBloodModel bloodPressure = mongoTemplate.findById(id, TemporaryBloodModel.class); + List> xyInfos = new ArrayList<>(); + List szyMin = Arrays.asList(60, 60, 60, 60, 60, 60, 60); + List ssyMax = Arrays.asList(140, 140, 140, 140, 140, 140, 140); + List ssy = new ArrayList<>(); + List szy = new ArrayList<>(); + List pulse = new ArrayList<>(); + List xAxis = new ArrayList<>(); + if (bloodPressure != null) { + List betweenDay = DateUtil.getBetweenDay(startDate, 7); + com.lyms.platform.operate.web.utils.CollectionUtils.reverse(betweenDay); + Map> infos = bloodPressure.getInfos(); + for (String date : betweenDay) { + Map temp = new HashMap<>(); + xyInfos.add(temp); - temp.put("date", date); - temp.put("ssy", infos.containsKey(date) ? infos.get(date).get("ssy") : "--"); - temp.put("szy", infos.containsKey(date) ? infos.get(date).get("szy") : "--"); + temp.put("date", date); + temp.put("ssy", infos.containsKey(date) ? infos.get(date).get("ssy") : "--"); + temp.put("szy", infos.containsKey(date) ? infos.get(date).get("szy") : "--"); - xAxis.add(date.replace("-", "/")); - ssy.add(infos.containsKey(date) ? infos.get(date).get("ssy") : 0); - szy.add(infos.containsKey(date) ? infos.get(date).get("szy") : 0); - pulse.add(infos.containsKey(date) ? (Integer) infos.get(date).get("pulse") : "--"); - } + xAxis.add(date.replace("-", "/")); + ssy.add(infos.containsKey(date) ? infos.get(date).get("ssy") : 0); + szy.add(infos.containsKey(date) ? infos.get(date).get("szy") : 0); + pulse.add(infos.containsKey(date) ? (Integer) infos.get(date).get("pulse") : "--"); } - return RespBuilder.buildSuccess("xyInfos", xyInfos, "szyMin", szyMin, "ssyMax", ssyMax, "ssy", ssy, "szy", szy, "pulse", pulse); } + return RespBuilder.buildSuccess("xyInfos", xyInfos, "szyMin", szyMin, "ssyMax", ssyMax, "ssy", ssy, "szy", szy, "pulse", pulse); + } @Override public BaseResponse getXyPresentation(String id, Integer userId) { @@ -335,7 +337,7 @@ public class TemporaryBloodServiceImpl extends BaseServiceImpl implements ITempo Double residualWeight = Double.valueOf(temporaryBloo.getNowWeight()).doubleValue() - Double.valueOf(temporaryBloo.getBeforeWeight()).doubleValue(); //把厘米转换成米 Double heights = (Double.valueOf(temporaryBloo.getBeforeHeight()).doubleValue()) / 100d; - int cals = this.getRounding((int) this.getCal(bregmatic, residualWeight, low, high, weeks, bmiD, temporaryBloo, heights,temporaryUser)); + int cals = this.getRounding((int) this.getCal(bregmatic, residualWeight, low, high, weeks, bmiD, temporaryBloo, heights, temporaryUser)); String calStr = cals + "kcal"; List xyPresentationModels = mongoTemplate.find(Query.query(Criteria.where("originWeek").lte(weeks).and("endWeek").gte(weeks)), XyPresentationModel.class); XyPresentationModel xy = mongoTemplate.findOne(Query.query(Criteria.where("quantityHeat").is(calStr)), XyPresentationModel.class); @@ -435,7 +437,7 @@ public class TemporaryBloodServiceImpl extends BaseServiceImpl implements ITempo series.put("normalData", normalMap); } - public double getCal(String bregmatic, double residualWeight, double low, double high, int weeks, double bmiD, TemporaryBloodModel bloodModel, double heights,TemporaryUserModel temporaryUser) { + public double getCal(String bregmatic, double residualWeight, double low, double high, int weeks, double bmiD, TemporaryBloodModel bloodModel, double heights, TemporaryUserModel temporaryUser) { Double beforWeight = Double.valueOf(bloodModel.getBeforeWeight()).doubleValue(); int age = DateUtil.getAge(temporaryUser.getBirth()); Double number = 354 - 6.91 * age + 1.12 * (9.36 * beforWeight + 726 * heights); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryBloodSugarServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryBloodSugarServiceImpl.java index ee93ae5..13146a9 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryBloodSugarServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryBloodSugarServiceImpl.java @@ -165,7 +165,9 @@ public class TemporaryBloodSugarServiceImpl extends BaseServiceImpl implements I flag = true; } if (age != null) { - pCriteria.and("age").is(age); + Date start = DateUtil.getBeforeAge(age); + Date end = DateUtil.getBeforeAge(age + 1); + pCriteria.and("birth").gt(end).lte(start); flag = true; } if (flag) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryWeightServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryWeightServiceImpl.java index a57f670..6806325 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryWeightServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryWeightServiceImpl.java @@ -4,29 +4,29 @@ import com.lyms.platform.biz.dal.ITemporaryWeightDao; import com.lyms.platform.biz.service.BasicConfigService; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.enums.BregmaticEnums2; -import com.lyms.platform.common.enums.HisptialRiskTypeEnum; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.result.PageResult; import com.lyms.platform.common.result.RespBuilder; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.ReflectionUtils; -import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.facade.AutoMatchFacade; import com.lyms.platform.operate.web.facade.HealthChargeFacade; +import com.lyms.platform.operate.web.facade.OperateLogFacade; import com.lyms.platform.operate.web.facade.OrganizationGroupsFacade; import com.lyms.platform.operate.web.service.PatientWeightService; import com.lyms.platform.operate.web.service.TemporaryWeightService; import com.lyms.platform.operate.web.utils.CollectionUtils; import com.lyms.platform.operate.web.utils.MathUtil; import com.lyms.platform.operate.web.utils.ReportConfig; +import com.lyms.platform.permission.dao.master.CouponMapper; import com.lyms.platform.permission.model.Organization; -import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.*; import com.mongodb.WriteResult; import org.apache.commons.collections.MapUtils; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Sort; import org.springframework.data.mongodb.core.MongoTemplate; @@ -69,10 +69,86 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo @Autowired private HealthChargeFacade healthChargeFacade; + @Autowired + private OperateLogFacade operateLogFacade; + @Autowired + private CouponMapper couponMapper; @Override public BaseResponse addTemporaryWeight(TemporaryWeightModel weightModel, Integer userId) { - List weightModel1 = mongoTemplate.findAll(TemporaryWeightModel.class); + String hospitalId = autoMatchFacade.getHospitalId(userId); + String nowWeight = weightModel.getNowWeight(); + TemporaryUserModel temporaryUser = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(weightModel.getTemporaryUserId())), TemporaryUserModel.class); + TemporaryWeightModel pw = mongoTemplate.findOne(Query.query(Criteria.where("temporaryUserId").is(weightModel.getTemporaryUserId())), TemporaryWeightModel.class); + + Map dayWeights = new LinkedHashMap<>(); + List> dayWeights2 = new ArrayList<>(); + if (pw != null) { + if (MapUtils.isNotEmpty(pw.getDayWeights())) { + dayWeights = pw.getDayWeights(); + } + dayWeights.put(DateUtil.getyyyy_MM_dd(new Date()), nowWeight); + pw.setDayWeights(dayWeights); + pw.setNowWeight(weightModel.getNowWeight()); + + String ymdDate = DateUtil.getyyyy_MM_dd(new Date()); + boolean flag = true; + if (CollectionUtils.isNotEmpty(pw.getDayWeights2())) { + dayWeights2 = pw.getDayWeights2(); + } + for (Map map : dayWeights2) { + if (map.get("date").equals(ymdDate)) { + flag = false; + map.put("hospitalId", hospitalId); + map.put("hospitalName", couponMapper.getHospitalName(hospitalId)); + map.put("date", ymdDate); + map.put("nowWeight", nowWeight); + } + } + if (flag) { + Map m = new HashMap<>(); + m.put("hospitalId", hospitalId); + m.put("hospitalName", couponMapper.getHospitalName(hospitalId)); + m.put("date", ymdDate); + m.put("nowWeight", nowWeight); + dayWeights2.add(m); + } + pw.setDayWeights2(dayWeights2); + pw.setModified(new Date()); + temporaryWeightDao.updateTemporaryWeight(Query.query(Criteria.where("_id").is(pw.getId())), pw); + return RespBuilder.buildSuccess(pw.getId()); + } + + if (org.apache.commons.lang.StringUtils.isEmpty(weightModel.getId()) && temporaryUser != null) { + dayWeights.put(DateUtil.getyyyy_MM_dd(new Date()), nowWeight); + weightModel.setDayWeights(dayWeights); + weightModel.setHospitalId(hospitalId); + weightModel.setCreated(new Date()); + if (StringUtils.isNotBlank(weightModel.getNowWeight()) && temporaryUser.getBeforeHeight() != null) { + weightModel.setBmi(patientWeightService.getBmi(temporaryUser.getBeforeWeight(), temporaryUser.getBeforeHeight())); + } + weightModel.setYn(1); + Map m = new HashMap<>(); + m.put("hospitalId", hospitalId); + m.put("hospitalName", couponMapper.getHospitalName(hospitalId)); + m.put("date", DateUtil.getyyyy_MM_dd(new Date())); + m.put("nowWeight", nowWeight); + dayWeights2.add(m); + weightModel.setDayWeights2(dayWeights2); + + weightModel.setModified(new Date()); + temporaryWeightDao.addTemporaryWeight(weightModel); + + return RespBuilder.buildSuccess(weightModel.getId()); + } else { + + weightModel.setModified(new Date()); + temporaryWeightDao.updateTemporaryWeight(Query.query(Criteria.where("_id").is(weightModel.getId())), weightModel); + return RespBuilder.buildSuccess(weightModel.getId()); + } + + + /*List weightModel1 = mongoTemplate.findAll(TemporaryWeightModel.class); if (CollectionUtils.isNotEmpty(weightModel1)) { if (StringUtils.isNotEmpty(weightModel.getPhone())) { TemporaryWeightModel temporaryWeightModel = mongoTemplate.findOne(Query.query(Criteria.where("phone").is(weightModel.getPhone())), TemporaryWeightModel.class); @@ -90,9 +166,9 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo weightModel.setDoctorName(users.getAccount()); Map dayWeights = new LinkedHashMap<>(); List> dayWeights2 = new ArrayList<>(); - /* if (MapUtils.isNotEmpty(temporaryWeightModel.getDayWeights())) { + *//* if (MapUtils.isNotEmpty(temporaryWeightModel.getDayWeights())) { dayWeights = temporaryWeightModel.getDayWeights(); - }*/ + }*//* String hospitalId = autoMatchFacade.getHospitalId(userId); weightModel.setHospitalId(hospitalId); dayWeights.put(DateUtil.getyyyy_MM_dd(new Date()), weightModel.getNowWeight()); @@ -111,16 +187,16 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo weightModel.setDoctorName(users.getAccount()); Map dayWeights = new LinkedHashMap<>(); List> dayWeights2 = new ArrayList<>(); - /* if (MapUtils.isNotEmpty(temporaryWeightModel.getDayWeights())) { + *//* if (MapUtils.isNotEmpty(temporaryWeightModel.getDayWeights())) { dayWeights = temporaryWeightModel.getDayWeights(); - }*/ + }*//* dayWeights.put(DateUtil.getyyyy_MM_dd(new Date()), weightModel.getNowWeight()); weightModel.setDayWeights(dayWeights); String hospitalId = autoMatchFacade.getHospitalId(userId); weightModel.setHospitalId(hospitalId); weightModel.setBmi(patientWeightService.getBmi(weightModel.getBeforeWeight(), weightModel.getBeforeHeight())); TemporaryWeightModel temporaryBloodModel = temporaryWeightDao.addTemporaryWeight(weightModel); - return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("添加成功").setData(temporaryBloodModel.getId()); + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("添加成功").setData(temporaryBloodModel.getId());*/ } @Override @@ -137,57 +213,57 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("请选择一条记录"); } - /* @Override - public BaseResponse queryOne(String id) { - if (StringUtils.isNotEmpty(id)) { - TemporaryWeightModel temporaryWeightModel = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id)), TemporaryWeightModel.class); - if (temporaryWeightModel != null) { - Map requestMap = new HashMap<>(); - List rists = temporaryWeightModel.getRiskFactorId(); - List listMap = new ArrayList<>(); - Integer riskScore = 0; - if (CollectionUtils.isNotEmpty(rists)) { - for (String rist : rists) { - Map map = new HashMap(); - BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(rist); - riskScore += Integer.valueOf(basicConfig.getCode()); - - if (StringUtils.isNotEmpty(basicConfig.getParentId())) { - map.put("code", basicConfig.getCode()); - if (basicConfig.getParentId().equals(HisptialRiskTypeEnum.YBFX.getId())) { - map.put("color", HisptialRiskTypeEnum.YBFX.getColor()); - } - if (basicConfig.getParentId().equals(HisptialRiskTypeEnum.JGFX.getId())) { - map.put("color", HisptialRiskTypeEnum.JGFX.getColor()); - } - if (basicConfig.getParentId().equals(HisptialRiskTypeEnum.GFX.getId())) { - map.put("color", HisptialRiskTypeEnum.GFX.getColor()); - } - if (basicConfig.getParentId().equals(HisptialRiskTypeEnum.CRB.getId())) { - map.put("color", HisptialRiskTypeEnum.CRB.getColor()); - } - if (basicConfig.getParentId().equals(HisptialRiskTypeEnum.JK.getId())) { - map.put("color", HisptialRiskTypeEnum.JK.getColor()); - } - map.put("name", basicConfig.getName()); - map.put("id", basicConfig.getId()); - listMap.add(map); - } - } - } - requestMap.put("riskScore", riskScore); - requestMap.put("riskFactor", listMap); - requestMap.put("userName", temporaryWeightModel.getUserName()); - requestMap.put("age", temporaryWeightModel.getAge()); - requestMap.put("weeks", DateUtil.getWeekDesc(temporaryWeightModel.getLastMenses(), new Date())); - requestMap.put("phone", temporaryWeightModel.getPhone()); - requestMap.put("id", temporaryWeightModel.getId()); - return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(requestMap); - } - } - return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("请选择一条记录"); - } - + /* @Override + public BaseResponse queryOne(String id) { + if (StringUtils.isNotEmpty(id)) { + TemporaryWeightModel temporaryWeightModel = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id)), TemporaryWeightModel.class); + if (temporaryWeightModel != null) { + Map requestMap = new HashMap<>(); + List rists = temporaryWeightModel.getRiskFactorId(); + List listMap = new ArrayList<>(); + Integer riskScore = 0; + if (CollectionUtils.isNotEmpty(rists)) { + for (String rist : rists) { + Map map = new HashMap(); + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(rist); + riskScore += Integer.valueOf(basicConfig.getCode()); + + if (StringUtils.isNotEmpty(basicConfig.getParentId())) { + map.put("code", basicConfig.getCode()); + if (basicConfig.getParentId().equals(HisptialRiskTypeEnum.YBFX.getId())) { + map.put("color", HisptialRiskTypeEnum.YBFX.getColor()); + } + if (basicConfig.getParentId().equals(HisptialRiskTypeEnum.JGFX.getId())) { + map.put("color", HisptialRiskTypeEnum.JGFX.getColor()); + } + if (basicConfig.getParentId().equals(HisptialRiskTypeEnum.GFX.getId())) { + map.put("color", HisptialRiskTypeEnum.GFX.getColor()); + } + if (basicConfig.getParentId().equals(HisptialRiskTypeEnum.CRB.getId())) { + map.put("color", HisptialRiskTypeEnum.CRB.getColor()); + } + if (basicConfig.getParentId().equals(HisptialRiskTypeEnum.JK.getId())) { + map.put("color", HisptialRiskTypeEnum.JK.getColor()); + } + map.put("name", basicConfig.getName()); + map.put("id", basicConfig.getId()); + listMap.add(map); + } + } + } + requestMap.put("riskScore", riskScore); + requestMap.put("riskFactor", listMap); + requestMap.put("userName", temporaryWeightModel.getUserName()); + requestMap.put("age", temporaryWeightModel.getAge()); + requestMap.put("weeks", DateUtil.getWeekDesc(temporaryWeightModel.getLastMenses(), new Date())); + requestMap.put("phone", temporaryWeightModel.getPhone()); + requestMap.put("id", temporaryWeightModel.getId()); + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(requestMap); + } + } + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("请选择一条记录"); + } + */ @Override public BaseResponse queryAll(String key, Integer stateWeek, Integer endWeek, Integer age, Integer page, Integer limit, Integer userId) { boolean flag = false; @@ -205,38 +281,40 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo flag = true; } if (age != null) { - pCriteria.and("age").is(age); + Date start = DateUtil.getBeforeAge(age); + Date end = DateUtil.getBeforeAge(age + 1); + pCriteria.and("birth").gt(end).lte(start); flag = true; } if (flag) { - List patients = mongoTemplate.find(Query.query(pCriteria), TemporaryWeightModel.class); + List patients = mongoTemplate.find(Query.query(pCriteria), TemporaryUserModel.class); List ids = new ArrayList<>(); if (CollectionUtils.isNotEmpty(patients)) { - for (TemporaryWeightModel patient : patients) { + for (TemporaryUserModel patient : patients) { ids.add(patient.getId()); } } - criteria.and("_id").in(ids); + criteria.and("temporaryUserId").in(ids); } PageResult pageResult = findMongoPage(TemporaryWeightModel.class, new Query(criteria).with(new Sort(Sort.Direction.DESC, "modified")), page, limit); List patientWeights = (List) pageResult.getGrid(); List> restMap = new ArrayList<>(); if (CollectionUtils.isNotEmpty(patientWeights)) { for (TemporaryWeightModel patientWeight : patientWeights) { - // Patients p = mongoTemplate.findById(patientWeight.getPatientId(), Patients.class); + // Patients p = mongoTemplate.findById(patientWeight.getPatientId(), Patients.class) + TemporaryUserModel temporaryUser = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(patientWeight.getTemporaryUserId())), TemporaryUserModel.class); Map temp = new LinkedHashMap<>(); temp.put("id", patientWeight.getId()); - temp.put("userName", patientWeight.getUserName()); - temp.put("age", patientWeight.getAge()); - temp.put("weeks", DateUtil.getWeekDesc(patientWeight.getLastMenses(), new Date())); - temp.put("beforeWeight", patientWeight.getBeforeWeight()); - temp.put("beforeHeight", patientWeight.getBeforeHeight()); + temp.put("userName", temporaryUser.getUserName()); + temp.put("age", DateUtil.getAge(temporaryUser.getBirth())); + temp.put("weeks", DateUtil.getWeekDesc(temporaryUser.getLastMenses(), new Date())); + temp.put("beforeWeight", temporaryUser.getBeforeWeight()); + temp.put("beforeHeight", temporaryUser.getBeforeHeight()); temp.put("bmi", patientWeight.getBmi()); // 体质指数(BMI)=体重(kg)÷身高^2(m) temp.put("nowWeight", patientWeight.getNowWeight()); - temp.put("number", patientWeight.getNumber()); temp.put("created", DateUtil.getyyyy_MM_dd(patientWeight.getModified())); temp.put("doctorName", patientWeight.getDoctorName()); - temp.put("bregmatic", patientWeight.getBregmatic()); + temp.put("bregmatic", temporaryUser.getBregmatic()); restMap.add(temp); } } @@ -248,19 +326,21 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo @Override public BaseResponse info(String id) { TemporaryWeightModel template = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id)), TemporaryWeightModel.class); + if (template != null) { - *//* Patients patients = mongoTemplate.findById(patientWeight.getPatientId(), Patients.class); + TemporaryUserModel patients = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(template.getTemporaryUserId())), TemporaryUserModel.class); if (patients == null) { return RespBuilder.buildSuccess("建档数据未找到"); - }*//* + } + TemporaryUserModel temporaryUser = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(template.getTemporaryUserId())), TemporaryUserModel.class); Map map = ReflectionUtils.beanToMap(template); //http://jira.healthbaby.com.cn/browse/WEB-2744 String bregmatic = ""; try { - if (org.apache.commons.lang.StringUtils.isEmpty(template.getBregmatic()) || "null".equals(template.getBregmatic())) { + if (org.apache.commons.lang.StringUtils.isEmpty(temporaryUser.getBregmatic()) || "null".equals(temporaryUser.getBregmatic())) { bregmatic = "未知"; } else { - bregmatic = BregmaticEnums2.getName(template.getBregmatic()); + bregmatic = BregmaticEnums2.getName(temporaryUser.getBregmatic()); } } catch (Exception e) { bregmatic = "未知"; @@ -275,7 +355,7 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo if (MapUtils.isNotEmpty(dayWeights)) { Set> entries = dayWeights.entrySet(); for (Map.Entry entry : entries) { - weights.put(DateUtil.getWeek2(template.getLastMenses(), DateUtil.parseYMD(entry.getKey())), entry.getValue()); + weights.put(DateUtil.getWeek2(temporaryUser.getLastMenses(), DateUtil.parseYMD(entry.getKey())), entry.getValue()); } } @@ -284,14 +364,14 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo } else { map.put("isShow", false); } - patientWeightService.setReport(map, weights, template.getBeforeWeight(), template.getBmi(), template.getDayWeights(), template.getBregmatic()); + patientWeightService.setReport(map, weights, temporaryUser.getBeforeWeight(), template.getBmi(), template.getDayWeights(), temporaryUser.getBregmatic()); //高危报告权限判断 List healthy = new ArrayList(); healthy.add("d42eec03-aa86-45b8-a4e0-78a0ff365fb6");//健康id// healthy.add("a427da89-594a-46c2-b9f7-1b0d355ce54c");//28>BMI>25 healthy.add("5a40c6c5422b03d4ad2bf7bd");//BMI<18.5 - if (null == template.getRiskFactorId() || healthy.containsAll(template.getRiskFactorId())) { + if (null == temporaryUser.getRiskFactorId() || healthy.containsAll(temporaryUser.getRiskFactorId())) { map.put("flag", false); } else { map.put("flag", true); @@ -319,59 +399,58 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo } - *//** + /** * 体重标准报告 - *//* + */ @Override public BaseResponse report(String id, Integer userId, String rid) { - TemporaryWeightModel template = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id)), TemporaryWeightModel.class); String hospitalId = autoMatchFacade.getHospitalId(userId); Organization org = organizationService.getOrganization(Integer.parseInt(hospitalId)); + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(org.getProvinceId()); - *//* PatientWeight patientWeight = mongoTemplate.findById(id, PatientWeight.class);*//* - if (template != null) { + + //PatientWeight patientWeight = mongoTemplate.findById(id, PatientWeight.class); + TemporaryWeightModel temporaryWeight = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id)), TemporaryWeightModel.class); + if (temporaryWeight != null) { Map map = new LinkedHashMap<>(); - *//* Patients patients = mongoTemplate.findById(template.getPatientId(), Patients.class);*//* + //Patients patients = mongoTemplate.findById(patientWeight.getPatientId(), Patients.class); + TemporaryUserModel temporaryUser = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(temporaryWeight.getTemporaryUserId())), TemporaryUserModel.class); Integer week = null; - //if (patients != null) { - //map.put("vcCard", patients.getVcCardNo()); - map.put("username", template.getUserName()); - map.put("phone", template.getPhone()); - Calendar rightNow = Calendar.getInstance(); - rightNow.setTime(template.getLastMenses()); - rightNow.add(Calendar.DAY_OF_YEAR, 280); - map.put("dueDate", DateUtil.getyyyy_MM_dd(rightNow.getTime())); - map.put("age", template.getAge() + " 岁"); - week = DateUtil.getWeek2(template.getLastMenses(), new Date()); - String yunqi = "孕" + String.valueOf(week) + "周"; - map.put("yunqi", yunqi); - //} + if (temporaryUser != null) { + map.put("username", temporaryUser.getUserName()); + map.put("phone", temporaryUser.getPhone()); + // map.put("dueDate", DateUtil.getyyyy_MM_dd(patients.getDueDate())); + map.put("age", DateUtil.getAge(temporaryUser.getBirth()) + " 岁"); + week = DateUtil.getWeek2(temporaryUser.getLastMenses(), new Date()); + String yunqi = "孕" + String.valueOf(week) + "周"; + map.put("yunqi", yunqi); + } map.put("week", week); - map.put("bregmatic", StringUtils.isNotEmpty(template.getBregmatic()) ? template.getBregmatic() : "1"); - map.put("height", template.getBeforeHeight() == null ? "" : MathUtil.doubleFormat(Double.parseDouble(template.getBeforeHeight()) / 100) + " 米"); - map.put("beforeWeight", template.getBeforeWeight() == null ? "" : template.getBeforeWeight() + " 公斤"); - map.put("bmi", template.getBmi()); - map.put("nowWeight", template.getNowWeight() + " 公斤"); - String pregnancy = DateUtil.getWeekDesc(template.getLastMenses(), new Date()); + map.put("bregmatic", StringUtils.isNotEmpty(temporaryUser.getBregmatic()) ? temporaryUser.getBregmatic() : "1"); + map.put("height", temporaryUser.getBeforeHeight() == null ? "" : MathUtil.doubleFormat(Double.parseDouble(temporaryUser.getBeforeHeight()) / 100) + " 米"); + map.put("beforeWeight", temporaryUser.getBeforeWeight() == null ? "" : temporaryUser.getBeforeWeight() + " 公斤"); + map.put("bmi", temporaryWeight.getBmi()); + map.put("nowWeight", temporaryWeight.getNowWeight() + " 公斤"); + String pregnancy = DateUtil.getWeekDesc(temporaryUser.getLastMenses(), new Date()); if (StringUtils.isNotEmpty(pregnancy) && pregnancy.endsWith("0天")) { pregnancy.replaceAll("\\+0天", ""); } map.put("pregnancy", pregnancy); - if (week != null && StringUtils.isNotEmpty(template.getBmi())) { + if (week != null && StringUtils.isNotEmpty(temporaryWeight.getBmi())) { //setInfo(week, map); // 设置孕期相关营养信息 if (week > 5 && week < 41) { - double bmi = Double.parseDouble(template.getBmi()); + double bmi = Double.parseDouble(temporaryWeight.getBmi()); //根据高危获取不同的卡路里计算公式 Map kmap = null; //威海市妇幼热量单独计算 if ("2100001635".equals(hospitalId)) { - kmap = getWhComputeKul(week, Double.parseDouble(template.getNowWeight()), Double.parseDouble(template.getBeforeWeight()), template.getBregmatic(), bmi); + kmap = getWhComputeKul(week, Double.parseDouble(temporaryWeight.getNowWeight()), Double.parseDouble(temporaryUser.getBeforeWeight()), temporaryUser.getBregmatic(), bmi); } else { - kmap = computeKulServiceManager.getComputeKulByRisk(rid).getComputeKul(Double.parseDouble(template.getBeforeWeight()), - Double.parseDouble(template.getNowWeight()), week, bmi, template.getBregmatic(), template.getBeforeHeight()); + kmap = computeKulServiceManager.getComputeKulByRisk(rid).getComputeKul(Double.parseDouble(temporaryUser.getBeforeWeight()), + Double.parseDouble(temporaryWeight.getNowWeight()), week, bmi, temporaryUser.getBregmatic(), temporaryUser.getBeforeHeight()); } if (map == null || map.size() == 0) { return null; @@ -394,17 +473,19 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo } } - Map dayWeights = template.getDayWeights(); + Map dayWeights = temporaryWeight.getDayWeights(); Map weights = new LinkedHashMap<>(); if (MapUtils.isNotEmpty(dayWeights)) { Set> entries = dayWeights.entrySet(); for (Map.Entry entry : entries) { - weights.put(DateUtil.getWeek2(template.getLastMenses(), DateUtil.parseYMD(entry.getKey())), entry.getValue()); + weights.put(DateUtil.getWeek2(temporaryUser.getLastMenses(), DateUtil.parseYMD(entry.getKey())), entry.getValue()); } } - patientWeightService.setReport(map, weights, template.getBeforeWeight(), template.getBmi(), template.getDayWeights(), template.getBregmatic()); - healthChargeFacade.addHealthCharge(hospitalId, 1, id, 1, 2, userId); + patientWeightService.setReport(map, weights, temporaryUser.getBeforeWeight(), temporaryWeight.getBmi(), temporaryWeight.getDayWeights(), temporaryUser.getBregmatic()); CollectionUtils.removeNullValue(map); + + + // healthChargeFacade.addHealthCharge(hospitalId, 1, patientWeight.getPatientId(), 1, 1, userId); return RespBuilder.buildSuccess(map); } return RespBuilder.buildSuccess(); @@ -605,13 +686,14 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo Map> datas = new TreeMap<>(); String hospitalId = autoMatchFacade.getHospitalId(userId); TemporaryWeightModel temporary = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id)), TemporaryWeightModel.class); - String weight = temporary.getBeforeWeight(); - Double heights = Double.valueOf(temporary.getBeforeHeight()).doubleValue() / 100; - int week = DateUtil.getWeek2(temporary.getLastMenses(), new Date()); + TemporaryUserModel temporaryUser = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(temporary.getTemporaryUserId())), TemporaryUserModel.class); + String weight = temporaryUser.getBeforeWeight(); + Double heights = Double.valueOf(temporaryUser.getBeforeHeight()).doubleValue() / 100; + int week = DateUtil.getWeek2(temporaryUser.getLastMenses(), new Date()); //获取胎数 - String bregmatic = temporary.getBregmatic(); + String bregmatic = temporaryUser.getBregmatic(); //获取bmi值 - Double bmiD = Double.valueOf(patientWeightService.getBmi(temporary.getBeforeWeight(), temporary.getBeforeHeight())).doubleValue(); + Double bmiD = Double.valueOf(patientWeightService.getBmi(temporaryUser.getBeforeWeight(), temporaryUser.getBeforeHeight())).doubleValue(); String bmiStr = ""; //空和1表示单胎 if (!org.apache.commons.lang.StringUtils.isNotEmpty(bregmatic) || "1".equals(bregmatic)) { @@ -649,12 +731,12 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo } } //计算出属于那种类型 偏重 还事负重 还是正常 当前体重-孕前体重 - Double residualWeight = Double.valueOf(temporary.getNowWeight()).doubleValue() - Double.valueOf(temporary.getBeforeWeight()).doubleValue(); + Double residualWeight = Double.valueOf(temporary.getNowWeight()).doubleValue() - Double.valueOf(temporaryUser.getBeforeWeight()).doubleValue(); //贫血/高血压计算规则 - Integer gxyKcal = this.getRounding((int) this.getKcal(bregmatic, residualWeight, low, high, week, bmiD, temporary, heights, 1.12)); + Integer gxyKcal = this.getRounding((int) this.getKcal(bregmatic, residualWeight, temporaryUser, low, high, week, bmiD, temporary, heights, 1.12)); String gxyKcalStr = gxyKcal + "kcal"; //获取慢性肝炎的计算规则 - Integer mxgyKcal = this.getRounding((int) this.getHepatitisKcal(temporary, bregmatic, residualWeight, low, high, bmiD, week)); + Integer mxgyKcal = this.getRounding((int) this.getHepatitisKcal(temporary, temporaryUser, bregmatic, residualWeight, low, high, bmiD, week)); String mxgyKcalStr = mxgyKcal + "kcal"; //急性肝炎计算规则 Integer kcal = getRounding((int) this.getAcuteHepatitis(heights, week)); @@ -663,13 +745,13 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo Integer diabetesKcal = getDiabetesRounding((int) this.getDiabetes(heights, week)); String diabetesKcalStr = diabetesKcal + "kcal"; //甲亢计算规则 - Integer gkKcal = this.getRounding((int) this.getKcal(bregmatic, residualWeight, low, high, week, bmiD, temporary, heights, 1.45)); + Integer gkKcal = this.getRounding((int) this.getKcal(bregmatic, residualWeight, temporaryUser, low, high, week, bmiD, temporary, heights, 1.45)); String gkKcalStr = gkKcal + "kcal"; //甲减计算规则 - Integer gjKcal = this.getRounding((int) this.getKcal(bregmatic, residualWeight, low, high, week, bmiD, temporary, heights, 1.0)); + Integer gjKcal = this.getRounding((int) this.getKcal(bregmatic, residualWeight, temporaryUser, low, high, week, bmiD, temporary, heights, 1.0)); String gjKcalStr = gjKcal + "kcal"; //获取改孕妇的高危项 - List risks = temporary.getRiskFactorId(); + List risks = temporaryUser.getRiskFactorId(); if (CollectionUtils.isNotEmpty(risks)) { for (String risk : risks) { BasicConfig basicConfigs = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(risk)), BasicConfig.class); @@ -681,7 +763,7 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo if (MapUtils.isNotEmpty(dayWeights)) { Set> entries = dayWeights.entrySet(); for (Map.Entry entry : entries) { - weights.put(DateUtil.getWeek2(temporary.getLastMenses(), DateUtil.parseYMD(entry.getKey())), entry.getValue()); + weights.put(DateUtil.getWeek2(temporaryUser.getLastMenses(), DateUtil.parseYMD(entry.getKey())), entry.getValue()); } } Map data0 = new HashMap<>(); @@ -691,7 +773,7 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo Map data4 = new HashMap<>(); Map data5 = new HashMap<>(); Map data6 = new HashMap<>(); - List reiskFactor = temporary.getRiskFactorId(); + List reiskFactor = temporaryUser.getRiskFactorId(); List weightReport = mongoTemplate.findAll(WeightReportModel.class); if (reiskFactor.isEmpty() && weightReport.isEmpty()) { return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("对象值为空!").setData(""); @@ -701,31 +783,31 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo if (reis.equals(weightReportModel.getgDMId()) || reis.equals(weightReportModel.getoDIPId()) || reis.equals(weightReportModel.getMedicationDiabetesID())) { //糖尿病diabetes - datas.put("1", this.getDiabetestInfo(weights, data3, weightReportModel, temporary, bmiD, week, diabetesKcalStr)); + datas.put("1", this.getDiabetestInfo(weights, data3, weightReportModel, temporary, temporaryUser, bmiD, week, diabetesKcalStr)); } else if (reis.equals(weightReportModel.getGestationalHypertensionGHID()) || reis.equals(weightReportModel.getChronicHypertensionID())) { //高血压hypertension - datas.put("3", this.getInfo(weights, data2, weightReportModel, temporary, bmiD, week, gxyKcalStr)); + datas.put("3", this.getInfo(weights, data2, weightReportModel, temporary, temporaryUser, bmiD, week, gxyKcalStr)); } else if (reis.equals(weightReportModel.getHyperthyroidismNeedID()) || reis.equals(weightReportModel.getHyperthyroidismID())) { //甲亢hyperthyroidism - datas.put("4", this.getDiabetestInfo(weights, data4, weightReportModel, temporary, bmiD, week, gkKcalStr)); + datas.put("4", this.getDiabetestInfo(weights, data4, weightReportModel, temporary, temporaryUser, bmiD, week, gkKcalStr)); } else if (reis.equals(weightReportModel.getHypothyroidismID()) || reis.equals(weightReportModel.getyLCHypothyroidismID()) || reis.equals(weightReportModel.getHypothyroidismNeedID())) { //甲减hypothyroidism - datas.put("5", this.getDiabetestInfo(weights, data5, weightReportModel, temporary, bmiD, week, gjKcalStr)); + datas.put("5", this.getDiabetestInfo(weights, data5, weightReportModel, temporary, temporaryUser, bmiD, week, gjKcalStr)); } else if (reis.equals(weightReportModel.getAnemiaPregnancyId()) || reis.equals(weightReportModel.getMildAnemiaID()) || reis.equals(weightReportModel.getModerateAnemiaID()) || reis.equals(weightReportModel.getSevereAnemiaID()) || reis.equals(weightReportModel.getSevereAnemiaHBID()) || reis.equals(weightReportModel.getObstructiveAnemiaID())) { //贫血anemia - datas.put("6", this.getInfo(weights, data0, weightReportModel, temporary, bmiD, week, gxyKcalStr)); + datas.put("6", this.getInfo(weights, data0, weightReportModel, temporary, temporaryUser, bmiD, week, gxyKcalStr)); } else if (reis.equals(weightReportModel.getDiseasesDigestiveSystemId()) || reis.equals(weightReportModel.getViralHepatitisId())) { //急性肝炎acuteHepatitis - datas.put("7", this.getInfo(weights, data1, weightReportModel, temporary, bmiD, week, kcals)); + datas.put("7", this.getInfo(weights, data1, weightReportModel, temporary, temporaryUser, bmiD, week, kcals)); } else if (reis.equals(weightReportModel.getCirrhosis()) || reis.equals(weightReportModel.getLiverFunctionErrorId())) { //慢性肝炎chronicHepatitis - datas.put("8", this.getInfo(weights, data6, weightReportModel, temporary, bmiD, week, mxgyKcalStr)); + datas.put("8", this.getInfo(weights, data6, weightReportModel, temporary, temporaryUser, bmiD, week, mxgyKcalStr)); } } } @@ -763,22 +845,22 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo } - public Map getInfo(Map weights, Map data, WeightReportModel weightReportModel, TemporaryWeightModel model, double bmi, int week, String kcal) { - patientWeightService.setReport(data, weights, model.getBeforeWeight(), model.getBmi(), model.getDayWeights(), model.getBregmatic()); + public Map getInfo(Map weights, Map data, WeightReportModel weightReportModel, TemporaryWeightModel model, TemporaryUserModel temporaryUser, double bmi, int week, String kcal) { + patientWeightService.setReport(data, weights, temporaryUser.getBeforeWeight(), model.getBmi(), model.getDayWeights(), temporaryUser.getBregmatic()); Map userMap = new HashMap(); - userMap.put("userName", model.getUserName()); - userMap.put("age", model.getAge() + "岁"); - userMap.put("height", model.getBeforeHeight() + "cm"); + userMap.put("userName", temporaryUser.getUserName()); + userMap.put("age", DateUtil.getAge(temporaryUser.getBirth()) + "岁"); + userMap.put("height", temporaryUser.getBeforeHeight() + "cm"); userMap.put("bmi", bmi); userMap.put("week", "孕" + week + "周"); //userMap.put("vcCardNo", patients.getVcCardNo()); - userMap.put("phone", model.getPhone()); + userMap.put("phone", temporaryUser.getPhone()); Calendar rightNow = Calendar.getInstance(); - rightNow.setTime(model.getLastMenses()); + rightNow.setTime(temporaryUser.getLastMenses()); rightNow.add(Calendar.DAY_OF_YEAR, 280); userMap.put("dueDate", DateUtil.getyyyy_MM_dd(rightNow.getTime())); userMap.put("NowWeight", model.getNowWeight() + "kg"); - userMap.put("BeforeWeight", model.getBeforeWeight() + "kg"); + userMap.put("BeforeWeight", temporaryUser.getBeforeWeight() + "kg"); //userMap.put("riskFactor", set); data.put("userInfo", userMap); Map map2 = new HashMap(); @@ -820,7 +902,7 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo healthy.add("d42eec03-aa86-45b8-a4e0-78a0ff365fb6");//健康id// healthy.add("a427da89-594a-46c2-b9f7-1b0d355ce54c");//28>BMI>25 healthy.add("5a40c6c5422b03d4ad2bf7bd");//BMI<18.5 - if (model.getRiskFactorId().size() - this.getSame(healthy, model.getRiskFactorId()).size() >= 2) { + if (temporaryUser.getRiskFactorId().size() - this.getSame(healthy, temporaryUser.getRiskFactorId()).size() >= 2) { Map map = new HashMap(); map.put("tipsInfo", "您当前情况存在两种及以上高危风险因素,需请您的主管医生结合临床实际情况对报告进行解读,并根据医生解读建议,指导日常营养膳食"); data.put("tips", map); @@ -829,22 +911,22 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo } - public Map getDiabetestInfo(Map weights, Map data, WeightReportModel weightReportModel, TemporaryWeightModel model, double bmi, int week, String kcal) { - patientWeightService.setReport(data, weights, model.getBeforeWeight(), model.getBmi(), model.getDayWeights(), model.getBregmatic()); + public Map getDiabetestInfo(Map weights, Map data, WeightReportModel weightReportModel, TemporaryWeightModel model, TemporaryUserModel temporaryUser, double bmi, int week, String kcal) { + patientWeightService.setReport(data, weights, temporaryUser.getBeforeWeight(), model.getBmi(), model.getDayWeights(), temporaryUser.getBregmatic()); Map userMap = new HashMap(); - userMap.put("userName", model.getUserName()); - userMap.put("age", model.getAge() + "岁"); - userMap.put("height", model.getBeforeHeight() + "cm"); + userMap.put("userName", temporaryUser.getUserName()); + userMap.put("age", DateUtil.getAge(temporaryUser.getBirth()) + "岁"); + userMap.put("height", temporaryUser.getBeforeHeight() + "cm"); userMap.put("bmi", bmi); userMap.put("week", "孕" + week + "周"); // userMap.put("vcCardNo", patients.getVcCardNo()); - userMap.put("phone", model.getPhone()); + userMap.put("phone", temporaryUser.getPhone()); Calendar rightNow = Calendar.getInstance(); - rightNow.setTime(model.getLastMenses()); + rightNow.setTime(temporaryUser.getLastMenses()); rightNow.add(Calendar.DAY_OF_YEAR, 280); userMap.put("dueDate", DateUtil.getyyyy_MM_dd(rightNow.getTime())); userMap.put("NowWeight", model.getNowWeight() + "kg"); - userMap.put("BeforeWeight", model.getBeforeWeight() + "kg"); + userMap.put("BeforeWeight", temporaryUser.getBeforeWeight() + "kg"); data.put("userInfo", userMap); Map map2 = new HashMap(); @@ -880,7 +962,7 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo healthy.add("d42eec03-aa86-45b8-a4e0-78a0ff365fb6");//健康id// healthy.add("a427da89-594a-46c2-b9f7-1b0d355ce54c");//28>BMI>25 healthy.add("5a40c6c5422b03d4ad2bf7bd");//BMI<18.5 - if (model.getRiskFactorId().size() - this.getSame(healthy, model.getRiskFactorId()).size() >= 2) { + if (temporaryUser.getRiskFactorId().size() - this.getSame(healthy, temporaryUser.getRiskFactorId()).size() >= 2) { Map map = new HashMap(); map.put("tipsInfo", "您当前情况存在两种及以上高危风险因素,需请您的主管医生结合临床实际情况对报告进行解读,并根据医生解读建议,指导日常营养膳食"); data.put("tips", map); @@ -976,8 +1058,8 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo //计算慢性肝炎,肝硬化计算规则 - public double getHepatitisKcal(TemporaryWeightModel weightModel, String bregmatic, double residualWeight, double low, double high, double bmiD, int weeks) { - Double beforWeight = Double.valueOf(weightModel.getBeforeWeight()).doubleValue(); + public double getHepatitisKcal(TemporaryWeightModel weightModel, TemporaryUserModel temporaryUser, String bregmatic, double residualWeight, double low, double high, double bmiD, int weeks) { + Double beforWeight = Double.valueOf(temporaryUser.getBeforeWeight()).doubleValue(); //单胎 if ("1".equals(bregmatic) && com.lyms.platform.common.utils.StringUtils.isNotEmpty(bregmatic)) { if (residualWeight >= low - 1.0 && residualWeight <= high + 1.0 && bmiD < 18.5 && weeks >= 0 && weeks <= 12) { @@ -1065,7 +1147,7 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo else if (residualWeight < 0) { //重新计算bmi值 String weight = weightModel.getNowWeight(); - String height = weightModel.getBeforeHeight(); + String height = temporaryUser.getBeforeHeight(); Double bmiDs = Double.valueOf(patientWeightService.getBmi(weight, height)).doubleValue(); if (bmiDs < 18.5 && weeks >= 0 && weeks <= 12) { return beforWeight * 40 + 300; @@ -1168,7 +1250,7 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo } else if (residualWeight < 0) { //重新计算bmi值 String weight = weightModel.getNowWeight(); - String height = weightModel.getBeforeHeight(); + String height = temporaryUser.getBeforeHeight(); Double bmiDs = Double.valueOf(patientWeightService.getBmi(weight, height)).doubleValue(); if (bmiDs <= 24.9 && weeks >= 0 && weeks <= 12) { return beforWeight * 40 + 300; @@ -1244,10 +1326,10 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo } //获取甲减 / 甲亢 /慢性肝炎 /贫血的热量值 - public double getKcal(String bregmatic, double residualWeight, double low, double high, int weeks, double bmiD, TemporaryWeightModel weightModel, + public double getKcal(String bregmatic, double residualWeight, TemporaryUserModel temporaryUser, double low, double high, int weeks, double bmiD, TemporaryWeightModel weightModel, double heights, double variable) { - Double beforWeight = Double.valueOf(weightModel.getBeforeWeight()).doubleValue(); - int age = weightModel.getAge(); + Double beforWeight = Double.valueOf(temporaryUser.getBeforeWeight()).doubleValue(); + int age = DateUtil.getAge(temporaryUser.getBirth()); Double number = 354 - 6.91 * age + variable * (9.36 * beforWeight + 726 * heights); //单胎 if ("1".equals(bregmatic) && com.lyms.platform.common.utils.StringUtils.isNotEmpty(bregmatic)) { @@ -1336,7 +1418,7 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo else if (residualWeight < 0) { //重新计算bmi值 String weight = weightModel.getNowWeight(); - String height = weightModel.getBeforeHeight(); + String height = temporaryUser.getBeforeHeight(); Double bmiDs = Double.valueOf(patientWeightService.getBmi(weight, height)).doubleValue(); if (bmiDs < 18.5 && weeks >= 0 && weeks <= 12) { return number + 300; @@ -1439,7 +1521,7 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo } else if (residualWeight < 0) { //重新计算bmi值 String weight = weightModel.getNowWeight(); - String height = weightModel.getBeforeHeight(); + String height = temporaryUser.getBeforeHeight(); Double bmiDs = Double.valueOf(patientWeightService.getBmi(weight, height)).doubleValue(); if (bmiDs <= 24.9 && weeks >= 0 && weeks <= 12) { return number + 300; @@ -1466,5 +1548,5 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo } return 0.0; } -*/ + } \ No newline at end of file -- 1.8.3.1