Commit 97c65b80fd3edae09b676a78f4711392e7e5e6ac

Authored by jiangjiazhi

Merge remote-tracking branch 'origin/master'

Showing 4 changed files

platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TempFacade.java View file @ 97c65b8
... ... @@ -245,7 +245,10 @@
245 245 if (patients != null) {
246 246 tempModel.setPid(patients.getPid());
247 247 }
248   - tempService.addOneTemp(tempModel);
  248 + tempModel.setCreated(new Date());
  249 + tempModel.setModified(new Date());
  250 + mongoTemplate.save(tempModel);
  251 +// tempService.addOneTemp(tempModel);
249 252 }
250 253 return RespBuilder.buildSuccess();
251 254 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodPressureServiceImpl.java View file @ 97c65b8
... ... @@ -218,7 +218,8 @@
218 218 Map<String, Map<String, Object>> infos = new LinkedHashMap<>();
219 219 infos.put(DateUtil.getyyyy_MM_dd(new Date()), temp);
220 220 bloodPressure.setInfos(infos);
221   - bloodPressureService.add(bloodPressure);
  221 +// bloodPressureService.add(bloodPressure);
  222 + mongoTemplate.save(bloodPressure);
222 223 } else {
223 224 Map<String, Map<String, Object>> infos = bp.getInfos();
224 225 infos.put(DateUtil.getyyyy_MM_dd(new Date()), temp);
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java View file @ 97c65b8
... ... @@ -219,7 +219,8 @@
219 219 one.setYn(YnEnums.YES.getId());
220 220 one.setModified(new Date());
221 221 one.setCreatYmdDate(DateUtil.getyyyy_MM_dd(new Date()));
222   - bloodSugarService.add(one);
  222 +// bloodSugarService.add(one);
  223 + mongoTemplate.save(one);
223 224 return RespBuilder.buildSuccess(one.getId());
224 225 }
225 226  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java View file @ 97c65b8
... ... @@ -600,12 +600,36 @@
600 600 AntExChuModel antExChuModel = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(parentId).and("yn").is(1).and("hospitalId").is(hospitalId)).with(new Sort(Sort.Direction.DESC, "checkTime")), AntExChuModel.class);
601 601 List<AntenatalExaminationModel> antexModels = mongoTemplate.find(Query.query(Criteria.where("parentId").is(parentId).and("yn").is(1).and("hospitalId").is(hospitalId)).with(new Sort(Sort.Direction.DESC, "checkTime")), AntenatalExaminationModel.class);
602 602  
  603 + Map<String, Object> xyMap = new HashMap<>();
  604 + List<Integer> szyMin = new ArrayList<>();
  605 + List<Integer> ssyMax = new ArrayList<>();
  606 + List<Integer> xAxis = new ArrayList<>();
  607 + List<Object> ssy = new ArrayList<>();
  608 + List<Object> szy = new ArrayList<>();
  609 + xyMap.put("szyMin", szyMin);
  610 + xyMap.put("ssyMax", ssyMax);
  611 + xyMap.put("xAxis", xAxis);
  612 + xyMap.put("ssy", ssy);
  613 + xyMap.put("szy", szy);
  614 + for (int i = 0; i <= 40; i++) {
  615 + ssyMax.add(140);
  616 + szyMin.add(60);
  617 + ssy.add(0);
  618 + szy.add(0);
  619 + xAxis.add(i);
  620 + }
  621 +
  622 + Map<String, Object> tzMap = new HashMap<>();
  623 + Map<Integer, String> weights = new LinkedHashMap<>();
  624 + boolean tzFlag = antExChuModel == null || StringUtils.isEmpty(antExChuModel.getYqWeight()) || StringUtils.isEmpty(antExChuModel.getHeight()) ? false : true;
  625 +
