|
@@ -32,6 +32,7 @@ import cn.tr.module.smart.common.service.*;
|
|
|
import cn.tr.module.smart.common.vo.BizClinicAndAssessmentVO;
|
|
import cn.tr.module.smart.common.vo.BizClinicAndAssessmentVO;
|
|
|
import cn.tr.module.smart.common.vo.BizClinicAndDeviceVO;
|
|
import cn.tr.module.smart.common.vo.BizClinicAndDeviceVO;
|
|
|
import cn.tr.module.smart.common.vo.BizClinicAndQuestionVO;
|
|
import cn.tr.module.smart.common.vo.BizClinicAndQuestionVO;
|
|
|
|
|
+import cn.tr.module.smart.web.dto.BizClinicShiftDoctorDTO;
|
|
|
import cn.tr.module.smart.web.dto.BizDeviceBindClinicDTO;
|
|
import cn.tr.module.smart.web.dto.BizDeviceBindClinicDTO;
|
|
|
import cn.tr.module.smart.web.vo.BizClinicVO;
|
|
import cn.tr.module.smart.web.vo.BizClinicVO;
|
|
|
import cn.tr.module.smart.wx.controller.vo.BizAiAgentParamVO;
|
|
import cn.tr.module.smart.wx.controller.vo.BizAiAgentParamVO;
|
|
@@ -40,6 +41,8 @@ import cn.tr.module.smart.wx.controller.vo.BizWxDeptQuestionVO;
|
|
|
import cn.tr.module.smart.wx.controller.vo.IdCardInfoVO;
|
|
import cn.tr.module.smart.wx.controller.vo.IdCardInfoVO;
|
|
|
import cn.tr.module.smart.wx.dto.*;
|
|
import cn.tr.module.smart.wx.dto.*;
|
|
|
import cn.tr.module.smart.wx.utils.Id2Utils;
|
|
import cn.tr.module.smart.wx.utils.Id2Utils;
|
|
|
|
|
+import cn.tr.module.sys.user.po.SysUserPO;
|
|
|
|
|
+import cn.tr.module.sys.user.repository.SysUserRepository;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -91,8 +94,6 @@ public class BizClinicRoomServiceImpl implements IBizClinicRoomService {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
@Lazy
|
|
@Lazy
|
|
|
private IBizClinicRoomDoctorUserService clinicRoomDoctorUserService;
|
|
private IBizClinicRoomDoctorUserService clinicRoomDoctorUserService;
|
|
|
- @Autowired
|
|
|
|
|
- private BizClinicRoomDoctorUserRepository roomDoctorUserRepository;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private BizInfusionClinicRepository infusionClinicRepository;
|
|
private BizInfusionClinicRepository infusionClinicRepository;
|
|
@@ -117,6 +118,9 @@ public class BizClinicRoomServiceImpl implements IBizClinicRoomService {
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private BizQuestionDeptRepository questionDeptRepository;
|
|
private BizQuestionDeptRepository questionDeptRepository;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private SysUserRepository sysUserRepository;
|
|
|
@Override
|
|
@Override
|
|
|
public List<BizWxAppletClinicDetailVO> stdSelectWxAppletClinicList(BizWxAppletClinicQueryDTO query) {
|
|
public List<BizWxAppletClinicDetailVO> stdSelectWxAppletClinicList(BizWxAppletClinicQueryDTO query) {
|
|
|
return baseRepository.stdSelectWxAppletClinicList(query);
|
|
return baseRepository.stdSelectWxAppletClinicList(query);
|
|
@@ -409,7 +413,7 @@ public class BizClinicRoomServiceImpl implements IBizClinicRoomService {
|
|
|
BizClinicRoomPO clinicRoom = baseRepository.stdWxAppletSelectByPatientCodeAndClinicStartTime(patientCode, clinicStartTime);
|
|
BizClinicRoomPO clinicRoom = baseRepository.stdWxAppletSelectByPatientCodeAndClinicStartTime(patientCode, clinicStartTime);
|
|
|
if (ObjectUtil.isNotNull(clinicRoom)) {
|
|
if (ObjectUtil.isNotNull(clinicRoom)) {
|
|
|
//手术已经存在,判断该手术是否已被医生监护
|
|
//手术已经存在,判断该手术是否已被医生监护
|
|
|
- BizClinicRoomDoctorUserPO clinicRoomDoctorUserPO = roomDoctorUserRepository.selectOne(new LambdaQueryWrapper<BizClinicRoomDoctorUserPO>()
|
|
|
|
|
|
|
+ BizClinicRoomDoctorUserPO clinicRoomDoctorUserPO = clinicRoomDoctorUserRepository.selectOne(new LambdaQueryWrapper<BizClinicRoomDoctorUserPO>()
|
|
|
.eq(BizClinicRoomDoctorUserPO::getClinicRoomId, clinicRoom.getId())
|
|
.eq(BizClinicRoomDoctorUserPO::getClinicRoomId, clinicRoom.getId())
|
|
|
.last("limit 1"));
|
|
.last("limit 1"));
|
|
|
if (ObjectUtil.isNotNull(clinicRoomDoctorUserPO)) {
|
|
if (ObjectUtil.isNotNull(clinicRoomDoctorUserPO)) {
|
|
@@ -600,6 +604,37 @@ public class BizClinicRoomServiceImpl implements IBizClinicRoomService {
|
|
|
return Boolean.TRUE;
|
|
return Boolean.TRUE;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * @param source
|
|
|
|
|
+ * @description: 手术切换医生
|
|
|
|
|
+ * @author wangzl
|
|
|
|
|
+ * @date 2025/9/11
|
|
|
|
|
+ */
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public Boolean shiftDoctor(BizClinicShiftDoctorDTO source) {
|
|
|
|
|
+ String doctorId = source.getDoctorId();
|
|
|
|
|
+ SysUserPO sysUserPO = sysUserRepository.selectById(doctorId);
|
|
|
|
|
+ if (ObjectUtil.isNull(sysUserPO)) {
|
|
|
|
|
+ throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001, "医生信息不存在");
|
|
|
|
|
+ }
|
|
|
|
|
+ List<String> clinicIds = source.getClinicIds();
|
|
|
|
|
+ if(clinicIds.stream().anyMatch(Objects::isNull)){
|
|
|
|
|
+ throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001, "手术信息id包含空值");
|
|
|
|
|
+ }
|
|
|
|
|
+ //先删除跟手术医生关联
|
|
|
|
|
+ clinicRoomDoctorUserRepository.delete(new LambdaQueryWrapper<BizClinicRoomDoctorUserPO>()
|
|
|
|
|
+ .in(BizClinicRoomDoctorUserPO::getClinicRoomId, clinicIds));
|
|
|
|
|
+
|
|
|
|
|
+ List<BizClinicRoomDoctorUserPO> collect = clinicIds.stream().filter(Objects::nonNull)
|
|
|
|
|
+ .map(clinicId -> {
|
|
|
|
|
+ BizClinicRoomDoctorUserPO po = new BizClinicRoomDoctorUserPO();
|
|
|
|
|
+ po.setClinicRoomId(clinicId);
|
|
|
|
|
+ po.setUserId(doctorId);
|
|
|
|
|
+ return po;
|
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
|
+ return clinicRoomDoctorUserService.saveBatch(collect);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 微信小程序基于医生已填写的信息更新数据
|
|
* 微信小程序基于医生已填写的信息更新数据
|
|
|
*/
|
|
*/
|