diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java index 7cc9d60..4638f1e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java @@ -844,11 +844,23 @@ public class PatientFacade { pis.add(patients.getId()); } if(CollectionUtils.isNotEmpty(pis)){ - Query querymd = Query.query(Criteria.where("parentId").in(pis).and("yn").ne("0").and("baby").elemMatch(Criteria.where("babyWeight").gte("4000"))); +// Query querymd = Query.query(Criteria.where("parentId").in(pis).and("yn").ne("0").and("baby").elemMatch(Criteria.where("babyWeight").gte("4000"))); + Query querymd = Query.query(Criteria.where("parentId").in(pis).and("yn").ne("0")); List deliverModels = mongoTemplate.find(querymd, MaternalDeliverModel.class); if(CollectionUtils.isNotEmpty(deliverModels)){ for (MaternalDeliverModel m: deliverModels ) { - idsMd.add(m.getParentId()); + List baby = m.getBaby(); + for (int i = 0; i = 4000){ + idsMd.add(m.getParentId()); + } + } + + } + } } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/HugeQuanWeightWorker.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/HugeQuanWeightWorker.java index 82bc804..377a764 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/HugeQuanWeightWorker.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/HugeQuanWeightWorker.java @@ -50,69 +50,79 @@ public class HugeQuanWeightWorker implements Callable> { for (Patients patients : patientses) if (StringUtils.isNotEmpty(patients.getId())) { Map map = new HashMap(); - map.put("fmDate", DateUtil.getyyyy_MM_dd(patients.getFmDate())); - if (patients.getFmWeek() != null) { - String dueWeek = ""; - String week = (patients.getFmWeek() / 7) + ""; - int day = (patients.getFmWeek() % 7); - dueWeek = "孕" + week + "周" + (day > 0 ? "+" + day + "天" : ""); - map.put("fmWeek", dueWeek); - } else { - map.put("fmWeek", ""); - } - map.put("username", patients.getUsername()); - map.put("age", patients.getAge()); - map.put("phone", patients.getPhone()); - map.put("currentWeek", patients.getType() == 3 ? "已分娩" : DateUtil.getWeekDesc(patients.getLastMenses(), new Date())); - String risk = getRiskFactor(patients.getRiskFactorId()); - if (org.apache.commons.lang.StringUtils.isEmpty(risk)) { - risk = (org.apache.commons.lang.StringUtils.isEmpty(patients.getoRiskFactor()) ? "" : patients.getoRiskFactor()); - } else { - risk = risk + (org.apache.commons.lang.StringUtils.isEmpty(patients.getoRiskFactor()) ? "" : "," + patients.getoRiskFactor()); - } -// String rFactor = commonService.resloveFactor(JsonUtil.toList(patients.getRiskLevelId(), String.class)); - map.put("riskFactor", risk); - map.put("patientId", patients.getId()); - map.put("pid", patients.getPid()); - map.put("cardNo", patients.getCardNo()); - - - List patientWeightList = mongoTemplate.find(Query.query(Criteria.where("patientId").is(patients.getId()).and("yn").ne("0")), PatientWeight.class); - if (CollectionUtils.isNotEmpty(patientWeightList)) { - PatientWeight patientWeight = patientWeightList.get(0); - if (patientWeight != null && StringUtils.isNotEmpty(patientWeight.getBmi())) { - map.put("bmi", patientWeight.getBmi()); - map.put("beforeHeight", patientWeight.getBeforeHeight()); - map.put("beforeWeight", patientWeight.getBeforeWeight()); - map.put("dayWeights", patientWeight.getDayWeights()); - if (patientWeight.getDayWeights() != null) { - int ii = 1; - for (Map.Entry entry : patientWeight.getDayWeights().entrySet()) { - String mapKey = entry.getKey(); - String mapValue = entry.getValue(); - map.put("dayWeights" + ii++, mapKey + "/" + mapValue); - } - } - } - } - Query querymd = Query.query(Criteria.where("parentId").is(patients.getId()).and("yn").ne("0") - .and("baby").elemMatch(Criteria.where("babyWeight").gte("4000"))); + Query querymd = Query.query(Criteria.where("parentId").is(patients.getId()).and("yn").ne("0")); List deliverModels = mongoTemplate.find(querymd, MaternalDeliverModel.class); if (CollectionUtils.isNotEmpty(deliverModels)) { MaternalDeliverModel maternalDeliverModel = deliverModels.get(0); List baby = maternalDeliverModel.getBaby(); for (int i = 0; i < baby.size(); i++) { MaternalDeliverModel.Baby baby1 = baby.get(i); - map.put("babyWeight", baby1.getBabyWeight()); + if(StringUtils.isNotEmpty(baby1.getBabyWeight())){ + double babyWeight = Double.parseDouble(baby1.getBabyWeight()); + if(babyWeight >= 4000){ + map.put("babyWeight", baby1.getBabyWeight()); + patientsMap(patients, map); + patientWeightMap(patients, map); + data.add(map); + } + } } } - data.add(map); } return data; } + private void patientWeightMap(Patients patients, Map map) { + List patientWeightList = mongoTemplate.find(Query.query(Criteria.where("patientId").is(patients.getId()).and("yn").ne("0")), PatientWeight.class); + if (CollectionUtils.isNotEmpty(patientWeightList)) { + PatientWeight patientWeight = patientWeightList.get(0); + if (patientWeight != null && StringUtils.isNotEmpty(patientWeight.getBmi())) { + map.put("bmi", patientWeight.getBmi()); + map.put("beforeHeight", patientWeight.getBeforeHeight()); + map.put("beforeWeight", patientWeight.getBeforeWeight()); + map.put("dayWeights", patientWeight.getDayWeights()); + if (patientWeight.getDayWeights() != null) { + int ii = 1; + for (Map.Entry entry : patientWeight.getDayWeights().entrySet()) { + String mapKey = entry.getKey(); + String mapValue = entry.getValue(); + map.put("dayWeights" + ii++, mapKey + "/" + mapValue); + } + } + } + } + } + + private void patientsMap(Patients patients, Map map) { + map.put("fmDate", DateUtil.getyyyy_MM_dd(patients.getFmDate())); + if (patients.getFmWeek() != null) { + String dueWeek = ""; + String week = (patients.getFmWeek() / 7) + ""; + int day = (patients.getFmWeek() % 7); + dueWeek = "孕" + week + "周" + (day > 0 ? "+" + day + "天" : ""); + map.put("fmWeek", dueWeek); + } else { + map.put("fmWeek", ""); + } + map.put("username", patients.getUsername()); + map.put("age", patients.getAge()); + map.put("phone", patients.getPhone()); + map.put("currentWeek", patients.getType() == 3 ? "已分娩" : DateUtil.getWeekDesc(patients.getLastMenses(), new Date())); + String risk = getRiskFactor(patients.getRiskFactorId()); + if (org.apache.commons.lang.StringUtils.isEmpty(risk)) { + risk = (org.apache.commons.lang.StringUtils.isEmpty(patients.getoRiskFactor()) ? "" : patients.getoRiskFactor()); + } else { + risk = risk + (org.apache.commons.lang.StringUtils.isEmpty(patients.getoRiskFactor()) ? "" : "," + patients.getoRiskFactor()); + } +// String rFactor = commonService.resloveFactor(JsonUtil.toList(patients.getRiskLevelId(), String.class)); + map.put("riskFactor", risk); + map.put("patientId", patients.getId()); + map.put("pid", patients.getPid()); + map.put("cardNo", patients.getCardNo()); + } + public static List filter(List level) { List list = new ArrayList();