603 626 for (AntenatalExaminationModel antexModel : antexModels) {
604 627 Map<String, Object> temp = new HashMap<>();
  628 + Integer week = DateUtil.getWeek(p.getLastMenses(), antexModel.getCheckDate());
605 629 temp.put("checkTime", DateUtil.getyyyy_MM_dd(antexModel.getCheckDate()));
606   - temp.put("week", DateUtil.getWeek(p.getLastMenses(), antexModel.getCheckDate()));
  630 + temp.put("week", week);
607 631 temp.put("weight", antexModel.getWeight());
608   - temp.put("bp", JSONObject.parseObject(antexModel.getBp()).getString("ssy") + "/" + JSONObject.parseObject(antexModel.getBp()).getString("szy"));
  632 + temp.put("bp", parseNull(JSONObject.parseObject(antexModel.getBp()).getString("ssy"), "--") + "/" + parseNull(JSONObject.parseObject(antexModel.getBp()).getString("szy"), "--"));
609 633 temp.put("gonggao", antexModel.getGongGao());
610 634 temp.put("abdominalCircumference", antexModel.getAbdominalCircumference());// ่…นๅ›ด
611 635  
612 636  
613 637  
614 638  
615 639  
616 640  
617 641  
618 642  
619 643  
... ... @@ -630,48 +654,181 @@
630 654 temp.put("edema",FuZhongEnums.getName(antexModel.getEdema())); // ๆฐด่‚ฟ
631 655 temp.put("urineProtein", antexModel.getUrineProtein()); // ๅฐฟ่›‹็™ฝ
632 656 temp.put("hemoglobin", antexModel.getHemoglobin()); // ่ก€็บข็ด 
  657 +
  658 + ssy.set(week, parseNull(JSONObject.parseObject(antExChuModel.getBp()).getString("ssy"), 0));
  659 + szy.set(week, parseNull(JSONObject.parseObject(antExChuModel.getBp()).getString("szy"), 0));
  660 + if(tzFlag && antexModel.getWeight() != null) {
  661 + weights.put(DateUtil.getWeek2(p.getLastMenses(), antexModel.getCheckDate()), antexModel.getWeight() + "");
  662 + }
  663 +
633 664 restList.add(temp);
634 665 }
635 666  
636 667 // ๆทปๅŠ ๅˆ่ฏŠlist
637   - Map<String, Object> temp = new HashMap<>();
638   - temp.put("checkTime", DateUtil.getyyyy_MM_dd(antExChuModel.getCheckTime()));
639   - temp.put("week", DateUtil.getWeek(p.getLastMenses(), antExChuModel.getCheckTime()));
640   - temp.put("weight", antExChuModel.getWeight());
641   - temp.put("bp", JSONObject.parseObject(antExChuModel.getBp()).getString("ssy") + "/" + JSONObject.parseObject(antExChuModel.getBp()).getString("szy"));
642   - temp.put("gonggao", antExChuModel.getGonggao());
643   - temp.put("abdominalCircumference", antExChuModel.getFuwei());// ่…นๅ›ด
  668 + if(antExChuModel != null) {
  669 + Map<String, Object> temp = new HashMap<>();
  670 + temp.put("checkTime", DateUtil.getyyyy_MM_dd(antExChuModel.getCheckTime()));
  671 + Integer week = DateUtil.getWeek(p.getLastMenses(), antExChuModel.getCheckTime());
  672 + temp.put("week", week);
  673 + temp.put("weight", antExChuModel.getWeight());
  674 + temp.put("bp", parseNull(JSONObject.parseObject(antExChuModel.getBp()).getString("ssy"), "--") + "/" + parseNull(JSONObject.parseObject(antExChuModel.getBp()).getString("szy"), "--"));
  675 + temp.put("gonggao", antExChuModel.getGonggao());
  676 + temp.put("abdominalCircumference", antExChuModel.getFuwei());// ่…นๅ›ด
644 677  
645   - List<Map> tireData = antExChuModel.getPlacentas();
646   - String fetalPosition = "";
647   - String heartRate = "";
648   - String fetalPresentation = "";
649   - if(CollectionUtils.isNotEmpty(tireData)) {
650   - for (Map tireDatum : tireData) {
651   - fetalPosition = fetalPosition.length() > 0 ? "/" + tireDatum.get("fetalPosition") : tireDatum.get("fetalPosition") + "";
652   - heartRate = heartRate.length() > 0 ? "/" + tireDatum.get("heartRate") : tireDatum.get("heartRate") + "";
653   - fetalPresentation = fetalPresentation.length() > 0 ? "/" + FetalEnums.getTitle2((String) tireDatum.get("fetalPosition")) : FetalEnums.getTitle2((String) tireDatum.get("fetalPosition"));
  678 + List<Map> tireData = antExChuModel.getPlacentas();
  679 + String fetalPosition = "";
  680 + String heartRate = "";
  681 + String fetalPresentation = "";
  682 + if(CollectionUtils.isNotEmpty(tireData)) {
  683 + for (Map tireDatum : tireData) {
  684 + fetalPosition = fetalPosition.length() > 0 ? "/" + tireDatum.get("fetalPosition") : tireDatum.get("fetalPosition") + "";
  685 + heartRate = heartRate.length() > 0 ? "/" + tireDatum.get("heartRate") : tireDatum.get("heartRate") + "";
  686 + fetalPresentation = fetalPresentation.length() > 0 ? "/" + FetalEnums.getTitle2((String) tireDatum.get("fetalPosition")) : FetalEnums.getTitle2((String) tireDatum.get("fetalPosition"));
  687 + }
  688 + } else {
  689 + fetalPosition = "--";
  690 + heartRate = "--";
  691 + fetalPresentation = "--";
654 692 }
655   - } else {
656   - fetalPosition = "--";
657   - heartRate = "--";
658   - fetalPresentation = "--";
  693 +
  694 + temp.put("fetalPosition", fetalPosition); // ่ƒŽไฝ
  695 + temp.put("heartRate", heartRate); // ่ƒŽๅฟƒ
  696 + temp.put("fetalPresentation", fetalPresentation); // ๅ…ˆ้œฒ
  697 + temp.put("edema",FuZhongEnums.getName(antExChuModel.getEdema())); // ๆฐด่‚ฟ
  698 + temp.put("urineProtein", antExChuModel.getNdb()); // ๅฐฟ่›‹็™ฝ
  699 + temp.put("hemoglobin", antExChuModel.getXhdb()); // ่ก€็บข็ด 
  700 +
  701 + ssy.set(week, parseNull(JSONObject.parseObject(antExChuModel.getBp()).getString("ssy"), 0));
  702 + szy.set(week, parseNull(JSONObject.parseObject(antExChuModel.getBp()).getString("szy"), 0));
  703 +
  704 + restList.add(temp);
659 705 }
660 706  
661   - temp.put("fetalPosition", fetalPosition); // ่ƒŽไฝ
662   - temp.put("heartRate", heartRate); // ่ƒŽๅฟƒ
663   - temp.put("fetalPresentation", fetalPresentation); // ๅ…ˆ้œฒ
664   - temp.put("edema",FuZhongEnums.getName(antExChuModel.getEdema())); // ๆฐด่‚ฟ
665   - temp.put("urineProtein", antExChuModel.getNdb()); // ๅฐฟ่›‹็™ฝ
666   - temp.put("hemoglobin", antExChuModel.getXhdb()); // ่ก€็บข็ด 
667   - restList.add(temp);
  707 + /*if (MapUtils.isNotEmpty(dayWeights)) {
  708 + Set<Map.Entry<String, String>> entries = dayWeights.entrySet();
  709 + for (Map.Entry<String, String> entry : entries) {
  710 + weights.put(DateUtil.getWeek2(patients.getLastMenses(), DateUtil.parseYMD(entry.getKey())), entry.getValue());
  711 + }
  712 + }*/
  713 + if(tzFlag) {
  714 + setReport(tzMap, weights, antExChuModel.getYqWeight(), PatientWeightServiceImpl.getBmi(antExChuModel.getYqWeight(), antExChuModel.getHeight()));
  715 + }
668 716  
669   - Map<String, Object> xtMap = new HashMap<>();
670   - Map<String, Object> tzMap = new HashMap<>();
  717 + return RespBuilder.buildSuccess("tabList", restList, "xyMap", xyMap, "tzMap", tzMap);
  718 + }
671 719  
  720 + public void setReport(Map<String, Object> restMap, Map<Integer, String> weights, String beforeWeight, String bmi) {
  721 + List<Map<String, Object>> restList = new ArrayList<>();
  722 + // ๅฐ็จ‹ๅบๅ’Œappๅฏ่ƒฝๆฒกๆœ‰bmi ้ป˜่ฎค่ฟ”ๅ›žๆ ‡ๅ‡†
  723 + Double bmiD = 20D;
  724 + if(StringUtils.isNotEmpty(bmi)) {
  725 + bmiD = Double.parseDouble(bmi);
  726 + }
  727 + String title = "";
  728 + String color = "";
  729 + double low = 0D;
  730 + double low2 = 0D;
  731 + double high = 0D;
  732 + double high2 = 0D;
  733 + if(bmiD <= 18.5) {
  734 + title = "ไฝŽไฝ“้‡ๆŽจ่ๅขž้‡ๅ‡ๅ€ผ";
  735 + low = 1.2;
  736 + low2 = 11.9;
  737 + high = 3.8;
  738 + high2 = 18.1;
  739 + color = "#00CD00";
  740 + } else if(bmiD > 18.5 && bmiD <= 24.9){
  741 + title = "ๆ ‡ๅ‡†ไฝ“้‡ๆŽจ่ๅขž้‡ๅ‡ๅ€ผ";
  742 + low = 1.4;
  743 + low2 = 11.9;
  744 + high = 3.2;
  745 + high2 = 15.9;
  746 + color = "#7EC0EE";
  747 + } else if(bmiD > 24.9 && bmiD < 30){
  748 + title = "่ถ…้‡ไฝ“้‡ๆŽจ่ๅขž้‡ๅ‡ๅ€ผ";
  749 + low = 1.1 ;
  750 + low2 = 7.1;
  751 + high = 3.1;
  752 + high2 = 11.6;
  753 + color = "#CD3333";
  754 + } else if(bmiD >= 30){
  755 + title = "่‚ฅ่ƒ–ไฝ“้‡ๆŽจ่ๅขž้‡ๅ‡ๅ€ผ";
  756 + low = 0.8 ;
  757 + low2 = 4.9;
  758 + high = 2.1;
  759 + high2 = 8.9;
  760 + color = "#CD00CD";
  761 + }
672 762  
  763 + Map<Integer, Double> highMap = new LinkedHashMap<>();
  764 + Map<Integer, Double> normalMap = new LinkedHashMap<>();
  765 + Map<Integer, Double> lowMap = new LinkedHashMap<>();
  766 + List<Integer> xAxis = new ArrayList<>();
  767 + double avg = low / 13;
  768 + for (int i = 0; i <= 13; i++) {
  769 + lowMap.put(i, i * avg);
  770 + }
  771 + double avg2 = (low2 - low) / 27;
  772 + for (int i = 1; i <= 27; i++) {
  773 + lowMap.put(13 + i, low + i * avg2);
  774 + }
  775 + double highAvg = high / 13;
  776 + for (int i = 0; i <= 13; i++) {
  777 + highMap.put(i, i * highAvg);
  778 + }
  779 + double highAvg2 = (high2 - high) / 27;
  780 + for (int i = 1; i <= 27; i++) {
  781 + highMap.put(13 + i, high + i * highAvg2);
  782 + }
  783 + for (int i = 0; i <= 40; i++) {
  784 + normalMap.put(i, (highMap.get(i) + lowMap.get(i)) / 2);
  785 + }
673 786  
674   - return RespBuilder.buildSuccess(restList);
  787 + Map<String, Object> reportModel = new LinkedHashMap<>();
  788 + Map<String, Object> series = new LinkedHashMap<>();
  789 + series.put("lowData", MathUtil.doubleFormat2(CollectionUtils.getValList(lowMap)));
  790 + series.put("highData", MathUtil.doubleFormat2(CollectionUtils.getValList(highMap)));
  791 + series.put("normalData", MathUtil.doubleFormat2(CollectionUtils.getValList(normalMap)));
  792 +
  793 + series.put("dayWeights", restList);
  794 +
  795 + reportModel.put("series", series);
  796 +
  797 + reportModel.put("title", title);
  798 + reportModel.put("color", color);
  799 +
  800 + for (int i = 0; i <= 40; i++) {
  801 + xAxis.add(i);
  802 + }
  803 + reportModel.put("xAxis", xAxis);
  804 +
  805 + List<Object> list = new ArrayList<>();
  806 + if(MapUtils.isNotEmpty(weights)) {
  807 + Iterator<Map.Entry<Integer, String>> iterator = weights.entrySet().iterator();
  808 + while (iterator.hasNext()) {
  809 + Map.Entry<Integer, String> next = iterator.next();
  810 + list.add(Arrays.asList(next.getKey(), getDiff(beforeWeight, next.getValue())));
  811 + }
  812 + }
  813 + series.put("portData", list);
  814 + series.put("portData", list);
  815 + restMap.put("reportModel", reportModel);
  816 + }
  817 +
  818 + private Double getDiff(String before, String now) {
  819 + if(StringUtils.isEmpty(before) || StringUtils.isEmpty(now)) {
  820 + return 0D;
  821 + }
  822 + Double b = Double.parseDouble(before);
  823 + Double n = Double.parseDouble(now);
  824 + return MathUtil.doubleFormat2(n - b);
  825 + }
  826 +
  827 + private Object parseNull(String s, Object defaultVal) {
  828 + if(StringUtils.isEmpty(s)) {
  829 + return defaultVal;
  830 + }
  831 + return s;
675 832 }
676 833  
677 834 private List<Patients> getPatients(String provinceId, String cityId, String aredId, String streetId,