Преглед на файлове

修改手柄掉线tcp消息

vothin преди 10 месеца
родител
ревизия
18d44ae3d0

+ 2 - 2
i18n/es_ES-西班牙语.tr

@@ -269,7 +269,7 @@
 	<string name="CallOutTitle">Llamar enfermería</string>
 	<string name="Call">Llamar</string>
     <!-- 更多界面 -->
-	<string name="DeviceInfo">Equipo Info</string>
+	<string name="DeviceInfo">Información del dispositivo</string>
 	<string name="DeviceDebug">Depuración del dispositivo</string>
 	<string name="Null">Ninguno</string>
 	<string name="InDate">Fecha de admisión</string>
@@ -294,7 +294,7 @@
 	<string name="RestartTime">Temporizador de reinicio:</string>
 	<string name="ScanQRCode">Esc. QR</string>
     <!-- 注册界面 -->
-	<string name="DeviceAdd">Registro Equipo</string>
+	<string name="DeviceAdd">Registro de dispositivo</string>
 	<string name="DeviceLocal">local</string>
 	<string name="DeviceExtension1">m1</string>
 	<string name="DeviceExtension2">m2</string>

+ 9 - 0
jni/logic/mainLogic.cc

@@ -170,6 +170,15 @@ static void getFrameInfo() {
 	mRoomNameTextViewPtr->setText(frameInfo["full_name"].asString());
 }
 
