diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BabyCheckDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BabyCheckDaoImpl.java index 8e0f3e3..c5b7177 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BabyCheckDaoImpl.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BabyCheckDaoImpl.java @@ -42,8 +42,8 @@ public class BabyCheckDaoImpl extends BaseMongoDAOImpl implement public List queryLastCheck(List ids) { AggregationOperation match = Aggregation.match(Criteria.where("buildId").in(ids).and("yn").is(1)); - AggregationOperation group = Aggregation.group("_id","diagnose").max("modified").as("modified"); - AggregationOperation fields = Aggregation.project("_id", "diagnose"); + AggregationOperation group = Aggregation.group("_id","highRisk").max("created").as("created"); + AggregationOperation fields = Aggregation.project("_id", "highRisk"); Aggregation aggregation = Aggregation.newAggregation(match, group,fields); AggregationResults result = this.mongoTemplate.aggregate(aggregation, "lyms_babycheck", BabyCheckModel.class); return result.getMappedResults(); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java index 5b39ec2..7e87dbc 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java @@ -445,6 +445,7 @@ public class BabyCheckFacade { List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); if (models != null && models.size() > 0) { model = models.get(0); + base.setBabyLastHighRisk(getBabyLastHighRisk(model.getPid())); base.setId(id); base.setSex(model.getSex()); base.setName(model.getName()); @@ -516,6 +517,46 @@ public class BabyCheckFacade { return model; } + + /** + * 获取儿童最后一次是否高危 + * @param pid + * @return + */ + public Integer getBabyLastHighRisk(String pid) + { + Integer highRisk = null; + List ids = new ArrayList<>(); + BabyModelQuery babyQuery = new BabyModelQuery(); + babyQuery.setPid(pid); + babyQuery.setYn(YnEnums.YES.getId()); + //查询儿童的基本信息 + List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery,"created", Sort.Direction.DESC); + if (CollectionUtils.isNotEmpty(models)) + { + for(BabyModel model : models) + { + ids.add(model.getId()); + } + if (CollectionUtils.isNotEmpty(ids)) + { + List checkModels = babyCheckService.queryLastCheck(ids); + if (CollectionUtils.isNotEmpty(checkModels) && checkModels.get(0) != null) + { + highRisk = checkModels.get(0).getHighRisk(); + } + else + { + highRisk = models.get(0).getHighRisk(); + } + } + + } + + return highRisk; + } + + /** * 查询孕妇最后一次检查的高危因素 全院 * @param cardNo diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabyBasicResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabyBasicResult.java index fe0a5a5..5999e2e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabyBasicResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabyBasicResult.java @@ -32,7 +32,16 @@ public class BabyBasicResult { private String vcCardNo; //母亲身份证号 private String cardNo; + //是否高危儿童 0 非高危 1高危 + private Integer babyLastHighRisk; + public Integer getBabyLastHighRisk() { + return babyLastHighRisk; + } + + public void setBabyLastHighRisk(Integer babyLastHighRisk) { + this.babyLastHighRisk = babyLastHighRisk; + } public String getCardNo() { return cardNo;