diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MeasureInfoController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MeasureInfoController.java index 413a682..64d51a1 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MeasureInfoController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MeasureInfoController.java @@ -6,9 +6,11 @@ import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.operate.web.facade.MeasureInfoFacade; +import com.lyms.platform.operate.web.facade.TempFacade; import com.lyms.platform.operate.web.request.MeasureInfoRequest; import com.lyms.platform.operate.web.request.NutritionInfoRequest; import com.lyms.platform.operate.web.request.SmsTemplateRequest; +import com.lyms.platform.operate.web.request.TempAddRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @@ -27,6 +29,10 @@ public class MeasureInfoController extends BaseController { @Autowired private MeasureInfoFacade measureInfoFacade; + + @Autowired + private TempFacade tempFacade; + /** * 血糖和脉搏 身高和体重的值列表 * valueType 值类型: 1 体重和身高 2 血压和脉搏 3 体温 4血糖 @@ -182,5 +188,44 @@ public class MeasureInfoController extends BaseController { } + /** + * 添加体温 + * @param nutritionInfoRequest + * @param request + * @return + */ + @RequestMapping(method = RequestMethod.POST, value = "/addNutritionTemp") + @ResponseBody + public BaseResponse addNutritionTemp(@RequestBody NutritionInfoRequest nutritionInfoRequest, + HttpServletRequest request + ) + { + TempAddRequest addRequest = new TempAddRequest(); + addRequest.setParentId(nutritionInfoRequest.getPatientId()); + addRequest.setPid(nutritionInfoRequest.getPid()); + return tempFacade.addOrUpdateOneTemp(addRequest, nutritionInfoRequest.getHospitalId(), ""); + } + + + /** + * 添加血压 + * @param nutritionInfoRequest + * @param request + * @return + */ + @RequestMapping(method = RequestMethod.POST, value = "/addBloodPressure") + @ResponseBody + public BaseResponse addBloodPressure(@RequestBody NutritionInfoRequest nutritionInfoRequest, + HttpServletRequest request + ) + { + + return measureInfoFacade.addBloodPressure(nutritionInfoRequest); + } + + + + + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MeasureInfoFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MeasureInfoFacade.java index dca5285..bcc4c54 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MeasureInfoFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MeasureInfoFacade.java @@ -17,6 +17,7 @@ import com.lyms.platform.operate.web.result.MeasureBaseInfoResult; import com.lyms.platform.operate.web.result.MeasureInfoResult; import com.lyms.platform.operate.web.service.PatientWeightService; import com.lyms.platform.operate.web.utils.CommonsHelper; +import com.lyms.platform.operate.web.utils.MongoUtil; import com.lyms.platform.permission.dao.master.CouponMapper; import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.service.MeasureDataInfoService; @@ -31,6 +32,7 @@ import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanListHandler; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +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.stereotype.Component; @@ -69,6 +71,16 @@ public class MeasureInfoFacade { @Autowired private CouponMapper couponMapper; + + @Autowired + private BloodPressureService bloodPressureService; + + @Autowired + private MongoTemplate mongoTemplate; + + @Autowired + private MongoUtil mongoUtil; + @Autowired private BasicConfigService basicConfigService; @@ -743,7 +755,8 @@ public class MeasureInfoFacade { patInfo.put("bmi",bmi); patInfo.put("currentWeight",currentWeight); patInfo.put("patientId",pat.getId()); - patInfo.put("lastWeight",pat.getId()); + patInfo.put("lastWeight",lastWeight); + patInfo.put("pid",pat.getPid()); objectResponse.setData(patInfo); objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); @@ -858,5 +871,51 @@ public class MeasureInfoFacade { objectResponse.setErrormsg("成功"); return objectResponse; } + + + + public BaseResponse addBloodPressure(NutritionInfoRequest nutritionInfoRequest) { + + BloodPressure bloodPressure = new BloodPressure(); + bloodPressure.setParentId(nutritionInfoRequest.getPatientId()); + bloodPressure.setSsy(nutritionInfoRequest.getSsy()); + bloodPressure.setSzy(nutritionInfoRequest.getSzy()); + bloodPressure.setPulse(nutritionInfoRequest.getPulse()); + + String hospitalId = nutritionInfoRequest.getHospitalId(); + Map temp = new LinkedHashMap<>(); + bloodPressure.setModified(new Date()); + temp.put("szy", bloodPressure.getSzy()); + temp.put("ssy", bloodPressure.getSsy()); + temp.put("pulse", bloodPressure.getPulse()); + temp.put("timestamp", DateUtil.getyyyy_MM_dd_hms(new Date())); + temp.put("hospitalId", hospitalId); + Patients p = mongoTemplate.findById(bloodPressure.getParentId(), Patients.class); + BloodPressure bp = null; + if(p != null) { + bp = mongoTemplate.findOne(Query.query(Criteria.where("pid").is(p.getPid())), BloodPressure.class); + } + if(bp == null) { + String parentId = mongoUtil.doHidePatient(bloodPressure.getParentId(), hospitalId); + bloodPressure.setPid(mongoUtil.getPid(parentId)); + bloodPressure.setParentId(parentId); + bloodPressure.setYn(YnEnums.YES.getId()); + bloodPressure.setCreated(new Date()); + bloodPressure.setHospitalId(hospitalId); + bloodPressure.setOperaterId(null); + Map> infos = new LinkedHashMap<>(); + infos.put(DateUtil.getyyyy_MM_dd(new Date()), temp); + bloodPressure.setInfos(infos); + bloodPressureService.add(bloodPressure); + } else { + Map> infos = bp.getInfos(); + infos.put(DateUtil.getyyyy_MM_dd(new Date()), temp); + bloodPressure.setInfos(infos); + bloodPressure.setId(bp.getId()); + bloodPressure.setPid(bp.getPid()); + bloodPressureService.update(bloodPressure); + } + return RespBuilder.buildSuccess(); + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TempFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TempFacade.java index 7aa5a2c..30da925 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TempFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TempFacade.java @@ -86,6 +86,10 @@ public class TempFacade { public BaseResponse addOrUpdateOneTemp(TempAddRequest addRequest, Integer userId) { Assert.notNull(addRequest, "请求为空."); String hospital = autoMatchFacade.getHospitalId(userId); + return addOrUpdateOneTemp( addRequest, hospital, String.valueOf(userId)); + } + + public BaseResponse addOrUpdateOneTemp(TempAddRequest addRequest, String hospital,String userId) { String parentId = mongoUtil.doHidePatient(addRequest.getParentId(), hospital); addRequest.setParentId(parentId); TempQuery tempQuery = new TempQuery(); @@ -100,7 +104,7 @@ public class TempFacade { tempQuery.setHospitalList(list); TempModel tempModel = addRequest.convertToDataModel(); - tempModel.setOperator(userId + ""); + tempModel.setOperator(userId); tempModel.sethId(hospital); List temp = tempService.queryTemp(tempQuery); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/NutritionInfoRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/NutritionInfoRequest.java index 0c92481..238bd4b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/NutritionInfoRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/NutritionInfoRequest.java @@ -18,6 +18,44 @@ public class NutritionInfoRequest { private String face; + private String pid; + + private String szy; + private String ssy; + private Integer pulse; + + 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 getPid() { + return pid; + } + + public void setPid(String pid) { + this.pid = pid; + } + public String getBeforeWeight() { return beforeWeight; }