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 687421d..4be8d81 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 @@ -385,6 +385,7 @@ public class PatientServiceFacade { public void setServiceRecordAdd(PatientService pser, Patients patients) { + Date currentDate = new Date(); if (pser.getPerType() != null && pser.getPerType() == 2) {//儿童 return; } @@ -396,33 +397,33 @@ public class PatientServiceFacade { if (serviceWeek != null) { - Date endTime = DateUtil.addWeek(new Date(), serviceWeek); + Date endTime = DateUtil.addWeek(currentDate, serviceWeek); if (endTime.getTime() > DateUtil.addWeek(lastMenses, 42).getTime()) { endTime = DateUtil.addWeek(lastMenses, 42); } - Integer endWeek = DateUtil.getWeek(lastMenses, new Date()) + serviceWeek; + Integer endWeek = DateUtil.getWeek(lastMenses, currentDate) + serviceWeek; endWeek = endWeek > 42 ? 42 : endWeek; - pser.setSerStartTime(new Date()); + pser.setSerStartTime(currentDate); pser.setSerEndTime(endTime); - pser.setSerStartWeek(DateUtil.getWeek(lastMenses, new Date())); + pser.setSerStartWeek(DateUtil.getWeek(lastMenses, currentDate)); pser.setSerEndWeek(endWeek); } if (doctorService != null) { - Date endTime = DateUtil.addWeek(new Date(), doctorService); + Date endTime = DateUtil.addWeek(currentDate, doctorService); if (endTime.getTime() > DateUtil.addWeek(lastMenses, 42).getTime()) { endTime = DateUtil.addWeek(lastMenses, 42); } - Integer endWeek = DateUtil.getWeek(lastMenses, new Date()) + doctorService; + Integer endWeek = DateUtil.getWeek(lastMenses, currentDate) + doctorService; endWeek = endWeek > 42 ? 42 : endWeek; - pser.setDocStartTime(new Date()); + pser.setDocStartTime(currentDate); pser.setDocEndTime(endTime); - pser.setDocStartWeek(DateUtil.getWeek(lastMenses, new Date())); + pser.setDocStartWeek(DateUtil.getWeek(lastMenses, currentDate)); pser.setDocEndWeek(endWeek); } } @@ -437,17 +438,24 @@ public class PatientServiceFacade { { if (serviceWeek != null) { - if (pser.getSerEndTime().getTime() > new Date().getTime()) + //未过期 + if (pser.getSerEndTime() != null && pser.getSerEndTime().getTime() > new Date().getTime()) { Date startTime = pser.getSerStartTime(); Date endTime = DateUtil.addWeek(pser.getSerEndTime(), serviceWeek); + if (endTime.getTime() > DateUtil.addWeek(lastMenses, 42).getTime()) + { + endTime = DateUtil.addWeek(lastMenses, 42); + } pser.setSerStartTime(startTime); pser.setSerEndTime(endTime); Integer startWeek = DateUtil.getWeek(lastMenses, startTime); Integer endWeek = DateUtil.getWeek(lastMenses, pser.getSerEndTime()) + serviceWeek; + endWeek = endWeek > 42 ? 42 : endWeek; + pser.setSerStartWeek(startWeek); pser.setSerEndWeek(endWeek); } @@ -462,9 +470,13 @@ public class PatientServiceFacade { if (doctorService != null) { - if (pser.getDocEndTime().getTime() > new Date().getTime()) + if (pser.getDocEndTime() != null && pser.getDocEndTime().getTime() > new Date().getTime()) { Date endTime = DateUtil.addWeek(pser.getDocEndTime(),doctorService); + if (endTime.getTime() > DateUtil.addWeek(lastMenses, 42).getTime()) + { + endTime = DateUtil.addWeek(lastMenses, 42); + } Date startTime = pser.getSerStartTime(); pser.setDocEndTime(endTime); @@ -472,6 +484,7 @@ public class PatientServiceFacade { Integer startWeek = DateUtil.getWeek(lastMenses, startTime); Integer endWeek = DateUtil.getWeek(lastMenses, pser.getDocEndTime()) + doctorService; + endWeek = endWeek > 42 ? 42 : endWeek; pser.setDocStartWeek(startWeek); pser.setDocEndWeek(endWeek); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceSysFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceSysFacade.java index 18aefee..fbcf996 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceSysFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceSysFacade.java @@ -110,6 +110,9 @@ public class PatientServiceSysFacade implements SysBaseFacade { //操作时间 ps.setUpdateDate(new Date()); + + ps.setServiceWeek(patientService.getServiceWeek()); + ps.setDoctorWeek(patientService.getDoctorWeek()); patientServiceFacade.setServiceRecordUpdate(ps, patients); patientServiceService.updatePatientService(ps);