Commit d9f580b1165b6809048a2a43827b810975c4756c
1 parent
22240427f1
Exists in
master
and in
6 other branches
服务
Showing 1 changed file with 41 additions and 0 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java
View file @
d9f580b
... | ... | @@ -337,6 +337,12 @@ |
337 | 337 | patient.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId()); |
338 | 338 | bookbuildingFacade.updatePatientSerById(ps.getParentid(), patient); |
339 | 339 | |
340 | + Patients patients = patientsService.findOnePatientById(ps.getParentid()); | |
341 | + if (patients != null) | |
342 | + { | |
343 | + saveServiceTimeRecord(4, patients); | |
344 | + } | |
345 | + | |
340 | 346 | }else if(PatientSerEnums.SerTypeEnums.bzfw.getId().intValue() == Integer.parseInt(serInfo.get("serType"))){ |
341 | 347 | PatientServiceQuery query = new PatientServiceQuery(); |
342 | 348 | query.setParentid(ps.getParentid()); |
... | ... | @@ -361,6 +367,34 @@ |
361 | 367 | } |
362 | 368 | |
363 | 369 | |
370 | + | |
371 | + public void saveServiceTimeRecord(Integer type,Patients patients) | |
372 | + { | |
373 | + TServiceTimeRecord st = new TServiceTimeRecord(); | |
374 | + st.setCreateTime(new Date()); | |
375 | + st.setType(type); | |
376 | + st.setUpdateTime(new Date()); | |
377 | + Date startTime = patients.getLastMenses(); | |
378 | + Date endTime = DateUtil.addWeek(patients.getLastMenses(), 42); | |
379 | + endTime = endTime.getTime() > DateUtil.addWeek(patients.getLastMenses(), 42).getTime() ? DateUtil.addWeek(patients.getLastMenses(), 42) : endTime; | |
380 | + st.setStartTime(startTime); | |
381 | + st.setEndTime(endTime); | |
382 | + | |
383 | + Date lastMenses = patients.getLastMenses(); | |
384 | + int currentWeek = DateUtil.getWeek(lastMenses, new Date()); | |
385 | + int maxWeek = DateUtil.getWeek(patients.getLastMenses(), endTime); | |
386 | + int startWeek = 0; | |
387 | + int endWeek = 0; | |
388 | + startWeek = currentWeek; | |
389 | + endWeek = maxWeek; | |
390 | + endWeek = endWeek > 42 ? 42 : endWeek; | |
391 | + | |
392 | + st.setWeekStart(startWeek); | |
393 | + st.setWeekEnd(endWeek); | |
394 | + st.setForeignId(patients.getId()); | |
395 | + serviceTimeRecordService.addServiceTimeRecord(st); | |
396 | + } | |
397 | + | |
364 | 398 | /** |
365 | 399 | * 修改服务开通记录 |
366 | 400 | * |
... | ... | @@ -435,6 +469,13 @@ |
435 | 469 | } else if (ps.getSerStatus().intValue() == PatientSerEnums.SerStatusEnums.zt.getId().intValue()) { |
436 | 470 | patient.setServiceStatus(ServiceStatusEnums.SUSPEND.getId()); |
437 | 471 | } |
472 | + | |
473 | + Patients patients = patientsService.findOnePatientById(ps.getParentid()); | |
474 | + if (patients != null) | |
475 | + { | |
476 | + saveServiceTimeRecord(4, patients); | |
477 | + } | |
478 | + | |
438 | 479 | }else if(PatientSerEnums.SerTypeEnums.bzfw.getId().intValue() == ps.getSerType().intValue()){ |
439 | 480 | PatientServiceQuery query = new PatientServiceQuery(); |
440 | 481 | query.setParentid(after.getParentid()); |