Commit ec799075e4deb519f0939e3e470a496ba0475444
1 parent
d8a8bceb54
Exists in
master
and in
6 other branches
体重管理
Showing 7 changed files with 242 additions and 7 deletions
- platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MeasureInfoController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MeasureInfoFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/NutritionInfoRequest.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/PatientWeightService.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java
platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java
View file @
ec79907
| ... | ... | @@ -341,6 +341,17 @@ |
| 341 | 341 | //承德 病人id |
| 342 | 342 | private String blNum; |
| 343 | 343 | |
| 344 | + //面部信息 | |
| 345 | + private String face; | |
| 346 | + | |
| 347 | + public String getFace() { | |
| 348 | + return face; | |
| 349 | + } | |
| 350 | + | |
| 351 | + public void setFace(String face) { | |
| 352 | + this.face = face; | |
| 353 | + } | |
| 354 | + | |
| 344 | 355 | public String getBlNum() { |
| 345 | 356 | return blNum; |
| 346 | 357 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MeasureInfoController.java
View file @
ec79907
| ... | ... | @@ -140,15 +140,46 @@ |
| 140 | 140 | * @param request |
| 141 | 141 | * @return |
| 142 | 142 | */ |
| 143 | - @RequestMapping(method = RequestMethod.POST, value = "/addtNutritionInfo") | |
| 143 | + @RequestMapping(method = RequestMethod.POST, value = "/addNutritionInfo") | |
| 144 | 144 | @ResponseBody |
| 145 | - public BaseObjectResponse addtNutritionInfo(@RequestBody NutritionInfoRequest nutritionInfoRequest, | |
| 145 | + public BaseObjectResponse addNutritionInfo(@RequestBody NutritionInfoRequest nutritionInfoRequest, | |
| 146 | 146 | HttpServletRequest request |
| 147 | 147 | ) |
| 148 | 148 | { |
| 149 | - return measureInfoFacade.addtNutritionInfo(nutritionInfoRequest); | |
| 149 | + return measureInfoFacade.addNutritionInfo(nutritionInfoRequest); | |
| 150 | 150 | } |
| 151 | 151 | |
| 152 | + | |
| 153 | + /** | |
| 154 | + * 获取面部信息 | |
| 155 | + * @param patientId | |
| 156 | + * @param request | |
| 157 | + * @return | |
| 158 | + */ | |
| 159 | + @RequestMapping(method = RequestMethod.GET, value = "/getFaceInfo") | |
| 160 | + @ResponseBody | |
| 161 | + public BaseObjectResponse getFaceInfo(@RequestParam(value = "patientId", required = true) String patientId, | |
| 162 | + HttpServletRequest request | |
| 163 | + ) | |
| 164 | + { | |
| 165 | + return measureInfoFacade.getFaceInfo(patientId); | |
| 166 | + } | |
| 167 | + | |
| 168 | + | |
| 169 | + /** | |
| 170 | + * 添加面部信息 | |
| 171 | + * @param nutritionInfoRequest | |
| 172 | + * @param request | |
| 173 | + * @return | |
| 174 | + */ | |
| 175 | + @RequestMapping(method = RequestMethod.POST, value = "/addFaceInfo") | |
| 176 | + @ResponseBody | |
| 177 | + public BaseResponse addFaceInfo(@RequestBody NutritionInfoRequest nutritionInfoRequest, | |
| 178 | + HttpServletRequest request | |
| 179 | + ) | |
| 180 | + { | |
| 181 | + return measureInfoFacade.addFaceInfo(nutritionInfoRequest); | |
| 182 | + } | |
| 152 | 183 | |
| 153 | 184 | |
| 154 | 185 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MeasureInfoFacade.java
View file @
ec79907
| ... | ... | @@ -8,13 +8,16 @@ |
| 8 | 8 | import com.lyms.platform.common.result.BaseListResponse; |
| 9 | 9 | import com.lyms.platform.common.result.BaseObjectResponse; |
| 10 | 10 | import com.lyms.platform.common.result.BaseResponse; |
| 11 | +import com.lyms.platform.common.result.RespBuilder; | |
| 11 | 12 | import com.lyms.platform.common.utils.DateUtil; |
| 12 | 13 | import com.lyms.platform.common.utils.ExceptionUtils; |
| 13 | 14 | import com.lyms.platform.operate.web.request.MeasureInfoRequest; |
| 14 | 15 | import com.lyms.platform.operate.web.request.NutritionInfoRequest; |
| 15 | 16 | import com.lyms.platform.operate.web.result.MeasureBaseInfoResult; |
| 16 | 17 | import com.lyms.platform.operate.web.result.MeasureInfoResult; |
| 18 | +import com.lyms.platform.operate.web.service.PatientWeightService; | |
| 17 | 19 | import com.lyms.platform.operate.web.utils.CommonsHelper; |
| 20 | +import com.lyms.platform.permission.dao.master.CouponMapper; | |
| 18 | 21 | import com.lyms.platform.permission.model.Organization; |
| 19 | 22 | import com.lyms.platform.permission.service.MeasureDataInfoService; |
| 20 | 23 | import com.lyms.platform.permission.service.MeasureUserInfoService; |
| ... | ... | @@ -22,6 +25,7 @@ |
| 22 | 25 | import com.lyms.platform.pojo.*; |
| 23 | 26 | import com.lyms.platform.query.*; |
| 24 | 27 | import org.apache.commons.collections.CollectionUtils; |
| 28 | +import org.apache.commons.collections.MapUtils; | |
| 25 | 29 | import org.apache.commons.dbutils.DbUtils; |
| 26 | 30 | import org.apache.commons.dbutils.QueryRunner; |
| 27 | 31 | import org.apache.commons.dbutils.handlers.BeanListHandler; |
| ... | ... | @@ -31,6 +35,7 @@ |
| 31 | 35 | import org.springframework.data.mongodb.core.query.Query; |
| 32 | 36 | import org.springframework.stereotype.Component; |
| 33 | 37 | |
| 38 | +import java.math.BigDecimal; | |
| 34 | 39 | import java.sql.Connection; |
| 35 | 40 | import java.util.*; |
| 36 | 41 | |
| 37 | 42 | |
| ... | ... | @@ -58,8 +63,13 @@ |
| 58 | 63 | @Autowired |
| 59 | 64 | private AntenatalExaminationService antenatalExaminationService; |
| 60 | 65 | |
| 66 | + @Autowired | |
| 67 | + private PatientWeightService patientWeightService; | |
| 61 | 68 | |
| 62 | 69 | @Autowired |
| 70 | + private CouponMapper couponMapper; | |
| 71 | + | |
| 72 | + @Autowired | |
| 63 | 73 | private BasicConfigService basicConfigService; |
| 64 | 74 | |
| 65 | 75 | private static String[] blood_item = new String[]{"--","--","--","--","--","--","--","--","--"}; |
| ... | ... | @@ -692,6 +702,8 @@ |
| 692 | 702 | patInfo.put("dueDate",DateUtil.getyyyy_MM_dd(DateUtil.addDay(pat.getLastMenses(), 280))); |
| 693 | 703 | patInfo.put("phone",pat.getPhone()); |
| 694 | 704 | patInfo.put("vcCardNo",pat.getVcCardNo()); |
| 705 | + patInfo.put("certType",String.valueOf(certType)); | |
| 706 | + patInfo.put("certNo",certNo); | |
| 695 | 707 | |
| 696 | 708 | String beforeWeight = ""; |
| 697 | 709 | String beforeHeight = ""; |
| ... | ... | @@ -736,8 +748,112 @@ |
| 736 | 748 | return objectResponse; |
| 737 | 749 | } |
| 738 | 750 | |
| 739 | - public BaseObjectResponse addtNutritionInfo(NutritionInfoRequest nutritionInfoRequest) { | |
| 740 | - return null; | |
| 751 | + public BaseObjectResponse addNutritionInfo(NutritionInfoRequest nutritionInfoRequest) { | |
| 752 | + | |
| 753 | + Patients patients = patientsService.findOnePatientById(nutritionInfoRequest.getPatientId()); | |
| 754 | + List<PatientWeight> patientWeights = patientWeightService2.queryPatientWeight(Query.query(Criteria.where("patientId").is(nutritionInfoRequest.getPatientId()))); | |
| 755 | + String hospitalId = nutritionInfoRequest.getHospitalId(); | |
| 756 | + | |
| 757 | + Map<String, String> dayWeights = new LinkedHashMap<>(); | |
| 758 | + List<Map<String, Object>> dayWeights2 = new ArrayList<>(); | |
| 759 | + | |
| 760 | + String currentWeight = nutritionInfoRequest.getCurrentWeight(); | |
| 761 | + if (CollectionUtils.isNotEmpty(patientWeights)) | |
| 762 | + { | |
| 763 | + PatientWeight pw = patientWeights.get(0); | |
| 764 | + | |
| 765 | + if(pw != null) { | |
| 766 | + if(MapUtils.isNotEmpty(pw.getDayWeights())) { | |
| 767 | + dayWeights = pw.getDayWeights(); | |
| 768 | + } | |
| 769 | + dayWeights.put(DateUtil.getyyyy_MM_dd(new Date()), currentWeight); | |
| 770 | + pw.setDayWeights(dayWeights); | |
| 771 | + pw.setNowWeight(currentWeight); | |
| 772 | + | |
| 773 | + String ymdDate = DateUtil.getyyyy_MM_dd(new Date()); | |
| 774 | + boolean flag = true; | |
| 775 | + if(com.lyms.platform.operate.web.utils.CollectionUtils.isNotEmpty(pw.getDayWeights2())) { | |
| 776 | + dayWeights2 = pw.getDayWeights2(); | |
| 777 | + } | |
| 778 | + for (Map<String, Object> map : dayWeights2) { | |
| 779 | + if(map.get("date").equals(ymdDate)) { | |
| 780 | + flag = false; | |
| 781 | + map.put("hospitalId", hospitalId); | |
| 782 | + map.put("hospitalName", couponMapper.getHospitalName(hospitalId)); | |
| 783 | + map.put("date", ymdDate); | |
| 784 | + map.put("nowWeight", currentWeight); | |
| 785 | + } | |
| 786 | + } | |
| 787 | + if(flag) { | |
| 788 | + Map<String, Object> m = new HashMap<>(); | |
| 789 | + m.put("hospitalId", hospitalId); | |
| 790 | + m.put("hospitalName", couponMapper.getHospitalName(hospitalId)); | |
| 791 | + m.put("date", ymdDate); | |
| 792 | + m.put("nowWeight", currentWeight); | |
| 793 | + dayWeights2.add(m); | |
| 794 | + } | |
| 795 | + pw.setDayWeights2(dayWeights2); | |
| 796 | + pw.setModified(new Date()); | |
| 797 | + patientWeightService2.update(Query.query(Criteria.where("id").is(pw.getId())), pw); | |
| 798 | + } | |
| 799 | + } | |
| 800 | + else | |
| 801 | + { | |
| 802 | + PatientWeight patientWeight = new PatientWeight(); | |
| 803 | + patientWeight.setNowWeight(currentWeight); | |
| 804 | + patientWeight.setPatientId(patients.getId()); | |
| 805 | + patientWeight.setBeforeWeight(nutritionInfoRequest.getBeforeWeight()); | |
| 806 | + patientWeight.setBeforeHeight(nutritionInfoRequest.getBeforeHeight()); | |
| 807 | + | |
| 808 | + dayWeights.put(DateUtil.getyyyy_MM_dd(new Date()), currentWeight); | |
| 809 | + patientWeight.setPid(patients.getPid()); | |
| 810 | + patientWeight.setDayWeights(dayWeights); | |
| 811 | + patientWeight.setHospitalId(hospitalId); | |
| 812 | +// patientWeight.setOperaterId(userId.toString()); | |
| 813 | + patientWeight.setCreated(new Date()); | |
| 814 | + if(StringUtils.isNotBlank(currentWeight) && nutritionInfoRequest.getBeforeHeight() != null) { | |
| 815 | + patientWeight.setBmi(patientWeightService.getBmi(currentWeight, nutritionInfoRequest.getBeforeHeight())); | |
| 816 | + } | |
| 817 | + patientWeight.setYn("1"); | |
| 818 | + | |
| 819 | + Map<String, Object> m = new HashMap<>(); | |
| 820 | + m.put("hospitalId", hospitalId); | |
| 821 | + m.put("hospitalName", couponMapper.getHospitalName(hospitalId)); | |
| 822 | + m.put("date", DateUtil.getyyyy_MM_dd(new Date())); | |
| 823 | + m.put("nowWeight", currentWeight); | |
| 824 | + dayWeights2.add(m); | |
| 825 | + patientWeight.setDayWeights2(dayWeights2); | |
| 826 | + | |
| 827 | + patientWeight.setModified(new Date()); | |
| 828 | + patientWeightService2.add(patientWeight); | |
| 829 | + | |
| 830 | + } | |
| 831 | + BaseObjectResponse objectResponse = new BaseObjectResponse(); | |
| 832 | + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); | |
| 833 | + objectResponse.setErrormsg("成功"); | |
| 834 | + return objectResponse; | |
| 835 | + } | |
| 836 | + | |
| 837 | + public BaseObjectResponse getFaceInfo(String patientId) { | |
| 838 | + Patients patients = patientsService.findOnePatientById(patientId); | |
| 839 | + Map<String,String> faceData = new HashMap<>(); | |
| 840 | + faceData.put("face",patients.getFace() == null ? "" : patients.getFace()); | |
| 841 | + BaseObjectResponse objectResponse = new BaseObjectResponse(); | |
| 842 | + objectResponse.setData(faceData); | |
| 843 | + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); | |
| 844 | + objectResponse.setErrormsg("成功"); | |
| 845 | + return objectResponse; | |
| 846 | + } | |
| 847 | + | |
| 848 | + public BaseResponse addFaceInfo(NutritionInfoRequest nutritionInfoRequest) { | |
| 849 | + Patients patients = patientsService.findOnePatientById(nutritionInfoRequest.getPatientId()); | |
| 850 | + patients.setFace(nutritionInfoRequest.getFace()); | |
| 851 | + patientsService.updatePatient(patients); | |
| 852 | + | |
| 853 | + BaseResponse objectResponse = new BaseResponse(); | |
| 854 | + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); | |
| 855 | + objectResponse.setErrormsg("成功"); | |
| 856 | + return objectResponse; | |
| 741 | 857 | } |
| 742 | 858 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/NutritionInfoRequest.java
View file @
ec79907
| ... | ... | @@ -4,5 +4,74 @@ |
| 4 | 4 | * Created by Administrator on 2018-05-07. |
| 5 | 5 | */ |
| 6 | 6 | public class NutritionInfoRequest { |
| 7 | + | |
| 8 | + private String patientId; | |
| 9 | + | |
| 10 | + // 当前体重currentWeight | |
| 11 | + private String currentWeight; | |
| 12 | + | |
| 13 | + private String hospitalId; | |
| 14 | + | |
| 15 | + private String beforeWeight; | |
| 16 | + private String beforeHeight; | |
| 17 | + private String tireNumber; | |
| 18 | + | |
| 19 | + private String face; | |
| 20 | + | |
| 21 | + public String getBeforeWeight() { | |
| 22 | + return beforeWeight; | |
| 23 | + } | |
| 24 | + | |
| 25 | + public void setBeforeWeight(String beforeWeight) { | |
| 26 | + this.beforeWeight = beforeWeight; | |
| 27 | + } | |
| 28 | + | |
| 29 | + public String getBeforeHeight() { | |
| 30 | + return beforeHeight; | |
| 31 | + } | |
| 32 | + | |
| 33 | + public void setBeforeHeight(String beforeHeight) { | |
| 34 | + this.beforeHeight = beforeHeight; | |
| 35 | + } | |
| 36 | + | |
| 37 | + public String getTireNumber() { | |
| 38 | + return tireNumber; | |
| 39 | + } | |
| 40 | + | |
| 41 | + public void setTireNumber(String tireNumber) { | |
| 42 | + this.tireNumber = tireNumber; | |
| 43 | + } | |
| 44 | + | |
| 45 | + public String getFace() { | |
| 46 | + return face; | |
| 47 | + } | |
| 48 | + | |
| 49 | + public void setFace(String face) { | |
| 50 | + this.face = face; | |
| 51 | + } | |
| 52 | + | |
| 53 | + public String getHospitalId() { | |
| 54 | + return hospitalId; | |
| 55 | + } | |
| 56 | + | |
| 57 | + public void setHospitalId(String hospitalId) { | |
| 58 | + this.hospitalId = hospitalId; | |
| 59 | + } | |
| 60 | + | |
| 61 | + public String getPatientId() { | |
| 62 | + return patientId; | |
| 63 | + } | |
| 64 | + | |
| 65 | + public void setPatientId(String patientId) { | |
| 66 | + this.patientId = patientId; | |
| 67 | + } | |
| 68 | + | |
| 69 | + public String getCurrentWeight() { | |
| 70 | + return currentWeight; | |
| 71 | + } | |
| 72 | + | |
| 73 | + public void setCurrentWeight(String currentWeight) { | |
| 74 | + this.currentWeight = currentWeight; | |
| 75 | + } | |
| 7 | 76 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/PatientWeightService.java
View file @
ec79907
| ... | ... | @@ -27,6 +27,8 @@ |
| 27 | 27 | |
| 28 | 28 | BaseResponse wxAddOrUpdateSync(PatientWeight patientWeight); |
| 29 | 29 | |
| 30 | + String getBmi(String weight, String height); | |
| 31 | + | |
| 30 | 32 | BaseResponse update(Integer userId, String id, String beforeWeight, String beforeHeight, String date, String nowWeight, String bregmatic, String bregmaticOther, boolean sync); |
| 31 | 33 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java
View file @
ec79907
| ... | ... | @@ -275,7 +275,8 @@ |
| 275 | 275 | } |
| 276 | 276 | |
| 277 | 277 | // 体质指数(BMI)=孕前体重(kg)÷孕前身高^2(m) |
| 278 | - public static String getBmi(String weight, String height) { | |
| 278 | + @Override | |
| 279 | + public String getBmi(String weight, String height) { | |
| 279 | 280 | if(StringUtils.isNotBlank(weight) && StringUtils.isNotEmpty(height)) { |
| 280 | 281 | Double w = Double.parseDouble(weight); |
| 281 | 282 | Double h = Double.parseDouble(height) / 100l; |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java
View file @
ec79907
| ... | ... | @@ -4,6 +4,7 @@ |
| 4 | 4 | import com.alibaba.fastjson.JSONObject; |
| 5 | 5 | import com.lyms.hospitalapi.pojo.ReportModel; |
| 6 | 6 | import com.lyms.platform.biz.service.CommonService; |
| 7 | +import com.lyms.platform.biz.service.PatientWeightService2; | |
| 7 | 8 | import com.lyms.platform.common.enums.*; |
| 8 | 9 | import com.lyms.platform.common.result.BaseObjectResponse; |
| 9 | 10 | import com.lyms.platform.common.result.PageResult; |
| ... | ... | @@ -16,6 +17,7 @@ |
| 16 | 17 | import com.lyms.platform.operate.web.facade.AccessPermissionFacade; |
| 17 | 18 | import com.lyms.platform.operate.web.facade.AutoMatchFacade; |
| 18 | 19 | import com.lyms.platform.operate.web.service.IReportService; |
| 20 | +import com.lyms.platform.operate.web.service.PatientWeightService; | |
| 19 | 21 | import com.lyms.platform.operate.web.utils.*; |
| 20 | 22 | import com.lyms.platform.permission.dao.master.CouponMapper; |
| 21 | 23 | import com.lyms.platform.permission.model.Organization; |
| ... | ... | @@ -79,6 +81,9 @@ |
| 79 | 81 | private UsersService usersService; |
| 80 | 82 | |
| 81 | 83 | @Autowired |
| 84 | + private PatientWeightService patientWeightService; | |
| 85 | + | |
| 86 | + @Autowired | |
| 82 | 87 | private CommonService commonService; |
| 83 | 88 | |
| 84 | 89 | private static final Map<String, String> colorMap = new HashMap<>(); |
| ... | ... | @@ -1013,7 +1018,7 @@ |
| 1013 | 1018 | if(tzFlag) { |
| 1014 | 1019 | for (AntExChuModel antExChuModel : antExChuModels) { |
| 1015 | 1020 | if(hospitalId.equals(antExChuModel.getHospitalId()) && StringUtils.isNotEmpty(antExChuModel.getYqWeight()) && StringUtils.isNotEmpty(antExChuModel.getHeight())) { |
| 1016 | - setReport(tzMap, weights, antExChuModel.getYqWeight(), PatientWeightServiceImpl.getBmi(antExChuModel.getYqWeight(), antExChuModel.getHeight())); | |
| 1021 | + setReport(tzMap, weights, antExChuModel.getYqWeight(), patientWeightService.getBmi(antExChuModel.getYqWeight(), antExChuModel.getHeight())); | |
| 1017 | 1022 | break; |
| 1018 | 1023 | } |
| 1019 | 1024 | } |