Commit d9f580b1165b6809048a2a43827b810975c4756c

Authored by liquanyu
1 parent 22240427f1

服务

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());