Browse Source

解锁病历

DESKTOP-0GD05B0\Administrator 2 years ago
parent
commit
88ef3e8777

+ 5 - 0
src/main/java/thyyxxk/webserver/controller/zhuyuanyizheng/EmrController.java

@@ -225,4 +225,9 @@ public class EmrController {
         return server.whetherItExistsInTheDepartment(patNo, times);
     }
 
+    @GetMapping("/emrSocketUnlock")
+    public ResultVo<String> emrSocketUnlock(@RequestParam("sid") String sid) {
+        return server.emrSocketUnlock(sid);
+    }
+
 }

+ 15 - 0
src/main/java/thyyxxk/webserver/service/zhuyuanyisheng/emr/EmrServer.java

@@ -28,7 +28,9 @@ import thyyxxk.webserver.service.PublicServer;
 import thyyxxk.webserver.service.externalhttp.emr.EmrEditor;
 import thyyxxk.webserver.service.redislike.RedisLikeService;
 import thyyxxk.webserver.utils.*;
+import thyyxxk.webserver.websocket.WebSocketServer;
 
+import javax.websocket.Session;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -744,4 +746,17 @@ public class EmrServer {
         return ResultVoUtil.success(zk);
     }
 
+    public ResultVo<String> emrSocketUnlock(String sid) {
+        List<Session> list = WebSocketServer.getEmrMap(sid);
+        list.removeIf(item -> {
+            if (EmrWebSocketServer.sessionParseUserCode(item).equals(TokenUtil.getTokenUserId())) {
+                WebSocketServer.emrSendMessage(item, "{\"closeSoctek\":\"true\"}");
+                return true;
+            }
+            return false;
+        });
+
+        return ResultVoUtil.success();
+    }
+
 }