diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostReviewFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostReviewFacade.java index 9b46f9a..88ea678 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostReviewFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostReviewFacade.java @@ -89,31 +89,12 @@ public class PostReviewFacade { postReviewRequest.setParentId(parentId); } } - - //获取数据 + postReviewModel.setOperator(userId); Patients patients1 = patientsService.findOnePatientById(postReviewRequest.getParentId()); - postReviewModel.setOperator(userId); - //判断是否是同一个医院 - if (!patients1.getHospitalId().equals(hospital)) { + autoCreatedPatient(postReviewRequest,hospital,groupId); - if(StringUtils.isNotEmpty(groupId)){ - patients1.setEnable("2"); - } - patients1.setId(null); - patients1.setHospitalId(hospital); - patients1.setBuildType(0); - patients1.setBookbuildingDoctor(postReviewModel.getProdDoctor()); - patients1.setBookbuildingDate(DateUtil.parseYMD(postReviewRequest.getCheckTime())); - patients1.setVcCardNo(null); - patients1.setMremark(null); - patients1.setFileCode(null); - patients1.setServiceType(ServiceTypeEnums.STANDARD_SERVICE.getId()); - patients1.setServiceStatus(ServiceStatusEnums.STANDARD_OPEN.getId()); - patientsService.addPatient(patients1); - } if (StringUtils.isEmpty(postReviewRequest.getId())) { - postReviewModel.setYn(YnEnums.YES.getId()); postReviewModel.setHospitalId(hospital); Patients patients = patientsService.findOnePatientById(postReviewRequest.getParentId()); @@ -122,8 +103,6 @@ public class PostReviewFacade { if (StringUtils.isNotEmpty(postReviewRequest.getDueDate())) { patients.setFmDate(DateUtil.parseYMD(postReviewRequest.getDueDate())); patients.setType(3); -// patients.setEnable("1"); - patients.setBuildType(0); patientsService.updatePatient(patients); } @@ -142,37 +121,10 @@ public class PostReviewFacade { patients2.setId(patients1.getId()); patientsService.updatePatient(patients2); } - + syncMaster(patients.getId()); patientsService.updateNextCheckTime(patients.getId(), postReviewRequest.getNextCheckTime()); - if (null != patients.getBuildType() && patients.getBuildType() == 3) { - ReferralApplyOrderQuery referralApplyOrderQuery = new ReferralApplyOrderQuery(); - referralApplyOrderQuery.setParentId(patients.getId()); - referralApplyOrderQuery.setHospitalId(hospital); - referralApplyOrderQuery.setStatus(1); - List orderModelList = applyOrderService.queryReferralApplyOrderWithQuery(referralApplyOrderQuery); - if (CollectionUtils.isNotEmpty(orderModelList)) { - String outHospitalId = orderModelList.get(0).getOutHospitalId(); - ReferralApplyOrderQuery referralApplyOrderQuery1 = new ReferralApplyOrderQuery(); - referralApplyOrderQuery1.setOutHospitalId(outHospitalId); - referralApplyOrderQuery1.setTransferredHospital(hospital); - referralApplyOrderQuery1.setPid(patients.getPid()); - - ReferralApplyOrderModel model = new ReferralApplyOrderModel(); - //设置接收时间 - model.setReceived(DateUtil.parseYMD(postReviewRequest.getCheckTime())); - model.setRecDoctor(postReviewRequest.getProdDoctor()); - model.setModified(new Date()); - model.setStatus(2); - applyOrderService.updateByParentId(referralApplyOrderQuery1, model); - - ReferralApplyOrderQuery referralApplyOrderQuery2 = new ReferralApplyOrderQuery(); - referralApplyOrderQuery2.setOutHospitalId(hospital); - referralApplyOrderQuery2.setTransferredHospital(outHospitalId); - referralApplyOrderQuery2.setPid(patients.getPid()); - applyOrderService.updateByParentId(referralApplyOrderQuery2, model); - } - } + handlApplyOrder(patients,hospital,postReviewRequest); } else { Patients patients = patientsService.findOnePatientById(postReviewRequest.getParentId()); @@ -186,6 +138,86 @@ public class PostReviewFacade { return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } + private void autoCreatedPatient(PostReviewRequest postReviewRequest,String hospital,String groupId){ + //获取数据 + Patients patients1 = patientsService.findOnePatientById(postReviewRequest.getParentId()); + + //判断是否是同一个医院 + if (!patients1.getHospitalId().equals(hospital)) { + + if(StringUtils.isNotEmpty(groupId)){ + patients1.setEnable("2"); + } + patients1.setId(null); + patients1.setHospitalId(hospital); + patients1.setBuildType(0); + patients1.setBookbuildingDoctor(postReviewRequest.getProdDoctor()); + patients1.setBookbuildingDate(DateUtil.parseYMD(postReviewRequest.getCheckTime())); + patients1.setVcCardNo(null); + patients1.setMremark(null); + patients1.setFileCode(null); + patients1.setServiceType(ServiceTypeEnums.STANDARD_SERVICE.getId()); + patients1.setServiceStatus(ServiceStatusEnums.STANDARD_OPEN.getId()); + patientsService.addPatient(patients1); + } + } + + + /** + * 修改转诊申请 + * + * @param patients + * @param hospital + * @param postReviewRequest + */ + private void handlApplyOrder(Patients patients,String hospital,PostReviewRequest postReviewRequest){ + if (null != patients.getBuildType() && patients.getBuildType() == 3) { + ReferralApplyOrderQuery referralApplyOrderQuery = new ReferralApplyOrderQuery(); + referralApplyOrderQuery.setParentId(patients.getId()); + referralApplyOrderQuery.setHospitalId(hospital); + referralApplyOrderQuery.setStatus(1); + List orderModelList = applyOrderService.queryReferralApplyOrderWithQuery(referralApplyOrderQuery); + if (CollectionUtils.isNotEmpty(orderModelList)) { + String outHospitalId = orderModelList.get(0).getOutHospitalId(); + ReferralApplyOrderQuery referralApplyOrderQuery1 = new ReferralApplyOrderQuery(); + referralApplyOrderQuery1.setOutHospitalId(outHospitalId); + referralApplyOrderQuery1.setTransferredHospital(hospital); + referralApplyOrderQuery1.setPid(patients.getPid()); + + ReferralApplyOrderModel model = new ReferralApplyOrderModel(); + //设置接收时间 + model.setReceived(DateUtil.parseYMD(postReviewRequest.getCheckTime())); + model.setRecDoctor(postReviewRequest.getProdDoctor()); + model.setModified(new Date()); + model.setStatus(2); + applyOrderService.updateByParentId(referralApplyOrderQuery1, model); + + ReferralApplyOrderQuery referralApplyOrderQuery2 = new ReferralApplyOrderQuery(); + referralApplyOrderQuery2.setOutHospitalId(hospital); + referralApplyOrderQuery2.setTransferredHospital(outHospitalId); + referralApplyOrderQuery2.setPid(patients.getPid()); + applyOrderService.updateByParentId(referralApplyOrderQuery2, model); + } + } + } + + //当非建档医院修改初诊信息时,需要同步给建档医院 + private void syncMaster(String parentId) { + + //当前非建档医院最新的状态 + Patients patients = patientsService.findOnePatientById(parentId); + + if (StringUtils.isNotEmpty(patients.getSource())) { + Patients masterPatients = patientsService.findOnePatientById(patients.getSource()); + + masterPatients.setNextCheckTime(patients.getNextCheckTime()); + masterPatients.setFmDate(patients.getFmDate()); + masterPatients.setLastCheckEmployeeId(patients.getLastCheckEmployeeId()); + patientsService.updatePatient(masterPatients); + } + } + + /** * 1、当前孕妇在系统中的本次妊娠期处于未分娩/已终止妊娠或在结束上次妊娠期后再次新增了建档,不管该孕妇在本院是否建档,点击查询时提示当前用户未分娩,不能进行复查 *