From 46ef502ded6eddfb5824f15ea1728273a68fd39c Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期四, 31 十月 2024 17:16:16 +0800 Subject: [PATCH] update --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/appointment/AppointmentServiceImpl.java | 42 +++++++++++++++++++++++++++++------------- 1 files changed, 29 insertions(+), 13 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 577b98c..7ce9921 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; @@ -53,7 +56,12 @@ 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(); } @@ -87,13 +95,20 @@ } @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,24 @@ } @Override - public AppointmentDO getAppointmentExtermal(String mzzyh) { + public AppointmentDO getAppointmentExtermal(String patId) { RestApiReqBodyVo reqBodyVo = new RestApiReqBodyVo(); - //reqBodyVo.setSfzh(confirmReqVO.getPatId()); - reqBodyVo.setMzzyh( mzzyh ); + reqBodyVo.setSfzh(""); + 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 +151,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