diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java index 08ce9fb..c75626b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java @@ -337,6 +337,12 @@ public class PatientServiceFacade { patient.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId()); bookbuildingFacade.updatePatientSerById(ps.getParentid(), patient); + Patients patients = patientsService.findOnePatientById(ps.getParentid()); + if (patients != null) + { + saveServiceTimeRecord(4, patients); + } + }else if(PatientSerEnums.SerTypeEnums.bzfw.getId().intValue() == Integer.parseInt(serInfo.get("serType"))){ PatientServiceQuery query = new PatientServiceQuery(); query.setParentid(ps.getParentid()); @@ -361,6 +367,34 @@ public class PatientServiceFacade { } + + public void saveServiceTimeRecord(Integer type,Patients patients) + { + TServiceTimeRecord st = new TServiceTimeRecord(); + st.setCreateTime(new Date()); + st.setType(type); + st.setUpdateTime(new Date()); + Date startTime = patients.getLastMenses(); + Date endTime = DateUtil.addWeek(patients.getLastMenses(), 42); + endTime = endTime.getTime() > DateUtil.addWeek(patients.getLastMenses(), 42).getTime() ? DateUtil.addWeek(patients.getLastMenses(), 42) : endTime; + st.setStartTime(startTime); + st.setEndTime(endTime); + + Date lastMenses = patients.getLastMenses(); + int currentWeek = DateUtil.getWeek(lastMenses, new Date()); + int maxWeek = DateUtil.getWeek(patients.getLastMenses(), endTime); + int startWeek = 0; + int endWeek = 0; + startWeek = currentWeek; + endWeek = maxWeek; + endWeek = endWeek > 42 ? 42 : endWeek; + + st.setWeekStart(startWeek); + st.setWeekEnd(endWeek); + st.setForeignId(patients.getId()); + serviceTimeRecordService.addServiceTimeRecord(st); + } + /** * 修改服务开通记录 * @@ -435,6 +469,13 @@ public class PatientServiceFacade { } else if (ps.getSerStatus().intValue() == PatientSerEnums.SerStatusEnums.zt.getId().intValue()) { patient.setServiceStatus(ServiceStatusEnums.SUSPEND.getId()); } + + Patients patients = patientsService.findOnePatientById(ps.getParentid()); + if (patients != null) + { + saveServiceTimeRecord(4, patients); + } + }else if(PatientSerEnums.SerTypeEnums.bzfw.getId().intValue() == ps.getSerType().intValue()){ PatientServiceQuery query = new PatientServiceQuery(); query.setParentid(after.getParentid());