diff --git a/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/mp/AppointmentController.java b/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/mp/AppointmentController.java index 820650e13b9ba15461e2577fb1aa9f4bc17baba4..81157a9bb98cd7b129bec40098e2470465823740 100644 --- a/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/mp/AppointmentController.java +++ b/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/mp/AppointmentController.java @@ -3,7 +3,6 @@ package cn.sh.stc.sict.theme.hphy.controller.mp; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.net.Ipv4Util; import cn.hutool.core.util.IdcardUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; @@ -18,13 +17,10 @@ import cn.sh.stc.sict.theme.hphy.service.*; import cn.sh.stc.sict.theme.hphy.wd.*; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import io.netty.util.internal.MacAddressUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import ma.glasnost.orika.MapperFactory; -import ma.glasnost.orika.impl.DefaultMapperFactory; import org.springframework.web.bind.annotation.*; /** @@ -71,15 +67,21 @@ public class AppointmentController { if (StrUtil.isBlank(order.getScheduleId()) || StrUtil.isBlank(order.getNumSourceId())) { return new R().error("预约排班号源信息不可为空!"); } -// HpHosInfo hos = hosInfoService.getById(order.getHosOrgCode()); -// if (null == hos) { -// return new R().error("未找到医院信息!"); -// } + HpHosInfo hos = hosInfoService.getById(order.getHosOrgCode()); + if (null == hos) { + return new R().error("未找到医院信息!"); + } HphyPatientBase patient = hphyPatientBaseService.getByOpenId(current.getOpenId()); if (null == patient) { return new R().error("未找到患者信息!"); } - if(WanDaConstant.ORDER_TYPE_OUTP.equals(order.getOrderType())){ + boolean isNullCard = (StrUtil.isBlank(order.getMediCardId()) || StrUtil.isBlank(order.getMediCardType())) + && StrUtil.isBlank(patient.getMediCardId()) || StrUtil.isBlank(patient.getMediCardType()); + // 有卡预约时检查就诊卡信息 + if (WanDaConstant.ORDER_MODEL_1.equals(hos.getOrderMode()) && isNullCard) { + return new R().error("请补充患者就诊卡信息!"); + } + if (WanDaConstant.ORDER_TYPE_OUTP.equals(order.getOrderType())) { HpDocInfo docInfo = hpDocInfoService.getById(order.getDoctorId()); if (null == docInfo) { return new R().error("未找到医生信息!"); @@ -92,7 +94,7 @@ public class AppointmentController { app.setHosOrgName(docInfo.getHosName()); app.setDeptName(docInfo.getDeptName()); app.setResourceName(docInfo.getResourceName()); - }else{ + } else { HpDeptInfo deptInfo = hpDeptInfoService.getById(order.getDeptId()); if (null == deptInfo) { return new R().error("未找到门诊信息!"); diff --git a/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/service/impl/HpDeptInfoServiceImpl.java b/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/service/impl/HpDeptInfoServiceImpl.java index 11d27e9488ebebb5dd4a5c589b5c737bf70abd25..00695a0ef2626e919b7e84669731bde9f39198bf 100644 --- a/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/service/impl/HpDeptInfoServiceImpl.java +++ b/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/service/impl/HpDeptInfoServiceImpl.java @@ -10,7 +10,7 @@ import cn.sh.stc.sict.theme.hphy.model.HpHosInfo; import cn.sh.stc.sict.theme.hphy.service.HpDeptInfoService; import cn.sh.stc.sict.theme.hphy.vo.DeptDoctorsVO; import cn.sh.stc.sict.theme.hphy.wd.DeptInfo; -import cn.sh.stc.sict.theme.hphy.wd.DoctInfo; +import cn.sh.stc.sict.theme.hphy.wd.OutPatInfo; import cn.sh.stc.sict.theme.hphy.wd.WanDaHttpUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -62,9 +62,14 @@ public class HpDeptInfoServiceImpl extends ServiceImpl doctors = hpDocInfoMapper.selectList(docWrapper); // 查询可预约医生信息 + // DeptInfo info = new DeptInfo(); + // List resourceDoctInfo = WanDaHttpUtil.getResourceDoctInfo(info); DeptInfo info = new DeptInfo(); - List resourceDoctInfo = WanDaHttpUtil.getResourceDoctInfo(info); + info.setHosOrgCode(deptInfo.getHosOrgCode()); + info.setOneDeptCode(deptInfo.getOneDeptCode()); + info.setDeptCode(deptInfo.getDeptCode()); + List resourceOutPatInfo = WanDaHttpUtil.getResourceOutPatInfo(info); - return new DeptDoctorsVO(hosInfo, deptInfo, doctors); + return new DeptDoctorsVO(hosInfo, deptInfo, resourceOutPatInfo, doctors); } } diff --git a/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/vo/DeptDoctorsVO.java b/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/vo/DeptDoctorsVO.java index 8276fe5e07ea165d2106923439420c320168add1..05a2955b3c3d4bbff09b84848a3e15cff1ad208a 100644 --- a/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/vo/DeptDoctorsVO.java +++ b/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/vo/DeptDoctorsVO.java @@ -3,6 +3,7 @@ package cn.sh.stc.sict.theme.hphy.vo; import cn.sh.stc.sict.theme.hphy.model.HpDeptInfo; import cn.sh.stc.sict.theme.hphy.model.HpDocInfo; import cn.sh.stc.sict.theme.hphy.model.HpHosInfo; +import cn.sh.stc.sict.theme.hphy.wd.OutPatInfo; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -20,5 +21,6 @@ import java.util.List; public class DeptDoctorsVO { private HpHosInfo hosInfo; private HpDeptInfo deptInfo; + private List resourceOutPatInfoList; private List doctors; } diff --git a/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/wd/WanDaConstant.java b/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/wd/WanDaConstant.java index af667bcfd52ae1bdb877234a3a079e480b6375ab..bb12b1e6e3f0ba91e6097a479baa0c78b28cfc51 100644 --- a/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/wd/WanDaConstant.java +++ b/smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/wd/WanDaConstant.java @@ -40,4 +40,9 @@ public class WanDaConstant { public static final String PATIENT_TYPE_NORMAL = "1"; public static final String CANCELOBJ_PATIENT = "1"; + + /** + * 医院预约方式:有卡预约 + */ + public static final String ORDER_MODEL_1 = "1"; }