提交 f32173c2 authored 作者: 杨凯's avatar 杨凯

Merge branch 'test'

...@@ -15,15 +15,15 @@ public enum ImSignStatus { ...@@ -15,15 +15,15 @@ public enum ImSignStatus {
INQUIRY_DOC("问医生", 3), INQUIRY_DOC("问医生", 3),
INQUIRY_SCH_DOC("问值班医生", 4), INQUIRY_SCH_DOC("问值班医生", 8),
HEALTH_ILLNESS_CONSULT("健康/疾病咨询", 5), HEALTH_ILLNESS_CONSULT("健康/疾病咨询", 4),
MEDIC_GUID("用药指导", 6), MEDIC_GUID("用药指导", 5),
REPORT_INTERPRET("报告解读", 7), REPORT_INTERPRET("报告解读", 6),
PRES_MEDIC("处方开药", 8), PRES_MEDIC("处方开药", 7),
REPORT_EXC("报告异常", 9), REPORT_EXC("报告异常", 9),
......
...@@ -158,32 +158,38 @@ public class ImChatTemplateImpl implements ImChatTemplate { ...@@ -158,32 +158,38 @@ public class ImChatTemplateImpl implements ImChatTemplate {
List<MessageInfo> messageInfos = new ArrayList<>(); List<MessageInfo> messageInfos = new ArrayList<>();
PatientSignInfo patientSignInfo = getPatientSignInfo(sendImMsgDTO.getAdmId()); PatientSignInfo patientSignInfo = getPatientSignInfo(sendImMsgDTO.getAdmId());
MessageInfo messageInfo = new MessageInfo(); MessageInfo messageInfo = new MessageInfo();
content = MessageFormat.format(content, patientSignInfo.getDoctorName());
if (!StringUtils.isEmpty(sendImMsgDTO.getOldAdmId())) { // 报告异常特殊处理
PatientSignInfo oldPatientSignInfo = getPatientSignInfo(sendImMsgDTO.getOldAdmId()); if (MsgTempTypeEnum.REP_ANO.getValue().equals(sendImMsgDTO.getType())) {
content = MessageFormat.format(content, oldPatientSignInfo.getDoctorName(), patientSignInfo.getDoctorName()); content = MessageFormat.format(content, patientSignInfo.getDoctorName(), sendImMsgDTO.getIntention());
} else {
// 改签的时候判断患者健康计划是否开启,开启则不发送健康计划信息 if (!StringUtils.isEmpty(sendImMsgDTO.getOldAdmId())) {
if (MsgTempTypeEnum.UP_SUC.getValue().equals(sendImMsgDTO.getType())) { if (MsgTempTypeEnum.UP_SUC.getValue().equals(sendImMsgDTO.getType())) {
if (!Objects.nonNull(componentsList.get(i).getConditionFlag()) content = MessageFormat.format(content, patientSignInfo.getDoctorName());
&& CommonConstants.STATUS_VALID.equals(componentsList.get(i).getConditionFlag())) { if (!Objects.nonNull(componentsList.get(i).getConditionFlag())
// 查询用户健康计划是否开启状态 && CommonConstants.STATUS_VALID.equals(componentsList.get(i).getConditionFlag())) {
HealthInfoDTO healthInfoDTO = new HealthInfoDTO(); // 查询用户健康计划是否开启状态
healthInfoDTO.setPhone(patientSignInfo.getPatientPhone()); HealthInfoDTO healthInfoDTO = new HealthInfoDTO();
String result = thirdOrderPushUtil.getHealthSchStatus(healthInfoDTO); healthInfoDTO.setPhone(patientSignInfo.getPatientPhone());
if (!StringUtils.isEmpty(result)) { String result = thirdOrderPushUtil.getHealthSchStatus(healthInfoDTO);
Result<String> hssResult = JSON.parseObject(result, Result.class); if (!StringUtils.isEmpty(result)) {
if (hssResult.isSuccess() && CommonConstants.STATUS_VALID.equals(hssResult.getData())) { Result<String> hssResult = JSON.parseObject(result, Result.class);
continue; if (hssResult.isSuccess() && CommonConstants.STATUS_VALID.equals(hssResult.getData())) {
continue;
}
} }
} }
} else {
PatientSignInfo oldPatientSignInfo = getPatientSignInfo(sendImMsgDTO.getOldAdmId());
log.info("之前的doctorName={}", oldPatientSignInfo.getDoctorName());
log.info("来源的doctorName={}", oldPatientSignInfo.getDoctorName());
content = MessageFormat.format(content, oldPatientSignInfo.getDoctorName(), patientSignInfo.getDoctorName());
} }
} else {
content = MessageFormat.format(content, patientSignInfo.getDoctorName());
} }
}
// 报告异常特殊处理
if (MsgTempTypeEnum.REP_ANO.getValue().equals(sendImMsgDTO.getType())) {
content = MessageFormat.format(content, patientSignInfo.getDoctorName(), sendImMsgDTO.getIntention());
} }
if (SenderEnum.DOCTOR.getDesc().equals(componentsList.get(i).getSender())) { if (SenderEnum.DOCTOR.getDesc().equals(componentsList.get(i).getSender())) {
......
...@@ -37,6 +37,7 @@ import java.util.Date; ...@@ -37,6 +37,7 @@ import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.Random; import java.util.Random;
import java.util.stream.Collectors;
/** /**
* @ClassName: PatientServiceImpl * @ClassName: PatientServiceImpl
...@@ -97,6 +98,17 @@ public class PatientServiceImpl implements PatientService { ...@@ -97,6 +98,17 @@ public class PatientServiceImpl implements PatientService {
String doctorName = reqVo.getDoctorName(); String doctorName = reqVo.getDoctorName();
Long deptId = reqVo.getDeptId(); Long deptId = reqVo.getDeptId();
String deptName = reqVo.getDeptName(); String deptName = reqVo.getDeptName();
PatientSignEntity oldPatientSignEntity = new PatientSignEntity();
// 改签或者排班医生获取签约的id
if (!SignStatus.SIGNED.getValue().equals(reqVo.getSignStatus())) {
QueryWrapper<PatientSignEntity> psWrapper = new QueryWrapper<>();
PatientSignEntity patientSign = new PatientSignEntity();
patientSign.setAdmId(reqVo.getAdmId());
psWrapper.setEntity(patientSign);
oldPatientSignEntity = patientSignMapper.selectOne(psWrapper);
}
if (!SignStatus.NORMAL.getValue().equals(reqVo.getSignStatus())) { if (!SignStatus.NORMAL.getValue().equals(reqVo.getSignStatus())) {
List<PatientSignEntity> patientSignEntities = getPatientSignList(reqVo.getPhone(), reqVo.getPackageOrderId(), List<PatientSignEntity> patientSignEntities = getPatientSignList(reqVo.getPhone(), reqVo.getPackageOrderId(),
reqVo.getSignStatus(), StatusEnum.IN_CONSULTATION.getValue()); reqVo.getSignStatus(), StatusEnum.IN_CONSULTATION.getValue());
...@@ -112,6 +124,7 @@ public class PatientServiceImpl implements PatientService { ...@@ -112,6 +124,7 @@ public class PatientServiceImpl implements PatientService {
if (Objects.nonNull(reqVo.getSignSeqId())) { if (Objects.nonNull(reqVo.getSignSeqId())) {
patientSign.setId(Long.valueOf(reqVo.getSignSeqId())); patientSign.setId(Long.valueOf(reqVo.getSignSeqId()));
} }
patientSign.setSignStatus(SignStatus.NORMAL.getValue());
psWrapper.setEntity(patientSign); psWrapper.setEntity(patientSign);
PatientSignEntity patientSignEntity = patientSignMapper.selectOne(psWrapper); PatientSignEntity patientSignEntity = patientSignMapper.selectOne(psWrapper);
if (Objects.nonNull(patientSignEntity)) { if (Objects.nonNull(patientSignEntity)) {
...@@ -119,25 +132,17 @@ public class PatientServiceImpl implements PatientService { ...@@ -119,25 +132,17 @@ public class PatientServiceImpl implements PatientService {
} }
// 查询排班医生信息 // 查询排班医生信息
ScheduleRecordEntity scheduleRecordEntity = getScheduleDoctor(reqVo.getPatientId()); ScheduleRecordEntity scheduleRecordEntity = getScheduleDoctor(reqVo.getPatientId(), oldPatientSignEntity.getDoctorId());
doctorId = Long.valueOf(scheduleRecordEntity.getDoctorId()); doctorId = Long.valueOf(scheduleRecordEntity.getDoctorId());
doctorName = scheduleRecordEntity.getDoctorName(); doctorName = scheduleRecordEntity.getDoctorName();
deptId = Long.valueOf(scheduleRecordEntity.getDeptId()); deptId = Long.valueOf(scheduleRecordEntity.getDeptId());
deptName = scheduleRecordEntity.getDeptName(); deptName = scheduleRecordEntity.getDeptName();
} }
PatientSignEntity oldPatientSignEntity = new PatientSignEntity();
// 改签或者排班医生获取签约的id
if (!SignStatus.SIGNED.getValue().equals(reqVo.getSignStatus())) {
QueryWrapper<PatientSignEntity> psWrapper = new QueryWrapper<>();
PatientSignEntity patientSign = new PatientSignEntity();
patientSign.setAdmId(reqVo.getAdmId());
psWrapper.setEntity(patientSign);
oldPatientSignEntity = patientSignMapper.selectOne(psWrapper);
}
// 处理换绑医生 // 处理换绑医生
if ((!StringUtils.isEmpty(reqVo.getAdmId()) || !StringUtils.isEmpty(reqVo.getSignSeqId()) if ((!StringUtils.isEmpty(reqVo.getAdmId()) || !StringUtils.isEmpty(reqVo.getSignSeqId()))
&& SignStatus.CANCEL.getValue().equals(reqVo.getSignStatus()))) { && SignStatus.CANCEL.getValue().equals(reqVo.getSignStatus())) {
QueryWrapper<PatientSignEntity> psWrapper = new QueryWrapper<>(); QueryWrapper<PatientSignEntity> psWrapper = new QueryWrapper<>();
PatientSignEntity patientSign = new PatientSignEntity(); PatientSignEntity patientSign = new PatientSignEntity();
if (Objects.nonNull(reqVo.getAdmId())) { if (Objects.nonNull(reqVo.getAdmId())) {
...@@ -215,17 +220,10 @@ public class PatientServiceImpl implements PatientService { ...@@ -215,17 +220,10 @@ public class PatientServiceImpl implements PatientService {
notifyConsultDataDTO.setSupplierCode(CommonConstants.SUPPLIER_CODE_JTYS); notifyConsultDataDTO.setSupplierCode(CommonConstants.SUPPLIER_CODE_JTYS);
thirdOrderPushUtil.syncBenefitUsedOrder(notifyConsultDataDTO); thirdOrderPushUtil.syncBenefitUsedOrder(notifyConsultDataDTO);
} else { } else {
QueryWrapper<PatientSignEntity> psWrapper = new QueryWrapper<>(); if (Objects.nonNull(oldPatientSignEntity)) {
PatientSignEntity patientSign = new PatientSignEntity(); sendImMsgDTO.setOldAdmId(oldPatientSignEntity.getAdmId());
if (Objects.nonNull(reqVo.getAdmId())) {
patientSign.setAdmId(reqVo.getAdmId());
}
psWrapper.setEntity(patientSign);
PatientSignEntity pse = patientSignMapper.selectOne(psWrapper);
if (null == pse) {
throw new BusinessException("未查询到签约信息,不能获取排班医生!");
} }
sendImMsgDTO.setOldAdmId(pse.getAdmId());
} }
//放入MQ任务,处理订单到时结束 //放入MQ任务,处理订单到时结束
...@@ -283,7 +281,7 @@ public class PatientServiceImpl implements PatientService { ...@@ -283,7 +281,7 @@ public class PatientServiceImpl implements PatientService {
* @param patientId * @param patientId
* @return * @return
*/ */
public ScheduleRecordEntity getScheduleDoctor(String patientId) { public ScheduleRecordEntity getScheduleDoctor(String patientId, Long doctorId) {
String date = DateUtils.dateToSimpleString(new Date()); String date = DateUtils.dateToSimpleString(new Date());
String hourAndSecond = DateUtils.getHourAndSecond(); String hourAndSecond = DateUtils.getHourAndSecond();
QueryWrapper<PatientSignEntity> psWrapper = new QueryWrapper<>(); QueryWrapper<PatientSignEntity> psWrapper = new QueryWrapper<>();
...@@ -293,13 +291,17 @@ public class PatientServiceImpl implements PatientService { ...@@ -293,13 +291,17 @@ public class PatientServiceImpl implements PatientService {
patientSign.setStatus(StatusEnum.IN_CONSULTATION.getValue()); patientSign.setStatus(StatusEnum.IN_CONSULTATION.getValue());
psWrapper.setEntity(patientSign); psWrapper.setEntity(patientSign);
List<PatientSignEntity> patientSignEntities = patientSignMapper.selectList(psWrapper); List<PatientSignEntity> patientSignEntities = patientSignMapper.selectList(psWrapper);
if (CollectionUtils.isEmpty(patientSignEntities)) { if (!CollectionUtils.isEmpty(patientSignEntities)) {
throw new BusinessException("已有进行中排班医生沟通,请勿重复点击"); throw new BusinessException("已有进行中排班医生沟通,请勿重复点击");
} }
// 查询排班医生信息 // 查询排班医生信息
List<ScheduleRecordEntity> scheduleRecordEntities = scheduleRecordMapper.selectByDate(CommonConstants.APP_CODE, 4, date, 1, hourAndSecond); List<ScheduleRecordEntity> scheduleRecordEntities = scheduleRecordMapper.selectByDate(String.valueOf(CommonConstants.ORGAN_CODE), 5, date, 1, hourAndSecond);
log.info("当前排班医生:{}", JSON.toJSONString(scheduleRecordEntities)); log.info("当前排班医生:{}", JSON.toJSONString(scheduleRecordEntities));
if (!CollectionUtils.isEmpty(scheduleRecordEntities)){
scheduleRecordEntities.stream().filter(scheduleRecordEntity -> !scheduleRecordEntity.getDoctorId().equals(doctorId)).collect(Collectors.toList());
}
if (CollectionUtils.isEmpty(scheduleRecordEntities)) { if (CollectionUtils.isEmpty(scheduleRecordEntities)) {
throw new BusinessException("暂无排班医生,请稍后重试"); throw new BusinessException("暂无排班医生,请稍后重试");
} }
......
...@@ -7,6 +7,7 @@ import com.doctoruser.api.pojo.base.vo.doctor.PersonnelInfo; ...@@ -7,6 +7,7 @@ import com.doctoruser.api.pojo.base.vo.doctor.PersonnelInfo;
import com.ebaiyihui.family.doctor.common.bo.DoctorInfo; import com.ebaiyihui.family.doctor.common.bo.DoctorInfo;
import com.ebaiyihui.family.doctor.common.dto.*; import com.ebaiyihui.family.doctor.common.dto.*;
import com.ebaiyihui.family.doctor.common.vo.*; import com.ebaiyihui.family.doctor.common.vo.*;
import com.ebaiyihui.family.doctor.server.common.constants.CommonConstants;
import com.ebaiyihui.family.doctor.server.common.enums.WhetherEnum; import com.ebaiyihui.family.doctor.server.common.enums.WhetherEnum;
import com.ebaiyihui.family.doctor.server.entity.ScheduleRecordEntity; import com.ebaiyihui.family.doctor.server.entity.ScheduleRecordEntity;
import com.ebaiyihui.family.doctor.server.feign.DoctorInfofeignClient; import com.ebaiyihui.family.doctor.server.feign.DoctorInfofeignClient;
...@@ -162,7 +163,8 @@ public class ScheduleRecordServiceImpl implements ScheduleRecordService { ...@@ -162,7 +163,8 @@ public class ScheduleRecordServiceImpl implements ScheduleRecordService {
timeIntervalEntity.setDoctorId(requestGetScheduleForWeekDTO.getDoctorId()); timeIntervalEntity.setDoctorId(requestGetScheduleForWeekDTO.getDoctorId());
timeIntervalEntity.setDeptId(String.valueOf(requestGetScheduleForWeekDTO.getDeptId())); timeIntervalEntity.setDeptId(String.valueOf(requestGetScheduleForWeekDTO.getDeptId()));
timeIntervalEntity.setScheduleDate(weekDay); timeIntervalEntity.setScheduleDate(weekDay);
timeIntervalEntity.setScheduleRange(1); timeIntervalEntity.setScheduleRange(CommonConstants.STATUS_VALID);
timeIntervalEntity.setStatus(CommonConstants.STATUS_VALID);
queryWrapper.setEntity(timeIntervalEntity); queryWrapper.setEntity(timeIntervalEntity);
List<ScheduleRecordEntity> scheduleTimeIntervalEntities = scheduleRecordMapper.selectList(queryWrapper); List<ScheduleRecordEntity> scheduleTimeIntervalEntities = scheduleRecordMapper.selectList(queryWrapper);
List<ScheduleTimeSaveListVo> scheduleTimeSaveListVos = new ArrayList<>(); List<ScheduleTimeSaveListVo> scheduleTimeSaveListVos = new ArrayList<>();
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论