diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/IndividualCaseServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/IndividualCaseServiceImpl.java index ec8027f..fce0e5f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/IndividualCaseServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/IndividualCaseServiceImpl.java @@ -28,6 +28,7 @@ import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.AntExChuModel; +import com.lyms.platform.pojo.AntExRecordModel; import com.lyms.platform.pojo.AntenatalExaminationModel; import com.lyms.platform.pojo.BasicConfig; import com.lyms.platform.pojo.HosptialHighRisk; @@ -60,34 +61,40 @@ public class IndividualCaseServiceImpl implements IndividualCaseService { */ @Override public BaseResponse highRiskList(String personId, Integer userId) { - String orgId = autoMatchFacade.getHospitalId(userId); + // String orgId = autoMatchFacade.getHospitalId(userId); List results = new LinkedList<>(); - List personModels = mongoTemplate.find(Query.query(Criteria.where("id").is(personId)), PersonModel.class); + List personModels = mongoTemplate.find(Query.query(Criteria.where("id").is(personId).and("type").ne(2)), PersonModel.class); if (CollectionUtils.isNotEmpty(personModels)) { - List patients = mongoTemplate.find(Query.query(Criteria.where("pid").is(personId).and("hospitalId").is(orgId)).with(new Sort(Sort.Direction.DESC, "lastMenses")), Patients.class); + List patients = mongoTemplate.find(Query.query(Criteria.where("pid").is(personId)).with(new Sort(Sort.Direction.DESC, "created")), Patients.class); if (CollectionUtils.isNotEmpty(patients)) { - Patients patient = patients.get(0); - String patientId = patient.getId(); - List antExChuModels = mongoTemplate.find(Query.query(Criteria.where("parentId").is(patientId).and("hospitalId").is(orgId)), AntExChuModel.class); - if (CollectionUtils.isNotEmpty(antExChuModels)) { - AntExChuModel antExChuModel = antExChuModels.get(0); - String hospitalId = antExChuModel.getHospitalId(); - String highRisks = antExChuModel.getHighrisk(); - String otherHighRisk = antExChuModel.getOtherHighRisk(); - IndividualCaseResult result = getInfosIndividualCaseResult(patient, antExChuModel.getProdDoctor(), highRisks, antExChuModel.getHighriskDesc(), otherHighRisk, antExChuModel.getCheckTime(), hospitalId); - results.add(result); - - } - List antenatalExaminationModels = mongoTemplate.find(Query.query(Criteria.where("parentId").is(patientId).and("hospitalId").is(orgId)).with(new Sort(Sort.Direction.DESC, "created")), AntenatalExaminationModel.class); - if (CollectionUtils.isNotEmpty(antenatalExaminationModels)) { - for (AntenatalExaminationModel examinationModel : antenatalExaminationModels) { - String riskFactors = examinationModel.getRiskFactor(); - String otherRisk = examinationModel.getOtherRisk(); - String hospitalId = examinationModel.getHospitalId(); - IndividualCaseResult result = getInfosIndividualCaseResult(patient, examinationModel.getCheckDoctor(), riskFactors, examinationModel.getHighriskDesc(), otherRisk, examinationModel.getCheckDate(), hospitalId); + Patients p = patients.get(0); + Date lastMenses = p.getLastMenses(); + List patientsList = mongoTemplate.find(Query.query(Criteria.where("pid").is(personId).and("created").gte(lastMenses)), Patients.class); + for (Patients model : patientsList) { + String patientId = model.getId(); + List antExChuModels = mongoTemplate.find(Query.query(Criteria.where("parentId").is(patientId)), AntExChuModel.class); + if (CollectionUtils.isNotEmpty(antExChuModels)) { + AntExChuModel antExChuModel = antExChuModels.get(0); + String hospitalId = antExChuModel.getHospitalId(); + String highRisks = antExChuModel.getHighrisk(); + String otherHighRisk = antExChuModel.getOtherHighRisk(); + IndividualCaseResult result = getInfosIndividualCaseResult(model, antExChuModel.getProdDoctor(), highRisks, antExChuModel.getHighriskDesc(), otherHighRisk, antExChuModel.getCheckTime(), hospitalId); results.add(result); + + } + List antenatalExaminationModels = mongoTemplate.find(Query.query(Criteria.where("parentId").is(patientId)).with(new Sort(Sort.Direction.DESC, "created")), AntenatalExaminationModel.class); + if (CollectionUtils.isNotEmpty(antenatalExaminationModels)) { + for (AntenatalExaminationModel examinationModel : antenatalExaminationModels) { + String riskFactors = examinationModel.getRiskFactor(); + String otherRisk = examinationModel.getOtherRisk(); + String hospitalId = examinationModel.getHospitalId(); + IndividualCaseResult result = getInfosIndividualCaseResult(model, examinationModel.getCheckDoctor(), riskFactors, examinationModel.getHighriskDesc(), otherRisk, examinationModel.getCheckDate(), hospitalId); + results.add(result); + } } } + + BaseResponse baseResponse = new BaseResponse(); Collections.sort(results); baseResponse.setObject(results);