|
|
@@ -797,7 +797,7 @@ public class BizClinicRoomServiceImpl implements IBizClinicRoomService {
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public Boolean bindClinic(AppDoctorBindClinicDTO source) {
|
|
|
+ public List<String> bindClinic(AppDoctorBindClinicDTO source) {
|
|
|
String userId = LoginUserStrategy.tr.getCurrentUserId();
|
|
|
|
|
|
List<String> clinicIds = source.getClinicIds();
|
|
|
@@ -807,11 +807,20 @@ public class BizClinicRoomServiceImpl implements IBizClinicRoomService {
|
|
|
List<BizClinicRoomDoctorUserPO> bizClinicRoomDoctorUserPOS = clinicRoomDoctorUserRepository.selectList(
|
|
|
new LambdaQueryWrapper<BizClinicRoomDoctorUserPO>()
|
|
|
.in(BizClinicRoomDoctorUserPO::getClinicRoomId, clinicIds));
|
|
|
+ //获取已绑定的手术ID
|
|
|
+ List<String> collect = new ArrayList<>();
|
|
|
if (CollectionUtil.isNotEmpty(bizClinicRoomDoctorUserPOS)) {
|
|
|
- throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001, "手术列表中包含已绑定的手术信息");
|
|
|
+ collect = bizClinicRoomDoctorUserPOS.stream().map(BizClinicRoomDoctorUserPO::getClinicRoomId).collect(Collectors.toList());
|
|
|
+ collect.forEach(t->clinicIds.removeIf(id->id.equals(t)));
|
|
|
}
|
|
|
//直接进行插入 因医生端绑定手术信息列表都是未进行绑定的手术信息
|
|
|
- return clinicRoomDoctorUserService.stdInsertBizClinicRoomDoctors(userId, clinicIds);
|
|
|
+ if(ObjectUtil.isNotEmpty(clinicIds)){
|
|
|
+ Boolean saveResult = clinicRoomDoctorUserService.stdInsertBizClinicRoomDoctors(userId, clinicIds);
|
|
|
+ if (!saveResult) {
|
|
|
+ throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001, "手术信息绑定失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return collect;
|
|
|
}
|
|
|
|
|
|
/**
|