diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java index 912ba10..6dd9256 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java @@ -647,48 +647,9 @@ public class AntenatalExaminationFacade { List patientses = patientsService.queryPatient1(patientsQuery1, "created"); if (CollectionUtils.isNotEmpty(patientses)) { count = count + patientses.size(); - Iterator iterator = patientses.iterator(); - while (iterator.hasNext()) { - Patients patients = iterator.next(); - //处理建档就分娩的情况 - Date date = DateUtil.addWeek(patients.getLastMenses(), 42); - Date currentDate = DateUtil.formatDate(patients.getBookbuildingDate()); - if (date.getTime() <= currentDate.getTime()) { - //建档记录 - if (null != patients.getHospitalId()) { - organization = organizationService.getOrganization(Integer.valueOf(patients.getHospitalId())); - } - pid = patients.getPid(); - listData.add(new AntData(patients, null != organization ? organization.getName() : "")); - iterator.remove(); - - - PostReviewQuery postReviewQuery = new PostReviewQuery(); - if (list.size() - 1 > i) { - postReviewQuery.setStart(dueDate); - if (CollectionUtils.isNotEmpty(patientses)) { - //下次建档记录前都是产后复查,如果没有下个产程的数据就直接显示 - postReviewQuery.setEnd(patientses.get(0).getBookbuildingDate()); - } - } - postReviewQuery.setYn(YnEnums.YES.getId()); - postReviewQuery.setPid(pid); - - //产后复查记录 - List reviewModels = postReviewService.findWithList(postReviewQuery); - if (CollectionUtils.isNotEmpty(reviewModels)) { - for (PostReviewModel postReviewModel : reviewModels) { - if (null != postReviewModel.getHospitalId()) { - organization = organizationService.getOrganization(Integer.valueOf(postReviewModel.getHospitalId())); - } - listData.add(new AntData(postReviewModel, null != organization ? organization.getName() : "", patientses.get(patientses.size() - 1).getFmDate())); - } - } - updateEditEnable(listData, sortList); - sortList.add(listData); - listData = new ArrayList(); - } - } + //TODO 处理自动分娩的情况 + updateAutoMatdel(patientses,list,i,dueDate,sortList); + listData = new ArrayList(); } if (CollectionUtils.isNotEmpty(patientses)) { @@ -726,7 +687,9 @@ public class AntenatalExaminationFacade { if (null != postReviewModel.getHospitalId()) { organization = organizationService.getOrganization(Integer.valueOf(postReviewModel.getHospitalId())); } - listData.add(new AntData(postReviewModel, null != organization ? organization.getName() : "", patientses.get(patientses.size() - 1).getFmDate())); + if(postReviewModel.getYn()==YnEnums.YES.getId()){ + listData.add(new AntData(postReviewModel, null != organization ? organization.getName() : "", patientses.get(patientses.size() - 1).getFmDate())); + } } } } @@ -772,11 +735,16 @@ public class AntenatalExaminationFacade { for (Patients patients : list) { tmp.add(new SortIn(patients)); } + int size = list.size(); sortList(tmp); Date min = null; if (!tmp.isEmpty()) { min = tmp.get(tmp.size() - 1).getDate(); } + updateAutoMatdel(list,list,0,dueDate,sortList); + if(size!=list.size()){ + list1 = new ArrayList(); + } List l = buildPatientList(dueDate, list, list1, min, true); if (!l.isEmpty()) { sort(l); @@ -790,6 +758,58 @@ public class AntenatalExaminationFacade { } /** + * 处理自动分娩的情况 + */ + private void updateAutoMatdel(List patientses,List list,int i,Date dueDate,List sortList){ + Iterator iterator = patientses.iterator(); + Organization organization=null; + String pid=""; + List listData=new ArrayList(); + while (iterator.hasNext()) { + Patients patients = iterator.next(); + //处理建档就分娩的情况 + Date date = DateUtil.addWeek(patients.getLastMenses(), 42); + Date currentDate = DateUtil.formatDate(patients.getBookbuildingDate()); + if (date.getTime() <= currentDate.getTime()||patients.getBuildType()==2) { + //建档记录 + if (null != patients.getHospitalId()) { + organization = organizationService.getOrganization(Integer.valueOf(patients.getHospitalId())); + } + pid = patients.getPid(); + listData.add(new AntData(patients, null != organization ? organization.getName() : "")); + iterator.remove(); + + + PostReviewQuery postReviewQuery = new PostReviewQuery(); + if (list.size() - 1 > i) { + postReviewQuery.setStart(dueDate); + if (CollectionUtils.isNotEmpty(patientses)) { + //下次建档记录前都是产后复查,如果没有下个产程的数据就直接显示 + postReviewQuery.setEnd(patientses.get(0).getBookbuildingDate()); + } + } + postReviewQuery.setYn(YnEnums.YES.getId()); + postReviewQuery.setPid(pid); + + //产后复查记录 + List reviewModels = postReviewService.findWithList(postReviewQuery); + if (CollectionUtils.isNotEmpty(reviewModels)) { + for (PostReviewModel postReviewModel : reviewModels) { + if (null != postReviewModel.getHospitalId()) { + organization = organizationService.getOrganization(Integer.valueOf(postReviewModel.getHospitalId())); + } + listData.add(new AntData(postReviewModel, null != organization ? organization.getName() : "", patientses.get(patientses.size() - 1).getFmDate())); + } + } + updateEditEnable(listData, sortList); + sortList.add(listData); + listData=new ArrayList(); + } + } + } + + + /** * * 修改按钮控制 * diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java index 92f15b6..e2d03b5 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java @@ -340,7 +340,11 @@ public class PatientFacade { } } postReviewQuery.setHospitalId(hospital); - chanResult.setcHTimes(postReviewService.count(postReviewQuery)); + + withList = postReviewService.findWithList(postReviewQuery.convertToQuery().addOrder(Sort.Direction.DESC, "created")); + if(CollectionUtils.isNotEmpty(withList)){ + chanResult.setcHTimes(postReviewService.count(postReviewQuery)); + } if(StringUtils.isNotEmpty(withList.get(0).getProdDoctor())){ Users users = usersService.getUsers(NumberUtils.toInt(withList.get(0).getProdDoctor())); if(null!=users){