diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java index 0eef78b..1602265 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java @@ -126,13 +126,8 @@ public class MatDeliverFacade { userName = patients1.getUsername(); if (null != deliverAddRequest.getDueDate()) { Date fmDate = DateUtil.parseYMD(deliverAddRequest.getDueDate()); - Patients patients2=new Patients(); - patients2.setFmDate(fmDate); - patients2.setType(3); - PatientsQuery patientsQuery1=new PatientsQuery(); - patientsQuery1.setPid(patients1.getPid()); - patientsQuery1.setYn(YnEnums.YES.getId()); - patientsService.findAndModify(patientsQuery1,patients2); + //修改分娩日期 + updatePatientFmDate(patients1.getPid(),fmDate); //修改person表状态为产妇 if (StringUtils.isNotEmpty(patients1.getPid())) { PersonModel personModel = new PersonModel(); @@ -192,16 +187,21 @@ public class MatDeliverFacade { Date fmDate = DateUtil.parseYMD(deliverAddRequest.getDueDate()); PatientsQuery patientsQuery = new PatientsQuery(); patientsQuery.setId(deliverAddRequest.getParentId()); - List patients = patientsService.queryPatient(patientsQuery); - if (CollectionUtils.isNotEmpty(patients)) { + Patients patients = patientsService.findOnePatientById(deliverAddRequest.getParentId()); + //修改分娩日期 + updatePatientFmDate(patients.getPid(),fmDate); + /* if (CollectionUtils.isNotEmpty(patients)) { + if(fmDate.after(DateUtil.addDay(patients.get(0).getLastMenses(),168))){ Patients patients2=new Patients(); patients2.setFmDate(fmDate); patients2.setType(3); PatientsQuery patientsQuery1=new PatientsQuery(); patientsQuery1.setPid(patients.get(0).getPid()); patientsQuery1.setYn(YnEnums.YES.getId()); + patientsQuery1.setLastMensesStart(); patientsService.findAndModify(patientsQuery1, patients2); } + }*/ } } else { return new BaseResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("parentId 为空,找不到产妇"); @@ -209,6 +209,28 @@ public class MatDeliverFacade { return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } + /** + * 修改建档记录的分娩时间和 + * @param pid + * @param fmDate + */ + private void updatePatientFmDate(String pid,Date fmDate){ + PatientsQuery patientsQuery=new PatientsQuery(); + patientsQuery.setPid(pid); + patientsQuery.setYn(YnEnums.YES.getId()); + patientsQuery.setType(1); + List patientsList = patientsService.queryPatient(patientsQuery); + for(Patients patients:patientsList){ + //判断分娩日期是否大于24孕周 + if(fmDate.after(DateUtil.addDay(patients.getLastMenses(), 168))){ + patients.setFmDate(fmDate); + patients.setType(3); + patientsService.updatePatient(patients); + } + } + } + + private BabyModel fillBaby(Patients patients) { BabyModel babyModel = new BabyModel(); if (null != patients) { @@ -415,7 +437,7 @@ public class MatDeliverFacade { return new BaseResponse().setErrormsg("该孕妇还未在本院建档不能进行分娩").setErrorcode(ErrorCodeConstants.NO_DATA); } int days = DateUtil.daysBetween(patients.getLastMenses(), new Date());; - if(days<168){ + if(days<168 && patients.getFmDate()!=null){ return new BaseResponse().setErrorcode(ErrorCodeConstants.BUSINESS_ERROR1).setErrormsg("该孕妇不能分娩."); }