From af0f9213f1b03fd12bf8089091f72a6cb9265abc Mon Sep 17 00:00:00 2001 From: "litao@lymsh.com" Date: Thu, 28 Dec 2017 16:00:00 +0800 Subject: [PATCH] bbbbbb --- .../com/lyms/platform/common/utils/DateUtil.java | 1 + .../web/service/impl/PatientWeightServiceImpl.java | 2 +- .../web/service/impl/ReportServiceImpl.java | 95 ++++++++++++---------- 3 files changed, 55 insertions(+), 43 deletions(-) diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java index 8ae5df9..0e05593 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java @@ -228,6 +228,7 @@ public class DateUtil { } public static Integer getWeek(Date start, Date end) { + System.out.println(start.toLocaleString() + " " + end.toLocaleString()); if (start == null || end == null) { return null; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java index 412ef54..3e314a5 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java @@ -264,7 +264,7 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient return RespBuilder.buildSuccess(pageResult); } - // 体质指数(BMI)=体重(kg)÷身高^2(m) + // 体质指数(BMI)=孕前体重(kg)÷孕前身高^2(m) public static String getBmi(String weight, String height) { if(StringUtils.isNotBlank(weight) && height != null) { Double w = Double.parseDouble(weight); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java index b8d4fac..4f4d080 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java @@ -602,8 +602,11 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService String hospitalId = autoMatchFacade.getHospitalId(userId); List> restList = new ArrayList<>(); Patients p = mongoTemplate.findById(parentId, Patients.class); - 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); - List 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); + if(p == null) { + return RespBuilder.buildSuccess(); + } + AntExChuModel antExChuModel = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(p.getId()).and("yn").is(1).and("hospitalId").is(hospitalId)).with(new Sort(Sort.Direction.DESC, "checkTime")), AntExChuModel.class); + List antexModels = mongoTemplate.find(Query.query(Criteria.where("parentId").is(p.getId()).and("yn").is(1).and("hospitalId").is(hospitalId)).with(new Sort(Sort.Direction.ASC, "checkDate")), AntenatalExaminationModel.class); Map xyMap = new HashMap<>(); List szyMin = new ArrayList<>(); @@ -628,87 +631,89 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService Map weights = new LinkedHashMap<>(); boolean tzFlag = antExChuModel == null || StringUtils.isEmpty(antExChuModel.getYqWeight()) || StringUtils.isEmpty(antExChuModel.getHeight()) ? false : true; - for (AntenatalExaminationModel antexModel : antexModels) { + // 添加初诊list + if(antExChuModel != null) { Map temp = new HashMap<>(); - Integer week = DateUtil.getWeek(p.getLastMenses(), antexModel.getCheckDate()); - temp.put("checkTime", DateUtil.getyyyy_MM_dd(antexModel.getCheckDate())); - temp.put("week", week); - temp.put("weight", antexModel.getWeight()); - temp.put("bp", parseNull(JSONObject.parseObject(antexModel.getBp()).getString("ssy"), "--") + "/" + parseNull(JSONObject.parseObject(antexModel.getBp()).getString("szy"), "--")); - temp.put("gonggao", antexModel.getGongGao()); - temp.put("abdominalCircumference", antexModel.getAbdominalCircumference());// 腹围 + temp.put("checkTime", DateUtil.getyyyy_MM_dd(antExChuModel.getCheckTime())); + Integer week = DateUtil.getWeek2(p.getLastMenses(), antExChuModel.getCheckTime()); + temp.put("week", DateUtil.getWeekDesc(p.getLastMenses(), antExChuModel.getCheckTime())); + temp.put("weight", antExChuModel.getWeight()); + temp.put("bp", parseNull(JSONObject.parseObject(antExChuModel.getBp()).getString("ssy"), "--") + "/" + parseNull(JSONObject.parseObject(antExChuModel.getBp()).getString("szy"), "--")); + temp.put("gonggao", antExChuModel.getGonggao()); + temp.put("abdominalCircumference", antExChuModel.getFuwei());// 腹围 - List tireData = antexModel.getTireData(); + List tireData = antExChuModel.getPlacentas(); String fetalPosition = ""; String heartRate = ""; String fetalPresentation = ""; if(CollectionUtils.isNotEmpty(tireData)) { for (Map tireDatum : tireData) { - fetalPosition = fetalPosition.length() > 0 ? "/" + tireDatum.get("fetalPosition") : tireDatum.get("fetalPosition") + ""; - heartRate = heartRate.length() > 0 ? "/" + tireDatum.get("heartRate") : tireDatum.get("heartRate") + ""; - fetalPresentation = fetalPresentation.length() > 0 ? "/" + FetalEnums.getTitle2((String) tireDatum.get("fetalPosition")) : FetalEnums.getTitle2((String) tireDatum.get("fetalPosition")); + fetalPosition = fetalPosition.length() > 0 ? fetalPosition + "/" + tireDatum.get("fetalPosition") : tireDatum.get("fetalPosition") + ""; + heartRate = heartRate.length() > 0 ? heartRate + "/" + tireDatum.get("heartRate") : tireDatum.get("heartRate") + ""; + fetalPresentation = fetalPresentation.length() > 0 ? fetalPresentation + "/" + FetalEnums.getTitle2((String) tireDatum.get("fetalPosition")) : FetalEnums.getTitle2((String) tireDatum.get("fetalPosition")); } } else { fetalPosition = "--"; heartRate = "--"; fetalPresentation = "--"; } + temp.put("fetalPosition", fetalPosition); // 胎位 temp.put("heartRate", heartRate); // 胎心 temp.put("fetalPresentation", fetalPresentation); // 先露 - temp.put("edema",FuZhongEnums.getName(antexModel.getEdema())); // 水肿 - temp.put("urineProtein", antexModel.getUrineProtein()); // 尿蛋白 - temp.put("hemoglobin", antexModel.getHemoglobin()); // 血红素 + temp.put("edema",FuZhongEnums.getName(antExChuModel.getEdema())); // 水肿 + temp.put("urineProtein", antExChuModel.getNdb()); // 尿蛋白 + temp.put("hemoglobin", antExChuModel.getXhdb()); // 血红素 ssy.set(week, parseNull(JSONObject.parseObject(antExChuModel.getBp()).getString("ssy"), 0)); szy.set(week, parseNull(JSONObject.parseObject(antExChuModel.getBp()).getString("szy"), 0)); - if(tzFlag && antexModel.getWeight() != null) { - weights.put(DateUtil.getWeek2(p.getLastMenses(), antexModel.getCheckDate()), antexModel.getWeight() + ""); - } restList.add(temp); } - // 添加初诊list - if(antExChuModel != null) { + for (AntenatalExaminationModel antexModel : antexModels) { Map temp = new HashMap<>(); - temp.put("checkTime", DateUtil.getyyyy_MM_dd(antExChuModel.getCheckTime())); - Integer week = DateUtil.getWeek(p.getLastMenses(), antExChuModel.getCheckTime()); - temp.put("week", week); - temp.put("weight", antExChuModel.getWeight()); - temp.put("bp", parseNull(JSONObject.parseObject(antExChuModel.getBp()).getString("ssy"), "--") + "/" + parseNull(JSONObject.parseObject(antExChuModel.getBp()).getString("szy"), "--")); - temp.put("gonggao", antExChuModel.getGonggao()); - temp.put("abdominalCircumference", antExChuModel.getFuwei());// 腹围 + Integer week = DateUtil.getWeek2(p.getLastMenses(), antexModel.getCheckDate()); + temp.put("checkTime", DateUtil.getyyyy_MM_dd(antexModel.getCheckDate())); + temp.put("week", DateUtil.getWeekDesc(p.getLastMenses(), antexModel.getCheckDate())); + temp.put("weight", antexModel.getWeight()); + temp.put("bp", parseNull(JSONObject.parseObject(antexModel.getBp()).getString("ssy"), "--") + "/" + parseNull(JSONObject.parseObject(antexModel.getBp()).getString("szy"), "--")); + temp.put("gonggao", antexModel.getGongGao()); + temp.put("abdominalCircumference", antexModel.getAbdominalCircumference());// 腹围 - List tireData = antExChuModel.getPlacentas(); - String fetalPosition = ""; - String heartRate = ""; - String fetalPresentation = ""; + List tireData = antexModel.getTireData(); + String fetalPosition = ""; // 胎位 + String heartRate = ""; // 胎心 + String fetalPresentation = ""; // 先露 if(CollectionUtils.isNotEmpty(tireData)) { for (Map tireDatum : tireData) { - fetalPosition = fetalPosition.length() > 0 ? "/" + tireDatum.get("fetalPosition") : tireDatum.get("fetalPosition") + ""; - heartRate = heartRate.length() > 0 ? "/" + tireDatum.get("heartRate") : tireDatum.get("heartRate") + ""; - fetalPresentation = fetalPresentation.length() > 0 ? "/" + FetalEnums.getTitle2((String) tireDatum.get("fetalPosition")) : FetalEnums.getTitle2((String) tireDatum.get("fetalPosition")); + fetalPosition = fetalPosition.length() > 0 ? fetalPosition + "/" + tireDatum.get("fetalPosition") : tireDatum.get("fetalPosition") + ""; + heartRate = heartRate.length() > 0 ? heartRate + "/" + tireDatum.get("heartRate") : tireDatum.get("heartRate") + ""; + fetalPresentation = fetalPresentation.length() > 0 ? fetalPresentation + "/" + FetalEnums.getTitle2((String) tireDatum.get("fetalPosition")) : FetalEnums.getTitle2((String) tireDatum.get("fetalPosition")); } } else { fetalPosition = "--"; heartRate = "--"; fetalPresentation = "--"; } - temp.put("fetalPosition", fetalPosition); // 胎位 temp.put("heartRate", heartRate); // 胎心 temp.put("fetalPresentation", fetalPresentation); // 先露 - temp.put("edema",FuZhongEnums.getName(antExChuModel.getEdema())); // 水肿 - temp.put("urineProtein", antExChuModel.getNdb()); // 尿蛋白 - temp.put("hemoglobin", antExChuModel.getXhdb()); // 血红素 + temp.put("edema",FuZhongEnums.getName(antexModel.getEdema())); // 水肿 + temp.put("urineProtein", antexModel.getUrineProtein()); // 尿蛋白 + temp.put("hemoglobin", antexModel.getHemoglobin()); // 血红素 - ssy.set(week, parseNull(JSONObject.parseObject(antExChuModel.getBp()).getString("ssy"), 0)); - szy.set(week, parseNull(JSONObject.parseObject(antExChuModel.getBp()).getString("szy"), 0)); + ssy.set(week, parseNull(JSONObject.parseObject(antexModel.getBp()).getString("ssy"), 0)); + szy.set(week, parseNull(JSONObject.parseObject(antexModel.getBp()).getString("szy"), 0)); + if(tzFlag && antexModel.getWeight() != null) { + weights.put(DateUtil.getWeek2(p.getLastMenses(), antexModel.getCheckDate()), antexModel.getWeight() + ""); + } restList.add(temp); } + + /*if (MapUtils.isNotEmpty(dayWeights)) { Set> entries = dayWeights.entrySet(); for (Map.Entry entry : entries) { @@ -799,6 +804,12 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService reportModel.put("series", series); + if(bmiD == 20D) { + title = "孕前BMI:--"; + } else { + title = "孕前BMI:" + bmiD; + } + reportModel.put("title", title); reportModel.put("color", color); -- 1.8.3.1