Explorar o código

分机端增加紧急按呼叫钮取消功能

weizhengliang hai 1 mes
pai
achega
8f5c1373cf

+ 16 - 0
android_bed/src/main/java/com/wdkl/app/ncs/callingbed/activity/CallingbedActivity.kt

@@ -1644,6 +1644,14 @@ class CallingbedActivity :BaseActivity<BedCallingbedActivityPresenter, Callingbe
             return
         }
 
+        if (status == "@") {
+            //紧急呼叫取消
+            if (Constant.sosInteractionId != null && Constant.DEVICE_ID != -1) {
+                OtherUtil.sendSosButtonCancel(Constant.DEVICE_ID, Constant.sosInteractionId)
+            }
+            return
+        }
+
         val jsonWithEscapes = Constant.device_button_function
         val decodedJson = StringEscapeUtils.unescapeHtml4(jsonWithEscapes)
         val buttonListType = object : TypeToken<List<ButtonType>>() {}.type
@@ -2156,6 +2164,14 @@ class CallingbedActivity :BaseActivity<BedCallingbedActivityPresenter, Callingbe
                         } else if (tcpModel.action == TcpAction.SideAction.NURSING_END) {
 
                         } else {
+                            if (tcpModel.action == TcpAction.SideAction.SOS_CALL) {
+                                //记录交互id用于取消紧急呼叫
+                                if (tcpModel.data != null) {
+                                    val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
+                                    Constant.sosInteractionId = interactionVO.id
+                                }
+                            }
+
                             DoorLightHelper.handleDoorLight(tcpModel)
                         }
 

+ 3 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/common/Constant.java

@@ -310,6 +310,9 @@ public class Constant {
     //Interaction ID
     public static Integer interactionId = -1;
 
+    //紧急呼叫interactionId
+    public static Integer sosInteractionId = null;
+
     //设备是否有camera
     public static boolean supportCamera = false;
 

+ 16 - 2
middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/channel/OtherUtil.java

@@ -36,13 +36,22 @@ public class OtherUtil {
         return tcpModel;
     }
 
-    public static TcpModel SOSCancel(Integer fromId, Integer toId,Integer InteractionId){
+    public static TcpModel SOSButtonCancel(Integer fromId, Integer interactionId){
+        TcpModel tcpModel = new TcpModel(null);
+        tcpModel.setType(TcpType.SOS);
+        tcpModel.setAction(TcpAction.SOSAction.CANCEL);
+        tcpModel.setFromId(fromId);
+        tcpModel.setData(interactionId);
+        return tcpModel;
+    }
+
+    public static TcpModel SOSCancel(Integer fromId, Integer toId,Integer interactionId){
         TcpModel tcpModel = new TcpModel(null);
         tcpModel.setType(TcpType.SOS);
         tcpModel.setAction(TcpAction.SOSAction.CANCEL);
         tcpModel.setFromId(fromId);
         tcpModel.setToId(toId);
-        tcpModel.setData(InteractionId);
+        tcpModel.setData(interactionId);
         return tcpModel;
     }
 
@@ -156,6 +165,11 @@ public class OtherUtil {
         TcpClient.getInstance().sendMsg(tcpModel.toJson());
     }
 
+    public static void sendSosButtonCancel(Integer fromId, Integer interactionId) {
+        TcpModel tcpModel = OtherUtil.SOSButtonCancel(fromId, interactionId);
+        TcpClient.getInstance().sendMsg(tcpModel.toJson());
+    }
+
     public static void cancelSosCall(Integer fromId, Integer toId, Integer interactionId) {
         TcpModel tcpModel = OtherUtil.SOSCancel(fromId, toId, interactionId);
         TcpClient.getInstance().sendMsg(tcpModel.toJson());