+std::string getFrameFullName() {
+	if (frameInfo.isMember("full_name")) {
+		return frameInfo["full_name"].asString();
+	}
+	else {
+		return "";
+	}
+}
+
 static void getBedCount() {
 	if (mActivityPtr == NULL) {
 		return;

+ 5 - 1
jni/logic/moreLogic.cc

@@ -231,7 +231,11 @@ static int getListItemCount_DeviceMenuListView(const ZKListView *pListView) {
 
 static void obtainListItemData_DeviceMenuListView(ZKListView *pListView,ZKListView::ZKListItem *pListItem, int index) {
     //LOGD(" obtainListItemData_ DeviceMenuListView  !!!\n");
-	pListItem->setText(deviceMenus[index]["name"].asCString());
+	string name = deviceMenus[index]["name"].asString();
+	if (name.size() > 12) {
+		name = name.substr(0, 12) + " \n" + name.substr(12);
+	}
+	pListItem->setText(name);
 //	pListItem->findSubItemByID(ID_MORE_IntroductionSubItem)->setText(deviceMenus[index]["introduction"].asCString());
 	pListItem->findSubItemByID(ID_MORE_DeviceMenuPicSubItem)->setBackgroundPic(deviceMenus[index]["icon_src"].asCString());
 

+ 19 - 13
jni/logic/startLogic.cc

@@ -626,7 +626,7 @@ void handleHCall(int id) {
 	}
 	else {
 		string errorMsg = LANGUAGEMANAGER->getValue("HandleError") +
-				StoragePreferences::getString(STORE_MAC_ADDR, "0.0.0.0") + ":h" + to_string(id) +
+				StoragePreferences::getString(STORE_MAC_ADDR, "0.0.0.0") + ":h" + to_string(id) + " \n" +
 				LANGUAGEMANAGER->getValue("NotAdd");
 	    Intent* intent = new Intent();
 		intent->putExtra(functionWindows, "warn");
@@ -938,6 +938,7 @@ static void onProtocolDataUpdate(const SProtocolData &data) {
 			else if (data.state == "1") {
 				if (isTriggerHandle) {
 					isTriggerHandle = false;
+					isConnectHandle = true;
 
 					voip::CallInfo info = GetTelephone()->GetCallInfo();
 					//拨打 或 挂断
@@ -955,10 +956,10 @@ static void onProtocolDataUpdate(const SProtocolData &data) {
 				isConnectHandle = true;
 			}
 			else if (data.state == "4") {
-				if (!isConnectHandle) {
+				if (!isConnectHandle || StoragePreferences::getInt(STORE_DEVICE_ID, 0) == 0) {
 					return;
 				}
-				sosCall(LANGUAGEMANAGER->getValue("HandleDisconnected"));
+				sendDataRemindOhter(getFrameFullName() + " " + LANGUAGEMANAGER->getValue("HandleDisconnected"));
 			}
 
 		}
@@ -981,6 +982,7 @@ static void onProtocolDataUpdate(const SProtocolData &data) {
 			}
 			else if (data.state == "1") {
 				if (isTriggerSos) {
+					isConnectSos = true;
 					sendSosCall("");
 
 					// SOS亮红灯
@@ -999,11 +1001,11 @@ static void onProtocolDataUpdate(const SProtocolData &data) {
 				isConnectSos = true;
 			}
 			else if (data.state == "4") {
-				if (!isConnectSos) {
+				if (!isConnectSos || StoragePreferences::getInt(STORE_DEVICE_ID, 0) == 0) {
 					return;
 				}
 
-				sosCall(LANGUAGEMANAGER->getValue("SosDisconnected"));
+				sendDataRemindOhter(getFrameFullName() + " " + LANGUAGEMANAGER->getValue("SosDisconnected"));
 			}
 
 		}
@@ -1052,6 +1054,7 @@ static void onProtocolDataUpdate(const SProtocolData &data) {
 			else if (data.state == "1") {
 				if (isTriggerHandle1) {
 					isTriggerHandle1 = false;
+					isConnectHandle1 = true;
 
 					handleHCall(1);
 				}
@@ -1061,10 +1064,10 @@ static void onProtocolDataUpdate(const SProtocolData &data) {
 				isConnectHandle1 = true;
 			}
 			else if (data.state == "4") {
-				if (!isConnectHandle1) {
+				if (!isConnectHandle1 || StoragePreferences::getInt(STORE_DEVICE_ID, 0) == 0) {
 					return;
 				}
-				sosCall(LANGUAGEMANAGER->getValue("Handle1Disconnected"));
+				sendDataRemindOhter(getFrameFullName() + " " + LANGUAGEMANAGER->getValue("Handle1Disconnected"));
 			}
 		}
 		else if (data.cmd == "HANDKEY10") {
@@ -1079,6 +1082,7 @@ static void onProtocolDataUpdate(const SProtocolData &data) {
 			else if (data.state == "1") {
 				if (isTriggerHandle2) {
 					isTriggerHandle2 = false;
+					isConnectHandle2 = true;
 
 					handleHCall(2);
 				}
@@ -1087,11 +1091,11 @@ static void onProtocolDataUpdate(const SProtocolData &data) {
 				LOGD("手柄2在线");
 				isConnectHandle2 = true;
 			}
-			else if (data.state == "4") {
+			else if (data.state == "4" || StoragePreferences::getInt(STORE_DEVICE_ID, 0) == 0) {
 				if (!isConnectHandle2) {
 					return;
 				}
-				sosCall(LANGUAGEMANAGER->getValue("Handle2Disconnected"));
+				sendDataRemindOhter(getFrameFullName() + " " + LANGUAGEMANAGER->getValue("Handle2Disconnected"));
 			}
 		}
 		else if (data.cmd == "HANDKEY20") {
@@ -1106,6 +1110,7 @@ static void onProtocolDataUpdate(const SProtocolData &data) {
 			else if (data.state == "1") {
 				if (isTriggerHandle3) {
 					isTriggerHandle3 = false;
+					isConnectHandle3 = true;
 
 					handleHCall(3);
 				}
@@ -1114,11 +1119,11 @@ static void onProtocolDataUpdate(const SProtocolData &data) {
 				LOGD("手柄3在线");
 				isConnectHandle3 = true;
 			}
-			else if (data.state == "4") {
+			else if (data.state == "4" || StoragePreferences::getInt(STORE_DEVICE_ID, 0) == 0) {
 				if (!isConnectHandle3) {
 					return;
 				}
-				sosCall(LANGUAGEMANAGER->getValue("Handle3Disconnected"));
+				sendDataRemindOhter(getFrameFullName() + " " + LANGUAGEMANAGER->getValue("Handle3Disconnected"));
 			}
 		}
 		else if (data.cmd == "HANDKEY30") {
@@ -1133,6 +1138,7 @@ static void onProtocolDataUpdate(const SProtocolData &data) {
 			else if (data.state == "1") {
 				if (isTriggerHandle4) {
 					isTriggerHandle4 = false;
+					isConnectHandle4 = true;
 
 					handleHCall(4);
 				}
@@ -1141,11 +1147,11 @@ static void onProtocolDataUpdate(const SProtocolData &data) {
 				LOGD("手柄4在线");
 				isConnectHandle4 = true;
 			}
-			else if (data.state == "4") {
+			else if (data.state == "4" || StoragePreferences::getInt(STORE_DEVICE_ID, 0) == 0) {
 				if (!isConnectHandle4) {
 					return;
 				}
-				sosCall(LANGUAGEMANAGER->getValue("Handle4Disconnected"));
+				sendDataRemindOhter(getFrameFullName() + " " + LANGUAGEMANAGER->getValue("Handle4Disconnected"));
 			}
 		}
 		else {

+ 2 - 0
jni/net/tcp_model.h

@@ -85,6 +85,8 @@ public:
 class DataAction {
 public:
 	inline static std::string REFRESH = "REFRESH";
+	inline static std::string REMIND = "REMIND";
+	inline static std::string REMIND_OTHER = "REMIND_OTHER";
 };
 
 class ReinforceAction {

+ 25 - 0
jni/net/tcp_util.cpp

@@ -24,6 +24,7 @@ void sendAuthLogin(std::string clerkNfc) {
     tcpModel.type = TcpType::AUTH;
     tcpModel.action = AuthAction::LOGIN;
     tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
+    tcpModel.to_id = 0;
     tcpModel.json = json;
 
     sendTcpModel(tcpModel);
@@ -54,6 +55,7 @@ void sendSignIn(std::string clerkNfc) {
     tcpModel.type = TcpType::SIGN_IN;
     tcpModel.action = SignInAction::SIGN_IN;
     tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
+    tcpModel.to_id = 0;
     tcpModel.json = json;
 
     sendTcpModel(tcpModel);
@@ -70,6 +72,7 @@ void sendPostionStart(std::string clerkNfc) {
 	tcpModel.type = TcpType::POSITION;
 	tcpModel.action = PositionAction::POSITION_START;
 	tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
+    tcpModel.to_id = 0;
 	tcpModel.json = json;
 	sendTcpModel(tcpModel);
 }
@@ -85,6 +88,7 @@ void sendRoomCheckStart(std::string clerkNfc) {
 	tcpModel.type = TcpType::ROOMCHECK;
 	tcpModel.action = RoomCheckAction::START;
 	tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
+    tcpModel.to_id = 0;
 	tcpModel.json = json;
 
 	sendTcpModel(tcpModel);
@@ -107,6 +111,7 @@ void sendNursing() {
 	tcpModel.type = TcpType::SIDE;
 	tcpModel.action = SideAction::NURSING;
 	tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
+    tcpModel.to_id = 0;
 
 	sendTcpModel(tcpModel);
 }
@@ -119,6 +124,7 @@ void sendNursingEnd() {
 	tcpModel.type = TcpType::SIDE;
 	tcpModel.action = SideAction::NURSING_END;
 	tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
+    tcpModel.to_id = 0;
 	tcpModel.data = StoragePreferences::getString(STORE_NURSING_INTERACTION_ID, "");	// 获取nursingTcpModel里,id字段的数据
 
 	sendTcpModel(tcpModel);
@@ -140,6 +146,7 @@ void sendCallByDoor() {
 	tcpModel.type = TcpType::VOICE;
 	tcpModel.action = VoiceAction::CANCEL_BY_DOOR;
 	tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
+    tcpModel.to_id = 0;
 	sendTcpModel(tcpModel);
 }
 
@@ -150,6 +157,7 @@ void sendBlueCodeCall() {
 	tcpModel.type = TcpType::BLUE_CODE;
 	tcpModel.action = BlueCodeAction::CALL;
 	tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
+    tcpModel.to_id = 0;
 	sendTcpModel(tcpModel);
 }
 
@@ -159,6 +167,7 @@ void sendBlueCodeResponse(std::string tid, std::string blueCodeId) {
 	tcpModel.type = TcpType::BLUE_CODE;
 	tcpModel.action = BlueCodeAction::RESPONSE;
 	tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
+    tcpModel.to_id = 0;
 	tcpModel.data = blueCodeId;
 
 	sendTcpModel(tcpModel);
@@ -215,6 +224,7 @@ std::string sendVoiceHCall(int id) {
 	tcpModel.type = TcpType::VOICE;
 	tcpModel.action = VoiceAction::HCALL;
 	tcpModel.from_id = id;
+    tcpModel.to_id = 0;
 	tcpModel.json = json;
 
 	sendTcpModel(tcpModel);
@@ -228,6 +238,7 @@ void sendSosCall(std::string sosMsg) {
 	tcpModel.type = TcpType::SOS;
 	tcpModel.action = SosAction::CALL;
 	tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID, 0);
+    tcpModel.to_id = 0;
 	if (sosMsg != "") {
 		Json::Value data;
 		data["title"] = sosMsg;
@@ -245,8 +256,22 @@ void sendSosCancel(std::string sosId) {
 	tcpModel.type = TcpType::SOS;
 	tcpModel.action = SosAction::CANCEL;
 	tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID, 0);
+    tcpModel.to_id = 0;
 	tcpModel.data = sosId;
 
 	sendTcpModel(tcpModel);
 }
 
+
+void sendDataRemindOhter(std::string msg) {
+	TcpModel tcpModel;
+	tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime());
+	tcpModel.type = TcpType::DATA;
+	tcpModel.action = DataAction::REMIND_OTHER;
+	tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID, 0);
+    tcpModel.to_id = 0;
+	tcpModel.data = msg;
+
+	sendTcpModel(tcpModel);
+}
+

+ 1 - 0
jni/net/tcp_util.h

@@ -25,6 +25,7 @@ void sendVoiceCancel(int fromId, int toId);
 std::string sendVoiceHCall(int id);
 void sendSosCall(std::string sosMsg);
 void sendSosCancel(std::string sosId);
+void sendDataRemindOhter(std::string msg);
 
 
 

+ 2 - 0
jni/service/BusinessConfig.h

@@ -168,6 +168,8 @@ bool getIsUpdate();
 
 Json::Value getFrame();
 
+std::string getFrameFullName();
+
 void toFunctionActivity(std::string data);
 
 void logoutMedicalCare();

BIN
libs/armeabi/libzkgui.so


BIN
obj/activity/callActivity.o


BIN
obj/activity/customerAffairActivity.o


BIN
obj/activity/deviceAddActivity.o


BIN
obj/activity/deviceInfoActivity.o


BIN
obj/activity/functionActivity.o


BIN
obj/activity/interactionActivity.o


BIN
obj/activity/mainActivity.o


BIN
obj/activity/medicalCareActivity.o


BIN
obj/activity/moreActivity.o


BIN
obj/activity/navibar.o


BIN
obj/activity/promptActivity.o


BIN
obj/activity/settingActivity.o


BIN
obj/activity/sipTestActivity.o


BIN
obj/activity/startActivity.o


BIN
obj/activity/statusbar.o


BIN
obj/activity/updateActivity.o


BIN
obj/core/update_assistant.o


BIN
obj/net/tcp_client.o


BIN
obj/net/tcp_model.o


BIN
obj/net/tcp_util.o


BIN
obj/server/http_server.o


BIN
obj/service/BusinessConfig.o


BIN
obj/service/time.o


BIN
obj/uart/UartContext.o