瀏覽代碼

医生修改绑定关系时判断病人是否已被成功看护

18339543638 3 年之前
父節點
當前提交
be38694e4f

+ 1 - 0
nb-im/src/main/java/com/nb/im/controller/ImRoomController.java

@@ -73,6 +73,7 @@ public class ImRoomController implements BaseSaveController<ImRoomEntity,String>
                 .eq(ImRoomEntity::getDoctorId, source.getDoctorId())
                 .eq(ImRoomEntity::getPatientId, source.getPatientId())
                 .in(ImRoomEntity::getStatus,ImStatusEnum.WAITING,ImStatusEnum.SUCCESS)
+                .orderByDesc(ImRoomEntity::getCreateTime)
                 .last("limit 1"));
         if(chatRoom==null&&source.isAutoCreate()){
             source.setTotalCount(0);

+ 10 - 0
nb-service/app-assistant/src/main/java/com/nb/app/assistant/service/LocalAssistantUserBindService.java

@@ -410,6 +410,16 @@ public class LocalAssistantUserBindService extends BaseService<AssistantUserBind
         if(userBind==null){
             return true;
         }
+        if(!StrUtil.equals(userBind.getPatientId(),param.getPatientId())){
+            //病号未发生改变,判断该病人是否已被他人监护
+            AssistantUserBindEntity exist = this.getOne(new LambdaQueryWrapper<AssistantUserBindEntity>().
+                    eq(AssistantUserBindEntity::getPatientId, param.getPatientId())
+                    .eq(AssistantUserBindEntity::getStatus, BindEnum.SUCCESS)
+                    .last("limit 1"));
+            if(exist!=null){
+                throw new CustomException("该病人已被他人看护,请重新选择");
+            }
+        }
         boolean result = this.update(new UpdateWrapper<AssistantUserBindEntity>()
                 .lambda()
                 .eq(AssistantUserBindEntity::getId, param.getBindId())