comleted location upload trigger
authorTrillGates <williamtrillgates@gmail.com>
Mon, 26 Apr 2021 12:00:22 +0000 (20:00 +0800)
committerTrillGates <williamtrillgates@gmail.com>
Mon, 26 Apr 2021 12:00:22 +0000 (20:00 +0800)
app/src/main/java/com/ic/protocols/protocol_anan.java

index c3c6886..514cb71 100644 (file)
@@ -184,16 +184,16 @@ public class protocol_anan {
         AP18/*重启上行*/,
         AP31/*关机上行*/,
         AP12/*SOS名单上行*/,
-        APXL/*血压心率 上行*/,
-        APXY,
-        AP88,
-        AP15,
-        AP84,
+        APXL/*心率上行*/,
+        APXY/*血压上行*/,
+        AP88/*寻找设备*/,
+        AP15/*GPRS定位上传*/,
+        AP84/*白名单开关上行*/,
         AP14/*白名单电话本上行*/,
-        AP32/*拨号上行*/
+        AP32/*拨号上行*/,
+        APSW/*定位开关上行*/
     }
 
-
     private final static HashMap<CMD_TYPE, String> cmdMap;
 
     static {
@@ -242,7 +242,14 @@ public class protocol_anan {
         cmdMap.put(CMD_TYPE.AP18, "AP18");
         cmdMap.put(CMD_TYPE.AP32, "AP32");
         cmdMap.put(CMD_TYPE.AP15, "AP15");
-
+        cmdMap.put(CMD_TYPE.APXY, "APXY");
+        cmdMap.put(CMD_TYPE.AP84, "AP84");
+        cmdMap.put(CMD_TYPE.AP88, "AP88");
+        cmdMap.put(CMD_TYPE.AP14, "AP14");
+        cmdMap.put(CMD_TYPE.AP12, "AP12");
+        cmdMap.put(CMD_TYPE.AP31, "AP31");
+        cmdMap.put(CMD_TYPE.APXL, "APXL");
+        cmdMap.put(CMD_TYPE.APSW, "APSW");
     }
 
 
@@ -271,7 +278,6 @@ public class protocol_anan {
         //收到设备回复确认数据包接收成功状态后,继续开始依次上传下一个数据包。。。。。。
         //如果设备回复确认数据包接收失败状态,则重复发送上一个数据包
 
-
         String sb = new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP07))
                 .append(CMDSPLIT).append(packetTime)
                 .append(CMDSPLIT).append(count)
@@ -427,9 +433,7 @@ public class protocol_anan {
         //心率,收缩压,舒张压,腕部温度,环境温度,采集点编号
         //IWAPHT,60,130,85,34.6,26.3,0#
         return genStringMessage(cmdMap.get(CMD_TYPE.APHT),
-                new StringBuffer(CMDHEADER).append(
-                        cmdMap.get(CMD_TYPE.AP00)
-                ).append(CMDSPLIT)
+                new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APHT)).append(CMDSPLIT)
                         .append(runtime.getHRS().getPPG()/*心率*/)
                         .append(CMDSPLIT)
                         .append(runtime.getHRS().getBPL()/*收缩压*/)
@@ -607,9 +611,42 @@ public class protocol_anan {
                 ICLogger.d("收到拨号指令..." + cmd);
                 handleBP32(cmd, mConnection);
                 break;
+            case BPSW:
+                ICLogger.d("收到定位开关.." + cmd);
+                handleBPSW(cmd, mConnection);
+                break;
         }
     }
 
+    /**
+     * 处理终端定位上报
+     *
+     * @param cmd
+     * @param mConnection
+     */
+    private void handleBPSW(String cmd, Connection mConnection) {
+        String[] split = cmd.split(CMD_SPLIT);
+        if (split.length == 4) {
+            //IWBPSW,353456789012345,0808351,1#
+            String responseCode = split[2];
+            String value = split[3];
+            //1打开,0关闭 (终端默认为1)
+            ICLogger.d("cmd == > " + cmd);
+            //TODO:设置项进入数据库
+            //回复IWAPSW,0808351,1#
+            mConnection.send(APSW(responseCode, value));
+        } else {
+            ICLogger.d("cmd parse error...");
+        }
+    }
+
+    private static StringMessage APSW(String responseCode, String value) {
+        return genStringMessage(cmdMap.get(CMD_TYPE.APSW),
+                new StringBuilder(CMDHEADER).append(cmdMap.get(CMD_TYPE.APSW)).append(CMDSPLIT)
+                        .append(responseCode).append(CMDSPLIT)
+                        .append(value).append(CMDEND).toString());
+    }
+
     private void handleBP32(String cmd, Connection mConnection) {
         //返回AP32
         //IWBP32,353456789012345,080835,133xxxxxxxx#