diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyCheckService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyCheckService.java index 56beb44..6a32c17 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyCheckService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyCheckService.java @@ -47,7 +47,7 @@ public class BabyCheckService { } public List queryBabyCheckRecord(BabyCheckModelQuery query) { - return babyCheckDao.queryBabyCheckRecord(query.convertToQuery().addOrder(Sort.Direction.DESC,"created")); + return babyCheckDao.queryBabyCheckRecord(query.convertToQuery().addOrder(Sort.Direction.DESC,"modified")); } public List queryHWByHeight(Double height, Integer sex) { diff --git a/platform-dal/src/main/java/com/lyms/platform/query/BabyCheckModelQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/BabyCheckModelQuery.java index bc3754d..7172d71 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/BabyCheckModelQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/BabyCheckModelQuery.java @@ -8,6 +8,8 @@ import com.lyms.platform.common.dao.operator.MongoQuery; import org.bson.types.ObjectId; import org.springframework.data.mongodb.core.query.Criteria; +import java.lang.reflect.Array; +import java.util.Arrays; import java.util.Date; /** @@ -24,6 +26,9 @@ public class BabyCheckModelQuery extends BaseQuery implements IConvertToNativeQu //建档ID private String buildId; + //建档IDs + private String[] buildIds; + @Override public MongoQuery convertToQuery() { MongoCondition condition = MongoCondition.newInstance(); @@ -37,6 +42,10 @@ public class BabyCheckModelQuery extends BaseQuery implements IConvertToNativeQu if(null!=buildId){ condition=condition.and("buildId", buildId, MongoOper.IS); } + if(null!=buildIds && buildIds.length > 0){ + Criteria c = Criteria.where("buildId").in(Arrays.asList(buildIds)); + condition.andCondition( new MongoCondition(c)); + } return condition.toMongoQuery(); } @@ -63,4 +72,12 @@ public class BabyCheckModelQuery extends BaseQuery implements IConvertToNativeQu public void setBuildId(String buildId) { this.buildId = buildId; } + + public String[] getBuildIds() { + return buildIds; + } + + public void setBuildIds(String[] buildIds) { + this.buildIds = buildIds; + } } \ No newline at end of file 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 05762ef..61fa55e 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 @@ -276,9 +276,26 @@ public class BabyCheckFacade { Map resMap = new HashMap<>(); BabyModel model = getBabyModel(id, base); + BabyModelQuery babyQuery = new BabyModelQuery(); + babyQuery.setPid(model.getPid()); + babyQuery.setYn(YnEnums.YES.getId()); + List> list = new ArrayList<>(); - getBabyCheckList(id, model, list); + //查询儿童的基本信息 + List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); + + if (CollectionUtils.isNotEmpty(models)) { + int len = models.size(); + String[] buildIds = new String[len]; + for(int i = 0;i < len ; i++) + { + buildIds[i] = models.get(i).getId(); + } + + getBabyCheckList(buildIds, model, list); + } + resMap.put("baseInfo", base); resMap.put("checkList", list); @@ -289,6 +306,50 @@ public class BabyCheckFacade { return br; } + public void getBabyCheckList(String[] ids, BabyModel model, List> list) { + List checkModels; + if (model != null) { + BabyCheckModelQuery query = new BabyCheckModelQuery(); + query.setYn(YnEnums.YES.getId()); + query.setBuildIds(ids); + //查询儿童的检查记录 + checkModels = babyCheckService.queryBabyCheckRecord(query); + Date babyBirth = model.getBirth(); + if (CollectionUtils.isNotEmpty(checkModels)) + { + + for (BabyCheckModel cmodel : checkModels) { + Map checkRecord = new HashMap<>(); + Date checkDate = cmodel.getCheckDate(); + String monthAge = ""; + if(babyBirth != null && checkDate != null) + { + monthAge = DateUtil.getBabyMonthAge(babyBirth, checkDate); + } + checkRecord.put("parentId",cmodel.getBuildId()); + checkRecord.put("id", cmodel.getId()); + checkRecord.put("checkDate", DateUtil.getyyyy_MM_dd(checkDate)); + checkRecord.put("monthAge", monthAge); + checkRecord.put("buildId", cmodel.getBuildId()); + checkRecord.put("type","2"); + + checkRecord.put("hospitalId",model.getHospitalId()); + //查询建档医院 + Organization org = organizationService.getOrganization(Integer.valueOf(model.getHospitalId())); + if (org != null) { + checkRecord.put("hospitalName", org.getName()); + } else { + checkRecord.put("hospitalName", ""); + } + list.add(checkRecord); + } + + Collections.reverse(list); + } + } + } + + public void getBabyCheckList(String id, BabyModel model, List> list) { List checkModels; if (model != null) {