diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java index d68a8b2..bed103f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java @@ -130,6 +130,7 @@ import com.lyms.platform.pojo.ExerciseAppraisalModel; import com.lyms.platform.pojo.FilePathModel; import com.lyms.platform.pojo.MaternalDeliverModel; import com.lyms.platform.pojo.Patients; +import com.lyms.platform.pojo.PersonModel; import com.lyms.platform.pojo.PlantformConfigModel; import com.lyms.platform.pojo.PostReviewModel; import com.lyms.platform.pojo.ReferralApplyOrderModel; @@ -5664,6 +5665,11 @@ public class ViewFacade { return deliverMap; } + String patientId = getPatientId(idCard); + if (StringUtils.isNotEmpty(patientId)) { + patientsQuery.setId(patientId); + } + List> deliverList = new ArrayList<>(); List list = patientsService.queryPatient1(patientsQuery, "created"); @@ -5891,6 +5897,35 @@ public class ViewFacade { return deliverMap; } + /** + * 根据身份证号查询主建档id(多孕程) + * + * @param idCard + * @return patientId/null + */ + private String getPatientId(String idCard) { + PersonModel personModel = mongoTemplate.findOne(Query.query(Criteria.where("cardNo").is(idCard).and("type").ne(2)), PersonModel.class); + if (personModel != null) { + String personModelId = personModel.getId(); + List models = mongoTemplate.find(Query.query(Criteria.where("pid").is(personModelId)). + with(new Sort(Sort.Direction.DESC, "created")), MaternalDeliverModel.class); + if (CollectionUtils.isNotEmpty(models)) { + MaternalDeliverModel deliverModel = models.get(0); + String parentId = deliverModel.getParentId(); + Patients patientsModel = mongoTemplate.findOne(Query.query(Criteria.where("id").is(parentId)), Patients.class); + if (patientsModel != null) { + String sourceId = patientsModel.getSource(); + if (StringUtils.isNotEmpty(sourceId)) { + return sourceId; + } else { + return personModel.getId(); + } + } + } + } + return null; + } + public Map getMatDeliverInfo(String hospitalName, String idCard) { Map patientMap = new HashMap<>();