diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ITemporaryBloodDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ITemporaryBloodDao.java new file mode 100644 index 0000000..cf1efe8 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ITemporaryBloodDao.java @@ -0,0 +1,9 @@ +package com.lyms.platform.biz.dal; + +import com.lyms.platform.pojo.TemporaryBloodModel; +import org.springframework.data.mongodb.core.query.Query; + +public interface ITemporaryBloodDao { + + void updateTemporaryBlood(Query query, TemporaryBloodModel weightModel); +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ITemporaryBloodSugarDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ITemporaryBloodSugarDao.java new file mode 100644 index 0000000..ff9b001 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ITemporaryBloodSugarDao.java @@ -0,0 +1,9 @@ +package com.lyms.platform.biz.dal; + +import com.lyms.platform.pojo.TemporaryBloodSugar; +import org.springframework.data.mongodb.core.query.Query; + +public interface ITemporaryBloodSugarDao { + + void updateTemporaryBloodSugar(Query query, TemporaryBloodSugar weightModel); +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/TemporaryBloodSugarDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/TemporaryBloodSugarDaoImpl.java new file mode 100644 index 0000000..e1c3fab --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/TemporaryBloodSugarDaoImpl.java @@ -0,0 +1,17 @@ +package com.lyms.platform.biz.dal.impl; + +import com.lyms.platform.biz.dal.ITemporaryBloodSugarDao; +import com.lyms.platform.common.dao.BaseMongoDAOImpl; +import com.lyms.platform.pojo.TemporaryBloodSugar; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.stereotype.Repository; + +@Repository("temporaryBloodSugarDao") +public class TemporaryBloodSugarDaoImpl extends BaseMongoDAOImpl implements ITemporaryBloodSugarDao { + + + @Override + public void updateTemporaryBloodSugar(Query query, TemporaryBloodSugar bloodSugarModel) { + update(query, bloodSugarModel); + } +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/TemporayBloodDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/TemporayBloodDaoImpl.java new file mode 100644 index 0000000..5290897 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/TemporayBloodDaoImpl.java @@ -0,0 +1,16 @@ +package com.lyms.platform.biz.dal.impl; + +import com.lyms.platform.biz.dal.ITemporaryBloodDao; +import com.lyms.platform.common.dao.BaseMongoDAOImpl; +import com.lyms.platform.pojo.TemporaryBloodModel; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.stereotype.Repository; + +@Repository("temporayBloodDao") +public class TemporayBloodDaoImpl extends BaseMongoDAOImpl implements ITemporaryBloodDao { + + @Override + public void updateTemporaryBlood(Query query, TemporaryBloodModel bloodModel) { + update(query, bloodModel); + } +} diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/TemporaryBloodModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/TemporaryBloodModel.java new file mode 100644 index 0000000..a8ca712 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/TemporaryBloodModel.java @@ -0,0 +1,223 @@ +package com.lyms.platform.pojo; + +import com.lyms.platform.common.result.BaseModel; +import org.springframework.data.mongodb.core.mapping.Document; + +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Document(collection = "lyms_temporary_blood") +public class TemporaryBloodModel extends BaseModel { + + private String id; + + private String userName; + + private Integer age; + + private String phone; + + private Date lastMenses; + // 孕前体重 + private String beforeWeight; + // 孕前身高 + private String beforeHeight; + // 当前体重 + private String nowWeight; + + private String cardID; + + private Date created; + + private Date modified; + //记录次数 + private Integer number; + //高危因素 + private List riskFactorId; + // 其他高危 + private String highriskDesc; + //高危补充说明 + private List otherRisk; + // 舒张压 + private String szy; + // 收缩压 + private String ssy; + // 脉搏 + private Integer pulse; + + // 前囟 单胎/双胎/多胎 + private String bregmatic; + + + private Integer yn; + private Map> infos; + + public Map> getInfos() { + return infos; + } + + public void setInfos(Map> infos) { + this.infos = infos; + } + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } + + public String getSzy() { + return szy; + } + + public void setSzy(String szy) { + this.szy = szy; + } + + public String getSsy() { + return ssy; + } + + public void setSsy(String ssy) { + this.ssy = ssy; + } + + public Integer getPulse() { + return pulse; + } + + public void setPulse(Integer pulse) { + this.pulse = pulse; + } + + public String getBregmatic() { + return bregmatic; + } + + public void setBregmatic(String bregmatic) { + this.bregmatic = bregmatic; + } + + public String getId() { + return id; + } + + public void setId(String id) { + 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 getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public Date getLastMenses() { + return lastMenses; + } + + public void setLastMenses(Date lastMenses) { + this.lastMenses = lastMenses; + } + + 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; + } + + public void setNowWeight(String nowWeight) { + this.nowWeight = nowWeight; + } + + public String getCardID() { + return cardID; + } + + public void setCardID(String cardID) { + this.cardID = cardID; + } + + public Date getCreated() { + return created; + } + + public void setCreated(Date created) { + this.created = created; + } + + public Date getModified() { + return modified; + } + + public void setModified(Date modified) { + this.modified = modified; + } + + public Integer getNumber() { + return number; + } + + public void setNumber(Integer number) { + this.number = number; + } + + public List getRiskFactorId() { + return riskFactorId; + } + + public void setRiskFactorId(List riskFactorId) { + this.riskFactorId = riskFactorId; + } + + 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; + } +} diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/TemporaryBloodSugar.java b/platform-dal/src/main/java/com/lyms/platform/pojo/TemporaryBloodSugar.java new file mode 100644 index 0000000..2218899 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/TemporaryBloodSugar.java @@ -0,0 +1,211 @@ +package com.lyms.platform.pojo; + +import com.lyms.platform.common.result.BaseModel; + +import java.util.Date; +import java.util.List; + +public class TemporaryBloodSugar extends BaseModel { + private String id; + + private String userName; + + private Integer age; + + private String phone; + + private Date lastMenses; + // 孕前体重 + private String beforeWeight; + // 孕前身高 + private String beforeHeight; + // 当前体重 + private String nowWeight; + + private String cardID; + + private Date created; + + private Date modified; + private List riskFactorId; + // 其他高危 + private String highriskDesc; + //高危补充说明 + private List otherRisk; + //监测状态 1 非药物治疗,监测不足 2 非药物治疗,监测次数达标,血糖控制不理想 + //3 非药物治疗,监测次数达标,血糖控制良好 4 药物治疗,监测不足s + //5 药物治疗,监测次数达标,血糖波动较大 6 药物治疗,监测次数达标,血糖控制良好 + //7 药物治疗,监测次数达标,血糖平稳但不理想 + private Integer monitorStatus; + //报告高危类型 1 无需药物治疗 2 需药物治疗 + private Integer type; + //报告时间 + private Date reportDate; + + + private Integer bloodSugarType; + + public Integer getBloodSugarType() { + return bloodSugarType; + } + + public void setBloodSugarType(Integer bloodSugarType) { + this.bloodSugarType = bloodSugarType; + } + + //报告状态 1未查看 2查看 + private Integer status; + private Integer yn; + + public String getId() { + return id; + } + + public void setId(String id) { + 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 getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public Date getLastMenses() { + return lastMenses; + } + + public void setLastMenses(Date lastMenses) { + this.lastMenses = lastMenses; + } + + 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; + } + + public void setNowWeight(String nowWeight) { + this.nowWeight = nowWeight; + } + + public String getCardID() { + return cardID; + } + + public void setCardID(String cardID) { + this.cardID = cardID; + } + + public Date getCreated() { + return created; + } + + public void setCreated(Date created) { + this.created = created; + } + + public Date getModified() { + return modified; + } + + public void setModified(Date modified) { + this.modified = modified; + } + + public List getRiskFactorId() { + return riskFactorId; + } + + public void setRiskFactorId(List riskFactorId) { + this.riskFactorId = riskFactorId; + } + + 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 Integer getMonitorStatus() { + return monitorStatus; + } + + public void setMonitorStatus(Integer monitorStatus) { + this.monitorStatus = monitorStatus; + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + + public Date getReportDate() { + return reportDate; + } + + public void setReportDate(Date reportDate) { + this.reportDate = reportDate; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TemporaryBloodController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TemporaryBloodController.java new file mode 100644 index 0000000..105e3ca --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TemporaryBloodController.java @@ -0,0 +1,75 @@ +package com.lyms.platform.operate.web.controller; + +import com.lyms.platform.common.annotation.TokenRequired; +import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.operate.web.service.ITemporaryBloodService; +import com.lyms.platform.pojo.TemporaryBloodModel; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.Date; + + +@Controller +@RequestMapping(value = "/temporary/blood") +public class TemporaryBloodController extends BaseController { + + @Autowired + private ITemporaryBloodService temporaryBloodService; + + @RequestMapping(value = "/addOrUpdate", method = RequestMethod.POST) + @TokenRequired + @ResponseBody + public BaseResponse addTemporaryBlood(TemporaryBloodModel temporaryBloodModel, HttpServletRequest request) { + return temporaryBloodService.addTemporaryBlood(temporaryBloodModel); + } + + @RequestMapping(value = "/update", method = RequestMethod.PUT) + @TokenRequired + public BaseResponse udateTemporaryBlood() { + return new BaseResponse(); + } + + @RequestMapping(value = "/delete", method = RequestMethod.DELETE) + @TokenRequired + @ResponseBody + public BaseResponse delete(@RequestParam(value = "id") String id) { + return temporaryBloodService.deleteTemporaryBlood(id); + } + + @RequestMapping(value = "/queryOne", method = RequestMethod.GET) + @TokenRequired + @ResponseBody + public BaseResponse queryOne(String id) { + return temporaryBloodService.queryOne(id); + } + + @RequestMapping(value = "/queryAll", method = RequestMethod.GET) + @TokenRequired + @ResponseBody + public BaseResponse queryAll(Integer page, Integer limit) { + return temporaryBloodService.queryAll(page, limit); + } + + @ResponseBody + @RequestMapping(value = "/{id}/{startDate}", method = RequestMethod.GET) + @TokenRequired + public BaseResponse info(@PathVariable String id, @PathVariable Date startDate) { + return temporaryBloodService.info(id, startDate); + } + + @ResponseBody + @RequestMapping(value = "/presentation/{id}", method = RequestMethod.GET) + public BaseResponse getXyPresentation(@PathVariable String id) { + if (StringUtils.isEmpty(id) || "null".equals(id)) { + return new BaseResponse().setErrorcode(ErrorCodeConstants.PARAMETER_ERROR).setErrormsg("id参数不能为空"); + } + return temporaryBloodService.getXyPresentation(id); + } + +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TemporaryBloodSugarController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TemporaryBloodSugarController.java new file mode 100644 index 0000000..26890cf --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TemporaryBloodSugarController.java @@ -0,0 +1,36 @@ +package com.lyms.platform.operate.web.controller; + +import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.result.BaseResponse; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; + + +@RequestMapping("/blood/sugar") +@Controller +public class TemporaryBloodSugarController extends BaseController { + + + @RequestMapping(value = "/addAndUpate") + public BaseResponse addTempraryBloodSugar() { + + return new BaseResponse(); + } + + @RequestMapping(value = "/delete") + public BaseResponse deleteBloodSugar() { + return new BaseResponse(); + } + + + @RequestMapping(value = "/querOne") + public BaseResponse queryOne() { + return new BaseResponse(); + + } + + @RequestMapping(value = "/queryAll") + public BaseResponse queryAll() { + return new BaseResponse(); + } +} 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 e337417..a44ded6 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 @@ -3,7 +3,6 @@ package com.lyms.platform.operate.web.controller; import com.lyms.platform.common.annotation.TokenRequired; import com.lyms.platform.common.base.BaseController; -import com.lyms.platform.common.base.LoginContext; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITemporaryBloodService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITemporaryBloodService.java new file mode 100644 index 0000000..f57d840 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITemporaryBloodService.java @@ -0,0 +1,21 @@ +package com.lyms.platform.operate.web.service; + +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.pojo.TemporaryBloodModel; + +import java.util.Date; + +public interface ITemporaryBloodService extends IBaseService { + + BaseResponse addTemporaryBlood(TemporaryBloodModel bloodModel); + + BaseResponse deleteTemporaryBlood(String id); + + BaseResponse queryOne(String id); + + BaseResponse queryAll(Integer page, Integer limit); + + BaseResponse info(String id, Date startDate); + + public BaseResponse getXyPresentation(String bloodId); +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITemporaryBloodSugarService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITemporaryBloodSugarService.java new file mode 100644 index 0000000..90fd406 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITemporaryBloodSugarService.java @@ -0,0 +1,16 @@ +package com.lyms.platform.operate.web.service; + +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.pojo.TemporaryBloodSugar; + +public interface ITemporaryBloodSugarService extends IBaseService { + + BaseResponse addAndUpdate(TemporaryBloodSugar bloodSugar); + + BaseResponse deleteBloodSugar(String id); + + BaseResponse queryOne(String id); + + BaseResponse queryAll(Integer page, Integer limit); + +} 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 new file mode 100644 index 0000000..f091a28 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryBloodServiceImpl.java @@ -0,0 +1,544 @@ +package com.lyms.platform.operate.web.service.impl; + +import com.lyms.platform.biz.dal.ITemporaryBloodDao; +import com.lyms.platform.common.constants.ErrorCodeConstants; +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.StringUtils; +import com.lyms.platform.operate.web.service.ITemporaryBloodService; +import com.lyms.platform.operate.web.service.PatientWeightService; +import com.lyms.platform.operate.web.utils.ReportConfig; +import com.lyms.platform.pojo.BloodPressure; +import com.lyms.platform.pojo.Patients; +import com.lyms.platform.pojo.TemporaryBloodModel; +import com.lyms.platform.pojo.XyPresentationModel; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Sort; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.data.mongodb.core.query.Update; +import org.springframework.stereotype.Service; + +import java.util.*; + +@Service +public class TemporaryBloodServiceImpl extends BaseServiceImpl implements ITemporaryBloodService { + @Autowired + private MongoTemplate mongoTemplate; + + + @Autowired + private ITemporaryBloodDao temporaryBloodDao; + + @Autowired + private PatientWeightService patientWeightService; + + @Override + public BaseResponse addTemporaryBlood(TemporaryBloodModel bloodModel) { + List models = mongoTemplate.findAll(TemporaryBloodModel.class); + if (CollectionUtils.isNotEmpty(models)) { + TemporaryBloodModel bloodModel1 = mongoTemplate.findOne(Query.query(Criteria.where("phone").is(bloodModel.getPhone())), TemporaryBloodModel.class); + if (bloodModel1 == null) { + bloodModel.setYn(1); + bloodModel.setModified(new Date()); + bloodModel.setCreated(new Date()); + Map temp = new LinkedHashMap<>(); + bloodModel.setModified(new Date()); + temp.put("szy", bloodModel.getSzy()); + temp.put("ssy", bloodModel.getSsy()); + temp.put("pulse", bloodModel.getPulse()); + temp.put("timestamp", DateUtil.getyyyy_MM_dd_hms(new Date())); + Map> infos = new LinkedHashMap<>(); + infos.put(DateUtil.getyyyy_MM_dd(new Date()), temp); + bloodModel.setInfos(infos); + mongoTemplate.insert(bloodModel); + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("添加成功"); + } else { + bloodModel.setModified(new Date()); + temporaryBloodDao.updateTemporaryBlood(Query.query(Criteria.where("_id").is(bloodModel.getId())), bloodModel); + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("修改成功"); + } + } else { + bloodModel.setYn(1); + bloodModel.setModified(new Date()); + bloodModel.setCreated(new Date()); + Map temp = new LinkedHashMap<>(); + bloodModel.setModified(new Date()); + temp.put("szy", bloodModel.getSzy()); + temp.put("ssy", bloodModel.getSsy()); + temp.put("pulse", bloodModel.getPulse()); + temp.put("timestamp", DateUtil.getyyyy_MM_dd_hms(new Date())); + Map> infos = new LinkedHashMap<>(); + infos.put(DateUtil.getyyyy_MM_dd(new Date()), temp); + bloodModel.setInfos(infos); + mongoTemplate.insert(bloodModel); + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("添加成功"); + } + + } + + @Override + public BaseResponse deleteTemporaryBlood(String id) { + mongoTemplate.updateFirst(Query.query(Criteria.where("_id").is(id)), Update.update("yn", 1), TemporaryBloodModel.class); + return RespBuilder.buildSuccess(); + } + + @Override + public BaseResponse queryOne(String id) { + TemporaryBloodModel bloodModel = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id)), TemporaryBloodModel.class); + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(bloodModel); + } + + @Override + public BaseResponse queryAll(Integer page, Integer limit) { + Criteria criteria = Criteria.where("yn").ne(0); + PageResult pageResult = findMongoPage(TemporaryBloodModel.class, new Query(criteria).with(new Sort(Sort.Direction.DESC, "modified")), page, limit); + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(pageResult); + } + + @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") : "--"); + + 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); + } + + @Override + public BaseResponse getXyPresentation(String id) { + //1.通过血压ID 查询到pnationId + Map datas = new HashMap<>(); + Map> series = new HashMap<>(); + //BloodPressure bloodPressure = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(bloodId)), BloodPressure.class); + TemporaryBloodModel bloodModel = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id)), TemporaryBloodModel.class); + //1.1回去bim值 String getBmi(String weight, String height); + String weight = bloodModel.getBeforeWeight(); + String height = bloodModel.getBeforeHeight(); + String bregmatic = bloodModel.getBregmatic(); + //2.通过pnationId ID获取到相应的信息例如:末次月经 + if (StringUtils.isNotEmpty(weight) && StringUtils.isNotEmpty(height) && StringUtils.isNotEmpty(bregmatic)) { + //Patients patients = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(bloodPressure.getParentId())), Patients.class); + Integer weeks = DateUtil.getWeek(bloodModel.getLastMenses(), bloodModel.getModified()); + System.out.println("孕周:" + weeks); + Map paMap = new HashMap(); + // paMap.put("vcCardNo", patients.getVcCardNo()); + paMap.put("username", bloodModel.getUserName()); + paMap.put("phone", bloodModel.getPhone()); + paMap.put("age", bloodModel.getAge()); + //paMap.put("dueDate", DateUtil.getyyyy_MM_dd(bloodModel.getDueDate())); + paMap.put("height", bloodModel.getBeforeHeight()); + paMap.put("beforWeight", bloodModel.getBeforeWeight()); + paMap.put("weeks", weeks); + datas.put("userInfo", paMap); + Double bmiD = Double.valueOf(patientWeightService.getBmi(weight, height)).doubleValue(); + String bmiStr = ""; + //空和1表示单胎 + if (!org.apache.commons.lang.StringUtils.isNotEmpty(bregmatic) || "1".equals(bregmatic)) { + if (bmiD < 18.5) { + bmiStr = "BMI<18.5"; + } else if (bmiD >= 18.5 && bmiD <= 24.99) { + bmiStr = "BMI=18.5-24.9"; + } else if (bmiD > 24.9 && bmiD < 30) { + bmiStr = "BMI=25-29.9"; + } else if (bmiD >= 30) { + bmiStr = "BMI≥30"; + } + } else { + if (bmiD <= 24.9) { + bmiStr = "BMI≤24.9"; + } else if (bmiD >= 25 && bmiD <= 29.99) { + bmiStr = "BMI=25-29.9"; + } else if (bmiD >= 30) { + bmiStr = "BMI≥30"; + } + } + //计算出区间范围 + double low = 0.0; + double high = 0.0; + this.getSeries(series, bmiStr, bregmatic); + Map lowMap = series.get("lowData"); + for (Map.Entry entry : lowMap.entrySet()) { + if (entry.getKey() == weeks) { + } + } + Map highMap = series.get("highData"); + for (Map.Entry entry : highMap.entrySet()) { + if (entry.getKey() == weeks) { + high = entry.getValue(); + } + } + //计算出属于那种类型 偏重 还事负重 还是正常 当前体重-孕前体重 + Double residualWeight = Double.valueOf(bloodModel.getNowWeight()).doubleValue() - Double.valueOf(bloodModel.getBeforeWeight()).doubleValue(); + //把厘米转换成米 + Double heights = (Double.valueOf(bloodModel.getBeforeHeight()).doubleValue()) / 100d; + int cals = this.getRounding((int) this.getCal(bregmatic, residualWeight, low, high, weeks, bmiD, bloodModel, heights)); + 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); + if (xy != null) { + Map mapxy = new HashMap(); + if (weeks >= 0 && weeks <= 12) { + mapxy.put("proposal", "建议(孕早期)"); + mapxy.put("proposalInfo", xy.getEarlySuggests()); + } else if (weeks >= 13 && weeks <= 28) { + mapxy.put("proposal", "建议(孕中期)"); + mapxy.put("proposalInfo", xy.getMiddleSuggests()); + } else if (weeks >= 29 && weeks <= 40) { + mapxy.put("proposal", "建议(孕晚期)"); + mapxy.put("proposalInfo", xy.getLaterSuggests()); + } + mapxy.put("quantityHeat", xy.getQuantityHeat()); + mapxy.put("breakfast", xy.getBreakfast()); + mapxy.put("breakfastAdd", xy.getBreakfastAdd()); + mapxy.put("lunch", xy.getLunch()); + mapxy.put("lunchAdd", xy.getLunchAdd()); + mapxy.put("dinner", xy.getDinner()); + mapxy.put("dinnerAdd", xy.getDinnerAdd()); + mapxy.put("northSouth", xy.getNorthSouth()); + datas.put("recipes", mapxy); + } else { + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("未获取到热量值"); + } + if (xyPresentationModels.isEmpty()) { + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("没有对应的数据"); + } else { + List motionList = new ArrayList<>(); + for (XyPresentationModel p : xyPresentationModels) { + Map map = new HashMap(); + map.put("title", p.getTitle()); + map.put("content", p.getContent()); + map.put("modular", p.getModular()); + map.put("type", p.getType()); + if (3 == p.getType()) { + motionList.add(map); + } else if (2 == p.getType()) { + datas.put("guide", map); + } else if (0 == p.getType()) { + datas.put("pregnancy", map); + } + } + datas.put("motion", motionList); + } + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(datas); + } else { + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("失败").setData("请检查数据是否填写完整!"); + } + } + + public void getSeries(Map> series, String bmiStr, String bregmatic) { + Map highMap = new LinkedHashMap<>(); + Map normalMap = new LinkedHashMap<>(); + Map lowMap = new LinkedHashMap<>(); + + double low = 1; + double high = 1.5D; + + double avg = Double.valueOf(String.format("%.2f", low / 12)); + for (int i = 1; i <= 12; i++) { + lowMap.put(i, Double.valueOf(String.format("%.2f", i * avg))); + } + + double highAvg = Double.valueOf(String.format("%.2f", high / 12)); + for (int i = 1; i <= 12; i++) { + highMap.put(i, Double.valueOf(String.format("%.2f", i * highAvg))); + } + + for (int i = 13; i <= 40; i++) { + + String range = ""; + //空和1表示单胎 + if (!org.apache.commons.lang.StringUtils.isNotEmpty(bregmatic) || "1".equals(bregmatic)) { + range = ReportConfig.getWeightRange(bmiStr + "孕" + i + "周"); + } else { + range = ReportConfig.getDWeightRange(bmiStr + "孕" + i + "周"); + } + + if (org.apache.commons.lang.StringUtils.isNotEmpty(range)) { + String[] array = range.split("-"); + lowMap.put(i, Double.valueOf(String.format("%.2f", Double.valueOf(array[0])))); + highMap.put(i, Double.valueOf(String.format("%.2f", Double.valueOf(array[1])))); + } + } + + for (int i = 1; i <= 40; i++) { + normalMap.put(i, Double.valueOf(String.format("%.2f", (highMap.get(i) + lowMap.get(i)) / 2))); + } + series.put("lowData", lowMap); + series.put("highData", highMap); + series.put("normalData", normalMap); + } + + public double getCal(String bregmatic, double residualWeight, double low, double high, int weeks, double bmiD, TemporaryBloodModel bloodModel, double heights) { + Double beforWeight = Double.valueOf(bloodModel.getBeforeWeight()).doubleValue(); + int age = bloodModel.getAge(); + Double number = 354 - 6.91 * age + 1.12 * (9.36 * beforWeight + 726 * heights); + //单胎 + if ("1".equals(bregmatic) && StringUtils.isNotEmpty(bregmatic)) { + if (residualWeight >= low - 1.0 && residualWeight <= high + 1.0 && bmiD < 18.5 && weeks >= 0 && weeks <= 12) { + return number; + } else if (residualWeight >= low - 1.0 && residualWeight <= high + 1.0 && bmiD < 18.5 && weeks >= 13 && weeks <= 28) { + return number + 380; + } else if (residualWeight >= low - 1.0 && residualWeight <= high + 1.0 && bmiD < 18.5 && weeks >= 29 && weeks <= 40) { + return number + 500; + } else if (residualWeight >= low - 1.0 && residualWeight <= high + 1.0 && bmiD >= 18.5 && bmiD <= 24.9 && weeks >= 0 && weeks <= 12) { + return number; + } else if (residualWeight >= low - 1.0 && residualWeight <= high + 1.0 && bmiD >= 18.5 && bmiD < 24.9 && weeks >= 13 && weeks <= 28) { + return number + 340; + } else if (residualWeight >= low - 1.0 && residualWeight <= high + 1.0 && bmiD >= 18.5 && bmiD < 24.9 && weeks >= 29 && weeks <= 40) { + return number + 450; + } else if (residualWeight >= low - 1.0 && residualWeight <= high + 1.0 && bmiD >= 25 && bmiD <= 29.9 && weeks >= 0 && weeks <= 12) { + return number; + } else if (residualWeight >= low - 1.0 && residualWeight <= high + 1.0 && bmiD >= 25 && bmiD <= 29.9 && weeks >= 13 && weeks <= 28) { + return number + 200; + } else if (residualWeight >= low - 1.0 && residualWeight <= high + 1.0 && bmiD >= 25 && bmiD <= 29.9 && weeks >= 29 && weeks <= 40) { + return number + 250; + } else if (residualWeight >= low - 1.0 && residualWeight <= high + 1.0 && bmiD >= 30 && weeks >= 0 && weeks <= 12) { + return number; + } else if (residualWeight >= low - 1.0 && residualWeight <= high + 1.0 && bmiD >= 30 && weeks >= 13 && weeks <= 28) { + return number + 120; + } else if (residualWeight >= low - 1.0 && residualWeight <= high + 1.0 && bmiD >= 30 && weeks >= 29 && weeks <= 40) { + return number + 160; + //增重超过曲线上限1kg + } else if (residualWeight > high + 1.0 && bmiD < 18.5 && weeks >= 0 && weeks <= 12) { + return number - 300; + } else if (residualWeight > high + 1.0 && bmiD < 18.5 && weeks >= 13 && weeks <= 28) { + return number + 380 - 300; + } else if (residualWeight > high + 1.0 && bmiD < 18.5 && weeks >= 29 && weeks <= 40) { + return number + 500 - 300; + //BMI=18.5-24.9 + } else if (residualWeight > high + 1.0 && bmiD >= 18.5 && bmiD <= 24.9 && weeks >= 0 && weeks <= 12) { + return number - 300; + } else if (residualWeight > high + 1.0 && bmiD >= 18.5 && bmiD <= 24.9 && weeks >= 13 && weeks <= 28) { + return number + 340 - 300; + } else if (residualWeight > high + 1.0 && bmiD >= 18.5 && bmiD <= 24.9 && weeks >= 29 && weeks <= 40) { + return number + 450 - 300; + //BMI=25-29.9 + } else if (residualWeight > high + 1.0 && bmiD >= 25 && bmiD <= 29.9 && weeks >= 0 && weeks <= 12) { + return number - 300; + } else if (residualWeight > high + 1.0 && bmiD >= 25 && bmiD <= 29.9 && weeks >= 13 && weeks <= 28) { + return number + 200 - 300; + } else if (residualWeight > high + 1.0 && bmiD >= 25 && bmiD <= 29.9 && weeks >= 29 && weeks <= 40) { + return number + 250 - 300; + //BMI≥30 + } else if (residualWeight > high + 1.0 && bmiD >= 30 && weeks >= 0 && weeks <= 12) { + return number - 300; + } else if (residualWeight > high + 1.0 && bmiD >= 30 && weeks >= 13 && weeks <= 28) { + return number + 120 - 300; + } else if (residualWeight > high + 1.0 && bmiD >= 30 && weeks >= 29 && weeks <= 40) { + return number + 160 - 300; + //体重为正增长,但增长未达到曲线下限,且低于1kg + } else if (residualWeight < low - 1.0 && residualWeight >= 0 && bmiD < 18.5 && weeks >= 0 && weeks <= 12) { + return number + 300; + } else if (residualWeight < low - 1.0 && residualWeight >= 0 && bmiD < 18.5 && weeks >= 13 && weeks <= 28) { + return number + 380 + 300; + } else if (residualWeight < low - 1.0 && residualWeight >= 0 && bmiD < 18.5 && weeks >= 29 && weeks <= 40) { + return number + 500 + 300; + //BMI=18.5-24.9 + } else if (residualWeight < low - 1.0 && residualWeight >= 0 && bmiD >= 18.5 && bmiD <= 24.9 && weeks >= 0 && weeks <= 12) { + return number - 300; + } else if (residualWeight < low - 1.0 && residualWeight >= 0 && bmiD >= 18.5 && bmiD <= 24.9 && weeks >= 13 && weeks <= 28) { + return number + 340 + 300; + } else if (residualWeight < low - 1.0 && residualWeight >= 0 && bmiD >= 18.5 && bmiD <= 24.9 && weeks >= 29 && weeks <= 40) { + return number + 450 + 300; + //BMI=25-29.9 + } else if (residualWeight < low - 1.0 && residualWeight >= 0 && bmiD >= 25 && bmiD <= 29.9 && weeks >= 0 && weeks <= 12) { + return number - 300; + } else if (residualWeight < low - 1.0 && residualWeight >= 0 && bmiD >= 18.5 && bmiD <= 29.9 && weeks >= 13 && weeks <= 28) { + return number + 200 + 300; + } else if (residualWeight < low - 1.0 && residualWeight >= 0 && bmiD >= 18.5 && bmiD <= 29.9 && weeks >= 29 && weeks <= 40) { + return number + 250 + 300; + //BMI≥30 + } else if (residualWeight < low - 1.0 && residualWeight >= 0 && bmiD >= 30 && weeks >= 0 && weeks <= 12) { + return number - 300; + } else if (residualWeight < low - 1.0 && residualWeight >= 0 && bmiD >= 30 && bmiD <= 29.9 && weeks >= 13 && weeks <= 28) { + return number + 120 + 300; + } else if (residualWeight < low - 1.0 && residualWeight >= 0 && bmiD >= 30 && bmiD <= 29.9 && weeks >= 29 && weeks <= 40) { + return number + 160 + 300; + } + //体重为负增长(按当前体重重新算BMI) + else if (residualWeight < 0) { + //重新计算bmi值 + String weight = bloodModel.getNowWeight(); + String height = bloodModel.getBeforeHeight(); + Double bmiDs = Double.valueOf(patientWeightService.getBmi(weight, height)).doubleValue(); + if (bmiDs < 18.5 && weeks >= 0 && weeks <= 12) { + return number + 300; + } else if (bmiDs < 18.5 && weeks >= 13 && weeks <= 28) { + return number + 380 + 300; + } else if (bmiDs < 18.5 && weeks >= 29 && weeks <= 40) { + return number + 500 + 300; + } else if (bmiDs >= 18.5 && bmiDs <= 24.9 && weeks >= 0 && weeks <= 12) { + return number + 300; + } else if (bmiDs >= 18.5 && bmiDs <= 24.9 && weeks >= 13 && weeks <= 28) { + return number + 340 + 300; + } else if (bmiDs >= 18.5 && bmiDs <= 24.9 && weeks >= 29 && weeks <= 40) { + return number + 450 + 300; + } + //BMI=25-29.9 + else if (bmiDs >= 25 && bmiDs <= 29.9 && weeks >= 0 && weeks <= 12) { + return number + 300; + } else if (bmiDs >= 25 && bmiDs <= 29.9 && weeks >= 13 && weeks <= 28) { + return number + 200 + 300; + } else if (bmiDs >= 25 && bmiDs <= 29.9 && weeks >= 29 && weeks <= 40) { + return number + 250 + 300; + } + //BMI≥30 + else if (bmiDs >= 30 && weeks >= 0 && weeks <= 12) { + return number + 300; + } else if (bmiDs >= 30 && weeks >= 13 && weeks <= 28) { + return number + 120 + 300; + } else if (bmiDs >= 30 && weeks >= 29 && weeks <= 40) { + return number + 160 + 300; + } + } + //双胎 + } else { + //正常范围 + if (residualWeight >= low - 1.0 && residualWeight <= high + 1.0 && bmiD <= 24.9 && weeks >= 0 && weeks <= 12) { + return number; + } else if (residualWeight >= low - 1.0 && residualWeight <= high + 1.0 && bmiD <= 24.9 && weeks >= 13 && weeks <= 28) { + return number + 540; + } else if (residualWeight >= low - 1.0 && residualWeight <= high + 1.0 && bmiD <= 24.9 && weeks >= 29 && weeks <= 40) { + return number + 700; + //BMI25-29.9 + } else if (residualWeight >= low - 1.0 && residualWeight <= high + 1.0 && bmiD >= 25 && bmiD <= 29.9 && weeks >= 0 && weeks <= 12) { + return number; + } else if (residualWeight >= low - 1.0 && residualWeight <= high + 1.0 && bmiD >= 25 && bmiD < 29.9 && weeks >= 13 && weeks <= 28) { + return number + 470; + } else if (residualWeight >= low - 1.0 && residualWeight <= high + 1.0 && bmiD >= 25 && bmiD < 29.9 && weeks >= 29 && weeks <= 40) { + return number + 620; + //BMI≥30 + } else if (residualWeight >= low - 1.0 && residualWeight <= high + 1.0 && bmiD >= 30 && weeks >= 0 && weeks <= 12) { + return number; + } else if (residualWeight >= low - 1.0 && residualWeight <= high + 1.0 && bmiD >= 30 && weeks >= 13 && weeks <= 28) { + return number + 340; + } else if (residualWeight >= low - 1.0 && residualWeight <= high + 1.0 && bmiD >= 30 && weeks >= 29 && weeks <= 40) { + return number + 450; + //双胎 增重超过曲线上限1kg + } else if (residualWeight > high + 1.0 && bmiD <= 24.9 && weeks >= 0 && weeks <= 12) { + return number - 300; + } else if (residualWeight > high + 1.0 && bmiD <= 24.9 && weeks >= 13 && weeks <= 28) { + return number + 540 - 300; + } else if (residualWeight > high + 1.0 && bmiD <= 24.9 && weeks >= 29 && weeks <= 40) { + return number + 620 - 300; + //BMI25-29.9 + } else if (residualWeight > high + 1.0 && bmiD >= 25 && bmiD <= 29.9 && weeks >= 0 && weeks <= 12) { + return number - 300; + } else if (residualWeight > high + 1.0 && bmiD >= 25 && bmiD <= 29.9 && weeks >= 13 && weeks <= 28) { + return number + 470 - 300; + } else if (residualWeight > high + 1.0 && bmiD >= 25 && bmiD <= 29.9 && weeks >= 29 && weeks <= 40) { + return number + 620 - 300; + //BMI≥30 + } else if (residualWeight > high + 1.0 && bmiD >= 30 && weeks >= 0 && weeks <= 12) { + return number - 300; + } else if (residualWeight > high + 1.0 && bmiD >= 30 && weeks >= 13 && weeks <= 28) { + return number + 340 - 300; + } else if (residualWeight > high + 1.0 && bmiD >= 30 && weeks >= 29 && weeks <= 40) { + return number + 450 - 300; + //BMI≤24.9 双胎 体重为正增长,但增长未达到曲线下限,且低于1kg + } else if (residualWeight < low - 1.0 && residualWeight >= 0 && bmiD <= 24.9 && weeks >= 0 && weeks <= 12) { + return number - 300; + } else if (residualWeight < low - 1.0 && residualWeight >= 0 && bmiD <= 24.9 && weeks >= 13 && weeks <= 28) { + return number + 540 + 300; + } else if (residualWeight < low - 1.0 && residualWeight >= 0 && bmiD <= 24.9 && weeks >= 29 && weeks <= 40) { + return number + 700 + 300; + } + //BMI25-29.9 + else if (residualWeight < low - 1.0 && residualWeight >= 0 && bmiD >= 25 && bmiD <= 29.9 && weeks >= 0 && weeks <= 12) { + return number + 300; + } else if (residualWeight < low - 1.0 && residualWeight >= 0 && bmiD >= 25 && bmiD <= 29.9 && weeks >= 13 && weeks <= 28) { + return number + 470 + 300; + } else if (residualWeight < low - 1.0 && residualWeight >= 0 && bmiD >= 25 && bmiD <= 29.9 && weeks >= 29 && weeks <= 40) { + return number + 620 + 300; + } + //BMI≥30 + else if (residualWeight < low - 1.0 && residualWeight >= 0 && bmiD >= 30 && weeks >= 0 && weeks <= 12) { + return number - 300; + } else if (residualWeight < low - 1.0 && residualWeight >= 0 && bmiD >= 30 && weeks >= 13 && weeks <= 28) { + return number + 340 + 300; + } else if (residualWeight < low - 1.0 && residualWeight >= 0 && bmiD >= 30 && weeks >= 29 && weeks <= 40) { + return number + 450 + 300; + //四、体重为负增长(按当前体重重新算BMI) + } else if (residualWeight < 0) { + //重新计算bmi值 + String weight = bloodModel.getNowWeight(); + String height = bloodModel.getBeforeHeight(); + Double bmiDs = Double.valueOf(patientWeightService.getBmi(weight, height)).doubleValue(); + if (bmiDs <= 24.9 && weeks >= 0 && weeks <= 12) { + return number + 300; + } else if (bmiDs <= 24.9 && weeks >= 13 && weeks <= 28) { + return number + 540 + 300; + } else if (bmiDs <= 24.9 && weeks >= 29 && weeks <= 40) { + return number + 700 + 300; + } else if (bmiDs >= 25 && bmiDs <= 29.9 && weeks >= 0 && weeks <= 12) { + return number + 300; + } else if (bmiDs >= 25 && bmiDs <= 29.9 && weeks >= 13 && weeks <= 28) { + return number + 470 + 300; + } else if (bmiDs >= 25 && bmiDs <= 29.9 && weeks >= 29 && weeks <= 40) { + return number + 620 + 300; + } + //BMI≥30 + else if (bmiDs >= 30 && weeks >= 0 && weeks <= 12) { + return number + 300; + } else if (bmiDs >= 30 && weeks >= 13 && weeks <= 28) { + return number + 340 + 300; + } else if (bmiDs >= 30 && weeks >= 29 && weeks <= 40) { + return number + 450 + 300; + } + } + } + return 0.0; + } + + public int getRounding(Integer number) { + if (number <= 1000) { + return 1000; + } else if (number >= 3300) { + return 3300; + } + if (number / 10 % 10 >= 5) { + int g = 0; //s % 10; + int sw = 0;//s / 10 % 10; + int b = number / 100 % 10 + 1; + int q = number / 1000 % 10; + int num = q * 1000 + b * 100 + sw * 0 + g * 0; + return num; + } else { + int g = 0; //s % 10; + int sw = 0;//s / 10 % 10; + int b = number / 100 % 10; + int q = number / 1000 % 10; + int num = q * 1000 + b * 100 + sw * 0 + g * 0; + return num; + } + } + +} 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 new file mode 100644 index 0000000..d115ade --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryBloodSugarServiceImpl.java @@ -0,0 +1,81 @@ +package com.lyms.platform.operate.web.service.impl; + +import com.lyms.platform.biz.dal.ITemporaryBloodSugarDao; +import com.lyms.platform.common.constants.ErrorCodeConstants; +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.operate.web.service.ITemporaryBloodSugarService; +import com.lyms.platform.pojo.TemporaryBloodSugar; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Sort; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.data.mongodb.core.query.Update; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + + +@Service +public class TemporaryBloodSugarServiceImpl extends BaseServiceImpl implements ITemporaryBloodSugarService { + + @Autowired + private MongoTemplate mongoTemplate; + + @Autowired + private ITemporaryBloodSugarDao temporaryBloodSugarDao; + + + @Override + + public BaseResponse addAndUpdate(TemporaryBloodSugar bloodSugar) { + List bloodSugars = mongoTemplate.findAll(TemporaryBloodSugar.class); + if (CollectionUtils.isNotEmpty(bloodSugars)) { + TemporaryBloodSugar temporaryBloodSugar = mongoTemplate.findOne(Query.query(Criteria.where("phone").is(bloodSugar.getPhone()).and("bloodSugarType").is(bloodSugar.getBloodSugarType())), TemporaryBloodSugar.class); + if (temporaryBloodSugar != null) { + bloodSugar.setModified(new Date()); + temporaryBloodSugarDao.updateTemporaryBloodSugar(Query.query(Criteria.where("_id").is(bloodSugar.getId()).and("bloodSugarType").is(bloodSugar.getBloodSugarType())), bloodSugar); + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("修改成功"); + } else { + bloodSugar.setModified(new Date()); + bloodSugar.setCreated(new Date()); + bloodSugar.setYn(1); + mongoTemplate.insert(bloodSugar); + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("添加成功"); + } + } else { + bloodSugar.setModified(new Date()); + bloodSugar.setCreated(new Date()); + bloodSugar.setYn(1); + mongoTemplate.insert(bloodSugar); + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("添加成功"); + } + } + + @Override + public BaseResponse deleteBloodSugar(String id) { + mongoTemplate.updateFirst(Query.query(Criteria.where("_id").is(id)), Update.update("yn", 1), TemporaryBloodSugar.class); + return RespBuilder.buildSuccess(); + } + + @Override + public BaseResponse queryOne(String id) { + TemporaryBloodSugar bloodModel = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id)), TemporaryBloodSugar.class); + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(bloodModel); + } + + @Override + public BaseResponse queryAll(Integer page, Integer limit) { + Criteria criteria = Criteria.where("yn").ne(0); + PageResult pageResult = findMongoPage(TemporaryBloodSugar.class, new Query(criteria).with(new Sort(Sort.Direction.DESC, "modified")), page, limit); + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(pageResult); + + } + + +} 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 a31c7a1..2b2148d 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 @@ -49,7 +49,6 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo @Autowired private OrganizationService organizationService; - @Autowired private ComputeKulServiceManager computeKulServiceManager;