RegistrationService.java 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package com.yihu.ehr.basic.appointment.service;
  2. import com.yihu.ehr.basic.appointment.dao.RegistrationDao;
  3. import com.yihu.ehr.basic.appointment.entity.Registration;
  4. import com.yihu.ehr.query.BaseJpaService;
  5. import com.yihu.ehr.util.datetime.DateUtil;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Service;
  8. import org.springframework.transaction.annotation.Transactional;
  9. import java.util.Date;
  10. import java.util.List;
  11. /**
  12. * 挂号单 Service
  13. *
  14. * @author 张进军
  15. * @date 2018/4/16 19:18
  16. */
  17. @Service
  18. @Transactional
  19. public class RegistrationService extends BaseJpaService<Registration, RegistrationDao> {
  20. @Autowired
  21. RegistrationDao registrationDao;
  22. public Registration getById(String id) {
  23. return registrationDao.findOne(id);
  24. }
  25. public Registration getByOrderId(String orderId) {
  26. return registrationDao.getByOrderId(orderId);
  27. }
  28. @Transactional(readOnly = false)
  29. public Registration save(Registration registration) {
  30. return registrationDao.save(registration);
  31. }
  32. @Transactional(readOnly = false)
  33. public void delete(String id) {
  34. registrationDao.delete(id);
  35. }
  36. /**
  37. * 根据就诊日期判断,更新过期的未就诊挂号单改为已就诊状态
  38. *
  39. * @param list 挂号单集合
  40. */
  41. @Transactional
  42. public void updateStateByRegisterDate(List<Registration> list) {
  43. Date currDate = DateUtil.getSysDate();
  44. for (int i = 0, size = list.size(); i < size; i++) {
  45. Registration registration = list.get(i);
  46. Integer state = registration.getState();
  47. if (state != null && (state == 1 || state == 2 || state == 11 || state == 22)) {
  48. Date registerDate = DateUtil.parseDate(registration.getRegisterDate(),
  49. DateUtil.DEFAULT_DATE_YMD_FORMAT);
  50. if (DateUtil.compareDateTime(currDate, registerDate) > 0) {
  51. registration.setState(3);
  52. registration.setStateDesc("已就诊");
  53. save(registration);
  54. }
  55. }
  56. }
  57. }
  58. }