From 6ba40f6e31371135a06a74864abc019b798eb205 Mon Sep 17 00:00:00 2001 From: haown <454902499@qq.com> Date: Wed, 15 Nov 2023 10:36:35 +0800 Subject: [PATCH] =?UTF-8?q?update=3D=3D=3D>:=E4=BF=AE=E6=94=B9=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AppletSchedulePlanController.java | 2 +- .../nursingorder/NursingOrderController.java | 25 ++++++-- .../nursingorder/INursingOrderService.java | 3 + .../impl/NursingOrderServiceImpl.java | 62 +++++++++++++++++-- .../INursingStationGoodsService.java | 2 +- .../impl/NursingStationGoodsServiceImpl.java | 25 +++++--- .../impl/AppletSchedulePlanServiceImpl.java | 5 +- .../impl/WeChatRefundServiceImpl.java | 46 +++++++++++--- .../consultationInfo/ConsultationInfo.java | 4 ++ .../domain/hospitalinfo/HospitalInfo.java | 2 +- .../consultationInfo/ConsultationInfoDTO.java | 3 + .../impl/ConsultationInfoServiceImpl.java | 15 +++++ .../scheduleplan/ISchedulePlanService.java | 2 + .../impl/SchedulePlanServiceImpl.java | 5 ++ .../impl/ScreeningRecordServiceImpl.java | 2 +- .../ConsultationInfoMapper.xml | 10 +++ .../manage/goodsOrder/GoodsOrderMapper.xml | 3 + 17 files changed, 180 insertions(+), 36 deletions(-) diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/appletscheduleplan/AppletSchedulePlanController.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/appletscheduleplan/AppletSchedulePlanController.java index c4c5070..5236e87 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/appletscheduleplan/AppletSchedulePlanController.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/appletscheduleplan/AppletSchedulePlanController.java @@ -73,7 +73,7 @@ public class AppletSchedulePlanController extends BaseController { if (planDetail != null) { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm"); // 判断当前时间段是否已有居民预约 - if (StringUtils.equals("1", planDetail.getApplyState()) && StringUtils.equals("0", schedulePlanDetailDTO.getStatus())) { + if (StringUtils.equals("1", planDetail.getApplyState()) && StringUtils.equals("1", schedulePlanDetailDTO.getStatus())) { return R.fail(planDetail.getScheduleStartTime().format(formatter) + "~" + planDetail.getScheduleEndTime().format(formatter) + "已有居民预约,请取消订单后再修改"); } // 判断时间段是否已过 diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/nursingorder/NursingOrderController.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/nursingorder/NursingOrderController.java index d8cd75f..e696acc 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/nursingorder/NursingOrderController.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/nursingorder/NursingOrderController.java @@ -1,5 +1,6 @@ package com.xinelu.applet.controller.nursingorder; +import com.alibaba.fastjson2.JSONObject; import com.xinelu.applet.dto.nurseorder.NurseOrderDTO; import com.xinelu.applet.service.nursingorder.INursingOrderService; import com.xinelu.applet.vo.nursingorder.AppletGoodsOrderVO; @@ -11,13 +12,17 @@ import com.xinelu.common.core.domain.entity.SysDictData; import com.xinelu.common.core.page.TableDataInfo; import com.xinelu.common.enums.OrderTypeEnum; import com.xinelu.manage.domain.goodsOrder.GoodsOrder; -import org.apache.commons.lang3.StringUtils; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; +import com.xinelu.manage.service.messagepush.MessagePushService; import java.util.ArrayList; import java.util.List; import java.util.Objects; +import javax.annotation.Resource; +import org.apache.commons.lang3.StringUtils; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; /** * @Description 个人中心订单页面 @@ -32,6 +37,9 @@ public class NursingOrderController extends BaseController { @Resource private INursingOrderService nursingOrderService; + @Resource + private MessagePushService messagePushService; + /** * 根据登录id查询订单列表(暂时不用) */ @@ -107,4 +115,13 @@ public class NursingOrderController extends BaseController { } return nursingOrderService.getAppletOrderList(nurseOrder); } + + @GetMapping("/pushMeg") + public AjaxResult pushMeg(Long orderId, Long patientId) { + JSONObject result = nursingOrderService.pushMeg(orderId, patientId); + if(result != null && result.containsKey("openid")) { + messagePushService.fdApprovePush(result); + } + return AjaxResult.success(); + } } \ No newline at end of file diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/nursingorder/INursingOrderService.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/nursingorder/INursingOrderService.java index cc482ee..5b7c29d 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/nursingorder/INursingOrderService.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/nursingorder/INursingOrderService.java @@ -1,6 +1,7 @@ package com.xinelu.applet.service.nursingorder; +import com.alibaba.fastjson2.JSONObject; import com.xinelu.applet.dto.nurseorder.NurseOrderDTO; import com.xinelu.applet.vo.nursingorder.AppletGoodsOrderVO; import com.xinelu.applet.vo.nursingorder.NursingOrderInfoVO; @@ -65,4 +66,6 @@ public interface INursingOrderService { * @return AjaxResult */ TableDataInfo getAppletOrderList(NurseOrderDTO nurseOrder); + + JSONObject pushMeg(Long orderId, Long patientId); } \ No newline at end of file diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/nursingorder/impl/NursingOrderServiceImpl.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/nursingorder/impl/NursingOrderServiceImpl.java index ac58321..20bf9e0 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/nursingorder/impl/NursingOrderServiceImpl.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/nursingorder/impl/NursingOrderServiceImpl.java @@ -1,7 +1,7 @@ package com.xinelu.applet.service.nursingorder.impl; - import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONObject; import com.github.pagehelper.PageInfo; import com.xinelu.applet.dto.nurseorder.NurseOrderDTO; import com.xinelu.applet.mapper.nursingorder.NursingOrderMapper; @@ -19,19 +19,32 @@ import com.xinelu.common.enums.ConfirmRefundStatusEnum; import com.xinelu.common.enums.GooodsOrderStatusEnum; import com.xinelu.common.enums.OrderSourceEnum; import com.xinelu.common.enums.OrderStatusEnum; +import com.xinelu.common.utils.DateUtils; import com.xinelu.common.utils.http.HttpUtils; import com.xinelu.common.utils.spring.SpringUtils; import com.xinelu.manage.domain.goodsOrder.GoodsOrder; +import com.xinelu.manage.domain.hospitalinfo.HospitalInfo; +import com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo; +import com.xinelu.manage.mapper.goodsOrder.GoodsOrderMapper; +import com.xinelu.manage.service.hospitalinfo.IHospitalInfoService; +import com.xinelu.manage.service.hospitalpersoninfo.IHospitalPersonInfoService; +import com.xinelu.manage.service.patientinfo.IPatientInfoService; +import com.xinelu.manage.vo.patientinfo.PatientInfoVO; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.Date; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; +import javax.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import java.time.LocalDateTime; -import java.util.*; -import java.util.stream.Collectors; - /** * @Description 订单分页 * @Author ZhangHeng @@ -45,6 +58,15 @@ public class NursingOrderServiceImpl implements INursingOrderService { @Resource private NursingOrderMapper nursingOrderMapper; + @Resource + private GoodsOrderMapper goodsOrderMapper; + @Resource + private IPatientInfoService patientService; + @Resource + private IHospitalPersonInfoService hospitalPersonInfoService; + @Resource + private IHospitalInfoService hospitalInfoService; + /** * 未评价标识 */ @@ -204,4 +226,32 @@ public class NursingOrderServiceImpl implements INursingOrderService { rspData.setMsg("查询成功"); return rspData; } + + @Override public JSONObject pushMeg(Long orderId, Long patientId) { + JSONObject result = new JSONObject(); + if (orderId != null && patientId != null) { + PatientInfoVO patient = patientService.selectPatientInfoById(patientId); + GoodsOrder goodsOrder = goodsOrderMapper.selectGoodsOrderById(orderId); + HospitalPersonInfo hospitalPersonInfo = hospitalPersonInfoService.selectHospitalPersonInfoById(goodsOrder.getHospitalPersonId()); + HospitalInfo hospitalInfo = hospitalInfoService.selectHospitalInfoById(hospitalPersonInfo.getHospitalId()); + if (patient != null && goodsOrder != null) { + // 组装发送消息通知参数 + result.put("patientId", patientId); + result.put("openid", patient.getOpenid()); + result.put("receiveName", patient.getPatientName()); + result.put("text1", hospitalInfo.getHospitalName()); + result.put("text2", "专家咨询"); + result.put("text3", "专家咨询"); + result.put("sendTitle", "专家咨询"); + result.put("sendTime", DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", new Date())); + result.put("busType", "10"); + result.put("sendContent", patient.getPatientName() + "专家咨询预约成功"); + result.put("messageType", "5"); + result.put("messageCategory", "4"); + result.put("cardNo", patient.getCardNo()); + return result; + } + } + return null; + } } diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/nursingstationgoods/INursingStationGoodsService.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/nursingstationgoods/INursingStationGoodsService.java index 4ea3f35..86d1b18 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/nursingstationgoods/INursingStationGoodsService.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/nursingstationgoods/INursingStationGoodsService.java @@ -10,7 +10,6 @@ import com.xinelu.common.core.page.TableDataInfo; import com.xinelu.manage.domain.goodsCategory.GoodsCategory; import com.xinelu.manage.domain.receiveAddressInfo.ReceiveAddressInfo; import com.xinelu.manage.vo.sysarea.SysAreaVO; - import java.util.List; /** @@ -134,4 +133,5 @@ public interface INursingStationGoodsService { * @return 结果 */ AjaxResult updateDefaultAddress(List defaultAddressList); + } diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/nursingstationgoods/impl/NursingStationGoodsServiceImpl.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/nursingstationgoods/impl/NursingStationGoodsServiceImpl.java index 6587cc2..411a860 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/nursingstationgoods/impl/NursingStationGoodsServiceImpl.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/nursingstationgoods/impl/NursingStationGoodsServiceImpl.java @@ -1,6 +1,10 @@ package com.xinelu.applet.service.nursingstationgoods.impl; -import com.xinelu.applet.dto.nursingstationgoods.*; +import com.xinelu.applet.dto.nursingstationgoods.GoodAttributeDetailsList; +import com.xinelu.applet.dto.nursingstationgoods.GoodDetails; +import com.xinelu.applet.dto.nursingstationgoods.GoodsList; +import com.xinelu.applet.dto.nursingstationgoods.GoodsOrderPatient; +import com.xinelu.applet.dto.nursingstationgoods.GoodsOrderStationDTO; import com.xinelu.applet.mapper.nursingstationgoods.NursingStationGoodsMapper; import com.xinelu.applet.service.nursingstationgoods.INursingStationGoodsService; import com.xinelu.applet.vo.coupon.CouponVO; @@ -34,6 +38,16 @@ import com.xinelu.manage.vo.patientcouponreceive.PatientCouponReceiveVO; import com.xinelu.manage.vo.patientinfo.PatientInfoVO; import com.xinelu.manage.vo.receiveAddressInfo.ReceiveAddressInfoVO; import com.xinelu.manage.vo.sysarea.SysAreaVO; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; +import javax.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.compress.utils.Lists; @@ -42,13 +56,6 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import javax.annotation.Resource; -import java.math.BigDecimal; -import java.time.LocalDateTime; -import java.util.*; -import java.util.concurrent.atomic.AtomicInteger; -import java.util.stream.Collectors; - /** * @author ljh * @version 1.0 @@ -401,7 +408,7 @@ public class NursingStationGoodsServiceImpl implements INursingStationGoodsServi return AjaxResult.success(); } - /** + /** * 根据当前分类id查询其下属所有子分类id集合 * * @param categoryId 当前分类id diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/scheduleplan/impl/AppletSchedulePlanServiceImpl.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/scheduleplan/impl/AppletSchedulePlanServiceImpl.java index d63c11b..9f5bb98 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/scheduleplan/impl/AppletSchedulePlanServiceImpl.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/scheduleplan/impl/AppletSchedulePlanServiceImpl.java @@ -45,11 +45,10 @@ public class AppletSchedulePlanServiceImpl implements IAppletSchedulePlanService detailList.forEach(detail -> { // 可预约状态 boolean status = true; - if (StringUtils.equals("1", detail.getStatus()) || StringUtils.equals("1", detail.getApplyState())) { - status = false; - } if (scheduleDate.isEqual(LocalDate.now()) && detail.getScheduleStartTime().isBefore(LocalTime.now())) { status = false; + } else if (StringUtils.equals("1", detail.getStatus()) || StringUtils.equals("1", detail.getApplyState())) { + status = false; } DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm"); diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/wechatpaymentinfo/impl/WeChatRefundServiceImpl.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/wechatpaymentinfo/impl/WeChatRefundServiceImpl.java index 7b59392..4f1fe04 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/wechatpaymentinfo/impl/WeChatRefundServiceImpl.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/service/wechatpaymentinfo/impl/WeChatRefundServiceImpl.java @@ -10,19 +10,37 @@ import com.xinelu.applet.vo.wechatpaymentinfo.vo.WeChatRefundInfoVO; import com.xinelu.common.config.WeChatPaymentUrlConfig; import com.xinelu.common.config.XylWeChatPaymentConfig; import com.xinelu.common.core.domain.AjaxResult; -import com.xinelu.common.enums.*; +import com.xinelu.common.enums.ConfirmRefundStatusEnum; +import com.xinelu.common.enums.GooodsOrderStatusEnum; +import com.xinelu.common.enums.IntegralChangeType; +import com.xinelu.common.enums.OrderStatusEnum; +import com.xinelu.common.enums.OrderTypeEnum; +import com.xinelu.common.enums.PaymentMerchantTypeEnum; +import com.xinelu.common.enums.RefundStatusEnum; +import com.xinelu.common.enums.RefundTypeEnum; import com.xinelu.common.exception.ServiceException; import com.xinelu.manage.domain.appointmentorder.AppointmentOrder; import com.xinelu.manage.domain.goodsOrder.GoodsOrder; import com.xinelu.manage.domain.patientintegralchange.PatientIntegralChange; import com.xinelu.manage.domain.refundinfo.RefundInfo; +import com.xinelu.manage.domain.scheduleplandetail.SchedulePlanDetail; +import com.xinelu.manage.dto.consultationInfo.ConsultationInfoDTO; import com.xinelu.manage.mapper.appointmentorder.AppointmentOrderMapper; import com.xinelu.manage.mapper.goodsOrder.GoodsOrderMapper; import com.xinelu.manage.mapper.patientinfo.PatientInfoMapper; import com.xinelu.manage.mapper.patientintegralchange.PatientIntegralChangeMapper; import com.xinelu.manage.mapper.refundinfo.RefundInfoMapper; +import com.xinelu.manage.service.consultationInfo.IConsultationInfoService; +import com.xinelu.manage.service.scheduleplandetail.ISchedulePlanDetailService; import com.xinelu.manage.vo.goodsorder.GoodsInfoRedemptionVO; import com.xinelu.manage.vo.patientinfo.PatientInfoVO; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.http.client.methods.CloseableHttpResponse; @@ -34,14 +52,6 @@ import org.apache.http.util.EntityUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import javax.annotation.Resource; -import java.math.BigDecimal; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.util.LinkedHashMap; -import java.util.Map; -import java.util.Objects; - /** * @Description 微信退款业务层实现类 * @Author 纪寒 @@ -70,6 +80,10 @@ public class WeChatRefundServiceImpl implements WeChatRefundService { private PatientIntegralChangeMapper patientIntegralChangeMapper; @Resource private PatientInfoMapper patientInfoMapper; + @Resource + private IConsultationInfoService consultationInfoService; + @Resource + private ISchedulePlanDetailService planDetailService; /** * 成功状态码 @@ -236,7 +250,19 @@ public class WeChatRefundServiceImpl implements WeChatRefundService { String refundParam = this.buildHealthConsultationRefundParam(goodsOrderInfo, outRefundNo); String refundReason = StringUtils.isBlank(closeOrderDTO.getRemark()) ? "" : closeOrderDTO.getRemark(); this.applyWeRefund(refundParam, null, goodsOrderInfo, patientId, refundReason); - return AjaxResult.success(); + // 查询是否为专家咨询订单,修改时间段的可预约状态 + GoodsOrder goodsOrder = goodsOrderMapper.getGoodsOrderByOrderNo(closeOrderDTO.getOrderNo()); + if (goodsOrder.getConsultationInfoId() != null) { + ConsultationInfoDTO consultationInfo = consultationInfoService.selectConsultationInfoById(goodsOrder.getConsultationInfoId()); + if (consultationInfo != null && consultationInfo.getSchedulePlanDetailId() != null) { + // 修改预约时间段的状态 + SchedulePlanDetail schedulePlanDetail = new SchedulePlanDetail(); + schedulePlanDetail.setId(consultationInfo.getSchedulePlanDetailId()); + schedulePlanDetail.setApplyState("0"); + planDetailService.update(schedulePlanDetail); + } + } + return AjaxResult.success(); } /** diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/domain/consultationInfo/ConsultationInfo.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/domain/consultationInfo/ConsultationInfo.java index 4ff282f..88ba024 100644 --- a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/domain/consultationInfo/ConsultationInfo.java +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/domain/consultationInfo/ConsultationInfo.java @@ -154,6 +154,9 @@ public class ConsultationInfo extends BaseEntity implements Serializable { @Excel(name = "病历") private String medicalRecord; + @ApiModelProperty(value = "预约班次明细表主键") + private Long schedulePlanDetailId; + /** * 是否删除标识,0:否,1:是 */ @@ -180,6 +183,7 @@ public class ConsultationInfo extends BaseEntity implements Serializable { .append("situationDescription", getSituationDescription()) .append("problemStatement", getProblemStatement()) .append("medicalRecord", getMedicalRecord()) + .append("schedulePlanDetailId", getSchedulePlanDetailId()) .append("delFlag", getDelFlag()) .append("createBy", getCreateBy()) .append("createTime", getCreateTime()) diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/domain/hospitalinfo/HospitalInfo.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/domain/hospitalinfo/HospitalInfo.java index 04154bd..b0d39a9 100644 --- a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/domain/hospitalinfo/HospitalInfo.java +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/domain/hospitalinfo/HospitalInfo.java @@ -91,7 +91,7 @@ public class HospitalInfo extends BaseDomain implements Serializable { @ApiModelProperty(value = "家医机构编号") private String orgCode; - @ApiModelProperty(value = "医院类别,1:家医机构,2:齐鲁名医机构") + @ApiModelProperty(value = "医院类型,1:家医机构,2:齐鲁名医机构,3:专病机构") private String category; @Override diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/dto/consultationInfo/ConsultationInfoDTO.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/dto/consultationInfo/ConsultationInfoDTO.java index f1cf7c0..e9135ac 100644 --- a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/dto/consultationInfo/ConsultationInfoDTO.java +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/dto/consultationInfo/ConsultationInfoDTO.java @@ -162,4 +162,7 @@ public class ConsultationInfoDTO extends BaseEntity implements Serializable { */ @ApiModelProperty("问诊资料文件") private List fileUrls; + + @ApiModelProperty("预约时间段业务主键") + private Long schedulePlanDetailId; } diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/consultationInfo/impl/ConsultationInfoServiceImpl.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/consultationInfo/impl/ConsultationInfoServiceImpl.java index fb1b482..daa3642 100644 --- a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/consultationInfo/impl/ConsultationInfoServiceImpl.java +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/consultationInfo/impl/ConsultationInfoServiceImpl.java @@ -11,10 +11,12 @@ import com.xinelu.common.utils.file.FileUploadUtils; import com.xinelu.common.utils.file.MimeTypeUtils; import com.xinelu.manage.domain.consultationInfo.ConsultationInfo; import com.xinelu.manage.domain.goodsOrder.GoodsOrder; +import com.xinelu.manage.domain.scheduleplandetail.SchedulePlanDetail; import com.xinelu.manage.dto.consultationInfo.ConsultationInfoDTO; import com.xinelu.manage.mapper.consultationInfo.ConsultationInfoMapper; import com.xinelu.manage.mapper.goodsOrder.GoodsOrderMapper; import com.xinelu.manage.mapper.patientinfo.PatientInfoMapper; +import com.xinelu.manage.mapper.scheduleplandetail.SchedulePlanDetailMapper; import com.xinelu.manage.service.consultationInfo.IConsultationInfoService; import com.xinelu.manage.service.messagepush.MessagePushService; import com.xinelu.manage.vo.consultationInfo.ConsultationInfoVO; @@ -54,6 +56,9 @@ public class ConsultationInfoServiceImpl implements IConsultationInfoService { @Resource private PatientInfoMapper patientInfoMapper; + @Resource + private SchedulePlanDetailMapper schedulePlanDetailMapper; + /** * 查询在线问诊-问诊信息(图文和视频问诊基本信息) * @@ -89,6 +94,9 @@ public class ConsultationInfoServiceImpl implements IConsultationInfoService { @Transactional(rollbackFor = Exception.class) @Override public AjaxResult insertConsultationInfo(ConsultationInfoDTO consultationInfoDTO) { + if (StringUtils.equals("VIDEO_CONSULTATION", consultationInfoDTO.getConsultationType()) && consultationInfoDTO.getSchedulePlanDetailId() == null) { + return AjaxResult.error("请选择预约时间段"); + } consultationInfoDTO.setCreateTime(DateUtils.getNowDate()); ConsultationInfo consultationInfo = new ConsultationInfo(); BeanUtils.copyBeanProp(consultationInfo, consultationInfoDTO); @@ -97,6 +105,13 @@ public class ConsultationInfoServiceImpl implements IConsultationInfoService { if (CollectionUtils.isNotEmpty(consultationInfoDTO.getFileUrls())) { consultationInfoMapper.insertConsultationFile(consultationInfo.getId(), consultationInfoDTO.getFileUrls()); } + // 专家咨询,修改预约时间段的预约状态 + if (StringUtils.equals("VIDEO_CONSULTATION", consultationInfoDTO.getConsultationType())) { + SchedulePlanDetail schedulePlanDetail = new SchedulePlanDetail(); + schedulePlanDetail.setId(consultationInfoDTO.getSchedulePlanDetailId()); + schedulePlanDetail.setApplyState("1"); + schedulePlanDetailMapper.updateByPrimaryKeySelective(schedulePlanDetail); + } return AjaxResult.success(consultationInfo); } return AjaxResult.error(); diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/scheduleplan/ISchedulePlanService.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/scheduleplan/ISchedulePlanService.java index f0490fe..a60b886 100644 --- a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/scheduleplan/ISchedulePlanService.java +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/scheduleplan/ISchedulePlanService.java @@ -16,4 +16,6 @@ public interface ISchedulePlanService { int save(SchedulePlan schedulePlan) throws Exception; List getListByDoctor(SchedulePlan schedulePlan); + + int updateDetailByOrder(String orderNo); } diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/scheduleplan/impl/SchedulePlanServiceImpl.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/scheduleplan/impl/SchedulePlanServiceImpl.java index 2eed3e9..6394d76 100644 --- a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/scheduleplan/impl/SchedulePlanServiceImpl.java +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/scheduleplan/impl/SchedulePlanServiceImpl.java @@ -144,6 +144,11 @@ public class SchedulePlanServiceImpl implements ISchedulePlanService { return retList; } + @Override public int updateDetailByOrder(String orderNo) { + + return 0; + } + /** * 生成计划明细 * @param number:人数 diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/screeningrecord/impl/ScreeningRecordServiceImpl.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/screeningrecord/impl/ScreeningRecordServiceImpl.java index 1af1667..528dc4c 100644 --- a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/screeningrecord/impl/ScreeningRecordServiceImpl.java +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/screeningrecord/impl/ScreeningRecordServiceImpl.java @@ -141,7 +141,7 @@ public class ScreeningRecordServiceImpl implements IScreeningRecordService { result.put("text2", (body.getProjectName().length() >= 17? (body.getProjectName().substring(0, 17) + "..."): body.getProjectName())); result.put("text3", body.getProjectName()); result.put("sendTitle", "筛查预约"); - result.put("sendTime", DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", new Date())); + result.put("sendTime", DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", recordBody.getApplyStartTime())); result.put("busType", "10"); result.put("sendContent", registerVo.getPatientName() + "预约筛查成功"); result.put("messageType", "5"); diff --git a/xinelu-nurse-manage/src/main/resources/mapper/manage/consultationInfo/ConsultationInfoMapper.xml b/xinelu-nurse-manage/src/main/resources/mapper/manage/consultationInfo/ConsultationInfoMapper.xml index 613ec35..ad7d297 100644 --- a/xinelu-nurse-manage/src/main/resources/mapper/manage/consultationInfo/ConsultationInfoMapper.xml +++ b/xinelu-nurse-manage/src/main/resources/mapper/manage/consultationInfo/ConsultationInfoMapper.xml @@ -23,6 +23,7 @@ + @@ -49,6 +50,7 @@ situation_description, problem_statement, medical_record, + schedule_plan_detail_id, del_flag, create_by, create_time, @@ -133,6 +135,7 @@ situation_description, problem_statement, medical_record, + schedule_plan_detail_id, del_flag, create_by, create_time, @@ -185,6 +188,8 @@ medical_record, + schedule_plan_detail_id, + del_flag, create_by, @@ -233,6 +238,8 @@ #{medicalRecord}, + #{schedulePlanDetailId}, + #{delFlag}, #{createBy}, @@ -307,6 +314,9 @@ medical_record = #{medicalRecord}, + schedule_plan_detail_id = + #{schedulePlanDetailId}, + del_flag = #{delFlag}, diff --git a/xinelu-nurse-manage/src/main/resources/mapper/manage/goodsOrder/GoodsOrderMapper.xml b/xinelu-nurse-manage/src/main/resources/mapper/manage/goodsOrder/GoodsOrderMapper.xml index ab1590e..c062d3c 100644 --- a/xinelu-nurse-manage/src/main/resources/mapper/manage/goodsOrder/GoodsOrderMapper.xml +++ b/xinelu-nurse-manage/src/main/resources/mapper/manage/goodsOrder/GoodsOrderMapper.xml @@ -781,5 +781,8 @@ and gr.order_type = #{orderType} + + and c.patient_id = #{patientId} +