From b848c233a51666187bf3e4bcf25ee08ba107313a Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期一, 04 十一月 2024 14:05:45 +0800 Subject: [PATCH] 医院平台对接时,根据长度判断,传哪个参数 --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/appointment/AppointmentServiceImpl.java | 53 ++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 36 insertions(+), 17 deletions(-) diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/appointment/AppointmentServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/appointment/AppointmentServiceImpl.java index 9a53eaf..a134956 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/appointment/AppointmentServiceImpl.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/appointment/AppointmentServiceImpl.java @@ -1,6 +1,7 @@ package cn.lihu.jh.module.ecg.service.appointment; import cn.lihu.jh.framework.common.util.date.DateUtils; +import cn.lihu.jh.framework.common.util.date.LocalDateTimeUtils; import cn.lihu.jh.module.ecg.controller.admin.queue.vo.QueueSaveReqVO; import cn.lihu.jh.module.ecg.feign.RemoteDataService; import cn.lihu.jh.module.ecg.feign.RestApiReqBodyVo; @@ -20,7 +21,9 @@ import cn.lihu.jh.module.ecg.dal.mysql.appointment.AppointmentMapper; import javax.annotation.Resource; +import javax.xml.crypto.Data; +import java.time.LocalDate; import java.time.LocalDateTime; import static cn.lihu.jh.framework.common.exception.util.ServiceExceptionUtil.exception; @@ -46,14 +49,19 @@ private AppointmentMapper appointmentMapper; @Override - public Integer createAppointment(AppointmentSaveReqVO createReqVO) { + public Long createAppointment(AppointmentSaveReqVO createReqVO) { // 鎻掑叆 AppointmentDO appointment = BeanUtils.toBean(createReqVO, AppointmentDO.class); appointment.setBookTime( LocalDateTime.now() ); appointment.setBookSrc( 1 ); - appointmentMapper.insert(appointment); + try { + appointmentMapper.insert(appointment); + } catch (DuplicateKeyException e) { + throw exception(APPOINTMENT_EXIST_TODAY); + } + // 杩斿洖 return appointment.getId(); } @@ -68,32 +76,39 @@ } @Override - public void deleteAppointment(Integer id) { + public void deleteAppointment(Long id) { // 鏍¢獙瀛樺湪 validateAppointmentExists(id); // 鍒犻櫎 appointmentMapper.deleteById(id); } - private void validateAppointmentExists(Integer id) { + private void validateAppointmentExists(Long id) { if (appointmentMapper.selectById(id) == null) { throw exception(APPOINTMENT_NOT_EXISTS); } } @Override - public AppointmentDO getAppointment(Integer id) { + public AppointmentDO getAppointment(Long id) { return appointmentMapper.selectById(id); } @Override - public AppointmentDO getAppointmentByPatId(String patId) { + public AppointmentDO getCurAppointmentByPatId(String patId) { + AppointmentDO appointmentDO = appointmentMapper.getCurrentPatId( patId ); + return appointmentDO; + } + + @Override + public AppointmentDO queryAndCreateAppointmentByPatId(String patId) { // 鍏堜粠鍖婚櫌骞冲彴鏌ヨ AppointmentDO appointmentExtermal = getAppointmentExtermal( patId ); - if (null != appointmentExtermal && null != appointmentExtermal.getBookDate()) { - // 鏌ヨDB涓� 鏄惁宸茬粡瀛樺湪 + if (null != appointmentExtermal && null != appointmentExtermal.getBookDate() && appointmentExtermal.getBookDate().isEqual(LocalDate.now()) ) { + // 鏌ュ埌褰撳ぉ鐨勯绾﹀悗锛屾煡璇B涓� 鏄惁宸茬粡瀛樺湪 AppointmentDO appointmentDO = appointmentMapper.getCurrentPatId( patId ); if (null == appointmentDO ) { + appointmentExtermal.setBookSrc(0); appointmentMapper.insert( appointmentExtermal ); return appointmentExtermal; } @@ -109,23 +124,27 @@ } @Override - public AppointmentDO getAppointmentExtermal(String mzzyh) { + public AppointmentDO getAppointmentExtermal(String patId) { RestApiReqBodyVo reqBodyVo = new RestApiReqBodyVo(); - //reqBodyVo.setSfzh(confirmReqVO.getPatId()); - reqBodyVo.setMzzyh( mzzyh ); + if (18 == patId.length()) { + reqBodyVo.setSfzh( patId ); + } else { + reqBodyVo.setMzzyh(patId); + } // QueryRisReportList queryEcgRequest RestApiResult<AppointmentExternal> result = remoteDataService.httpApi("queryEcgRequest", "ECG", "ECG", reqBodyVo); - result.getCode(); + if (0 == result.getRow().size()) { + return null; + } AppointmentExternal appointmentExternal = result.getRow().get(0); - AppointmentDO appointmentDO = BeanUtils.toBean( appointmentExternal, AppointmentDO.class ); appointmentDO.setPatId( appointmentExternal.getPatientID() ); // 鍐呭涓� 韬唤璇佸彿 鎴� 闂ㄨ瘖浣忛櫌鍙� appointmentDO.setPatName( appointmentExternal.getPatName() ); appointmentDO.setPatGender( Byte.valueOf(appointmentExternal.getPatgender()) ); - appointmentDO.setPatBirthday( appointmentExternal.getEncPatBirthDate() ); + appointmentDO.setPatBirthday( DateUtils.ofUTC(appointmentExternal.getEncPatBirthDate()).toLocalDate() ); appointmentDO.setPatIdentityId( appointmentExternal.getIdentityID() ); appointmentDO.setPatAddr( appointmentExternal.getAddress() ); appointmentDO.setPatDeptCode( appointmentExternal.getPatLocDeptCode() ); @@ -135,10 +154,10 @@ appointmentDO.setPatMobile( appointmentExternal.getPhone() ); appointmentDO.setPatBedNo( appointmentExternal.getEnBedno() ); appointmentDO.setBookId( appointmentExternal.getReqIdeApplyno() ); - appointmentDO.setBookDate( appointmentExternal.getReqExtBooktime().toLocalDate() ); + appointmentDO.setBookDate( DateUtils.ofUTC( appointmentExternal.getReqExtBooktime() ).toLocalDate() ); appointmentDO.setBookCheckType( getCorrespondingCheckType(appointmentExternal.getPlanDefItemList().getPlanDefItem().getPlanDefItemcode()) ); - appointmentDO.setBookTime( appointmentExternal.getReqAuthoredOn() ); - LocalDateTime bookStartTime = appointmentExternal.getReqExtBooktime(); + appointmentDO.setBookTime( DateUtils.ofUTC( appointmentExternal.getReqAuthoredOn() ) ); + LocalDateTime bookStartTime = DateUtils.ofUTC( appointmentExternal.getReqExtBooktime() ); LocalDateTime bookEndTime = bookStartTime.plusMinutes(30); appointmentDO.setBookTimeslot( (bookStartTime.getHour()*100 + bookStartTime.getMinute())*10000 + bookEndTime.getHour()*100 + bookEndTime.getMinute() ); appointmentDO.setBookSrc( 0 ); -- Gitblit v1.9.3