|
@@ -427,6 +427,9 @@ public class BizClinicRoomServiceImpl implements IBizClinicRoomService {
|
|
|
clinicRoomDoctorUserService.stdInsertBizClinicRoomDoctor(userId, clinicRoom.getId());
|
|
clinicRoomDoctorUserService.stdInsertBizClinicRoomDoctor(userId, clinicRoom.getId());
|
|
|
//更新监护信息
|
|
//更新监护信息
|
|
|
updateClinicInfoBaseOnDoctorByWxApplet(clinicRoom, source);
|
|
updateClinicInfoBaseOnDoctorByWxApplet(clinicRoom, source);
|
|
|
|
|
+ clinicRoom.setClinicStatus(ClinicPhaseEnums.BEFORE);
|
|
|
|
|
+ clinicRoom.setClinicStartTime(source.getClinicStartTime());
|
|
|
|
|
+ clinicRoom.setClinicEndTime(null);
|
|
|
baseRepository.updateById(clinicRoom);
|
|
baseRepository.updateById(clinicRoom);
|
|
|
} else {
|
|
} else {
|
|
|
//手术不存在,则新增手术信息
|
|
//手术不存在,则新增手术信息
|
|
@@ -489,6 +492,10 @@ public class BizClinicRoomServiceImpl implements IBizClinicRoomService {
|
|
|
public List<WxDoctorClinicRoomThumbnailVO> stdAppSelectListByPatientCode(AppDoctorClinicQueryByPatientCodeDTO source) {
|
|
public List<WxDoctorClinicRoomThumbnailVO> stdAppSelectListByPatientCode(AppDoctorClinicQueryByPatientCodeDTO source) {
|
|
|
return baseRepository.stdAppselectListByPatientCode(source);
|
|
return baseRepository.stdAppselectListByPatientCode(source);
|
|
|
}
|
|
}
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public List<WxDoctorClinicRoomThumbnailVO> stdAppSelectListByPatientCodeLast(AppDoctorClinicQueryByPatientCodeDTO source) {
|
|
|
|
|
+ return baseRepository.stdAppselectListByPatientCodeLast(source);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public AppDoctorInfusionHistoryVO selectByClinicRoomAndPatientByClinicId(String clinicId) {
|
|
public AppDoctorInfusionHistoryVO selectByClinicRoomAndPatientByClinicId(String clinicId) {
|
|
@@ -644,6 +651,47 @@ public class BizClinicRoomServiceImpl implements IBizClinicRoomService {
|
|
|
return clinicRoomDoctorUserService.saveBatch(collect);
|
|
return clinicRoomDoctorUserService.saveBatch(collect);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * @param source
|
|
|
|
|
+ * @description: 医生端对最新收信息进行更新绑定
|
|
|
|
|
+ * @author wangzl
|
|
|
|
|
+ * @date 2025/9/22
|
|
|
|
|
+ */
|
|
|
|
|
+ @Override
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
|
+ public Boolean stdBindLastClinic(BizClinicAddOrEditDTO source) {
|
|
|
|
|
+ BizClinicRoomPO clinicRoom = baseRepository.selectById(source.getClinicRoomIdApp());
|
|
|
|
|
+ if (ObjectUtil.isNull(clinicRoom)) {
|
|
|
|
|
+ throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001, "手术信息不存在");
|
|
|
|
|
+ }
|
|
|
|
|
+ String userId = LoginUserStrategy.tr.getCurrentUserId();
|
|
|
|
|
+ String patientCode = source.getPatientCode();
|
|
|
|
|
+ Date clinicStartTime = source.getClinicStartTime();
|
|
|
|
|
+ //手术已经存在,判断该手术是否已被医生监护
|
|
|
|
|
+ BizClinicRoomDoctorUserPO clinicRoomDoctorUserPO = clinicRoomDoctorUserRepository.selectOne(new LambdaQueryWrapper<BizClinicRoomDoctorUserPO>()
|
|
|
|
|
+ .eq(BizClinicRoomDoctorUserPO::getClinicRoomId, clinicRoom.getId())
|
|
|
|
|
+ .last("limit 1"));
|
|
|
|
|
+ if (ObjectUtil.isNotNull(clinicRoomDoctorUserPO)) {
|
|
|
|
|
+ if (ObjectUtil.equal(clinicRoomDoctorUserPO.getUserId(), userId)) {
|
|
|
|
|
+ throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001, String.format("住院号{%s}于{%s}已存在手术:{%s},请勿重复添加", patientCode, DateUtil.formatDate(clinicStartTime), clinicRoom.getClinicName()));
|
|
|
|
|
+ } else {
|
|
|
|
|
+ throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001, String.format("住院号{%s}于{%s}已存在手术:{%s},已被其他医生看护", patientCode, DateUtil.formatDate(clinicStartTime), clinicRoom.getClinicName()));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ //若未监护,则证明该手术是由医生端发起的,添加监护信息(手术信息以医生输入为主,如果医生没有输入,则按照病人输入的来)
|
|
|
|
|
+ clinicRoomDoctorUserService.stdInsertBizClinicRoomDoctor(userId, clinicRoom.getId());
|
|
|
|
|
+ //更新监护信息
|
|
|
|
|
+ updateClinicInfoBaseOnDoctorByWxApplet(clinicRoom, source);
|
|
|
|
|
+ //更新医生录入手术信息
|
|
|
|
|
+ clinicRoom.setClinicStatus(ClinicPhaseEnums.BEFORE);
|
|
|
|
|
+ clinicRoom.setClinicStartTime(clinicStartTime);
|
|
|
|
|
+ clinicRoom.setClinicEndTime(null);
|
|
|
|
|
+ clinicRoom.setDeptId(source.getDeptId());
|
|
|
|
|
+ clinicRoom.setDeptName(source.getDeptName());
|
|
|
|
|
+ clinicRoom.setClinicName(source.getClinicName());
|
|
|
|
|
+ return baseRepository.updateById(clinicRoom)!=0;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 微信小程序基于医生已填写的信息更新数据
|
|
* 微信小程序基于医生已填写的信息更新数据
|
|
|
*/
|
|
*/
|