|
@@ -365,6 +365,10 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
@Bind(R.id.view_nurse_layout_tv_call_timeout)
|
|
|
TextView tvNurseTimeOut;
|
|
|
|
|
|
+ //取消呼叫护士
|
|
|
+ @Bind(R.id.view_call_nurse_layout_tv_call_end)
|
|
|
+ TextView tvCallNurseEnd;
|
|
|
+
|
|
|
private ImageView ivWelcome;
|
|
|
private MyTextView tvMessage;
|
|
|
// 语音播报
|
|
@@ -449,6 +453,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
|
|
|
//自动回来主页面 add by waderson 20190707
|
|
|
comeBackMainPage();
|
|
|
+ checkHideSlideView();
|
|
|
break;
|
|
|
case INIT_SYSTEM:
|
|
|
LogUtil.d("NURSELIGHT", "INIT_SYSTEM");
|
|
@@ -571,6 +576,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
|
|
|
tvSupportEnd.setOnClickListener(this);
|
|
|
tvCallCareEnd.setOnClickListener(this);
|
|
|
+ tvCallNurseEnd.setOnClickListener(this);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -1320,8 +1326,9 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
//---------------------------------------------串口点击事件监听----------------------------------------------------------
|
|
|
@Override
|
|
|
public void serialPortBedOnclick(byte[] buffer) {
|
|
|
- LogUtil.e("serialPortBedOnclick", "buffer[0]:" + buffer[0] + "buffer[1]:" + buffer[1] + "buffer[2]:" + buffer[2] + "buffer[3]:" + buffer[3] + "buffer[4]:"
|
|
|
- + buffer[4] + "buffer[5]:" + buffer[5]);
|
|
|
+ /*LogUtil.e("serialPortBedOnclick", "buffer[0]:" + buffer[0] + ", buffer[1]:" + buffer[1] + ", buffer[2]:" + buffer[2]
|
|
|
+ + ", buffer[3]:" + buffer[3] + ", buffer[4]:" + buffer[4] + ", buffer[5]:" + buffer[5] + ", buffer[6]:" + buffer[6]
|
|
|
+ + ", buffer[7]:" + buffer[7] + ", buffer[8]:" + buffer[8]);*/
|
|
|
if (buffer[7] == 1) { //卫生间短按松开
|
|
|
CallingBedActivity.this.runOnUiThread(new Runnable() {
|
|
|
public void run() {
|
|
@@ -1369,182 +1376,65 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- //7寸分机注释掉下面代码
|
|
|
- /*if (null != vWelcome) {
|
|
|
+ if (null != vWelcome) {
|
|
|
//只有在欢迎界面没有显示的时候串口才能用
|
|
|
if (vWelcome.getVisibility() == View.GONE) {
|
|
|
- //医嘱键短按松开
|
|
|
- if (buffer[0] == 1) {
|
|
|
- CallingBedActivity.this.runOnUiThread(new Runnable() {
|
|
|
- public void run() {
|
|
|
- clickVDoctor();
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- //医嘱键长按松开
|
|
|
- if (buffer[0] == 2) {
|
|
|
- CallingBedActivity.this.runOnUiThread(new Runnable() {
|
|
|
- public void run() {
|
|
|
- clickVDoctor();
|
|
|
- //sendMultitapNurse(initDataEntity, mainDataEntity);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- //费用查询键短按松开
|
|
|
- if (buffer[1] == 1) {
|
|
|
- CallingBedActivity.this.runOnUiThread(new Runnable() {
|
|
|
- public void run() {
|
|
|
- clickVCost();
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- //费用查询键长按松开
|
|
|
- if (buffer[1] == 2) {
|
|
|
- CallingBedActivity.this.runOnUiThread(new Runnable() {
|
|
|
- public void run() {
|
|
|
- clickVCost();
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- //二维码键短按松开
|
|
|
- if (buffer[2] == 1) {
|
|
|
- CallingBedActivity.this.runOnUiThread(new Runnable() {
|
|
|
- public void run() {
|
|
|
- clickVQrCode();
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- //二维码键长按松开
|
|
|
- if (buffer[2] == 2) {
|
|
|
- CallingBedActivity.this.runOnUiThread(new Runnable() {
|
|
|
- public void run() {
|
|
|
- clickVQrCode();
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- if (buffer[3] == 1) { //请求增援键短按松开
|
|
|
- CallingBedActivity.this.runOnUiThread(new Runnable() {
|
|
|
- public void run() {
|
|
|
- clickVSupport();
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- if (buffer[3] == 2) {//请求增援键长按松开
|
|
|
- CallingBedActivity.this.runOnUiThread(new Runnable() {
|
|
|
- public void run() {
|
|
|
- if (isNurseStatus) {//进入护理后;子机请求转接(add by waderson 20191108)
|
|
|
- UdpSendUtil.sendCall1Transfer(initDataEntity, mainDataEntity);
|
|
|
- } else {
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- //呼叫护工键短按松开
|
|
|
- if (buffer[4] == 1) {
|
|
|
+ //面板呼叫按键
|
|
|
+ if (buffer[5] == -1) {//按键常态
|
|
|
+ LogUtil.d("WWW", "呼叫护士键==-1");
|
|
|
+ } else if (buffer[5] == 0) { //呼叫护士键按住不动
|
|
|
+ LogUtil.d("WWW", "呼叫护士键==0");
|
|
|
+ } else if (buffer[5] == 1 || buffer[5] == 2) {//呼叫护士键短按长按松开
|
|
|
CallingBedActivity.this.runOnUiThread(new Runnable() {
|
|
|
public void run() {
|
|
|
- clickVCall();
|
|
|
+ LogUtil.d("WWW", "呼叫护士键==1");
|
|
|
+ callNurse();
|
|
|
+ tvNurseTimeOut.setText("");
|
|
|
+ //呼叫超时倒计时开启
|
|
|
+ callTypeCallNurse = "1";
|
|
|
+ handsMICStatus = setHandsMIC(serialPortUtil, false);//点击了外部按键就将手柄MIC关掉
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
- //呼叫护工键长按松开
|
|
|
- if (buffer[4] == 2) {
|
|
|
- CallingBedActivity.this.runOnUiThread(new Runnable() {
|
|
|
- public void run() {
|
|
|
- snackbar.dismiss();//底部snackbar消失
|
|
|
-
|
|
|
- if (null != callNoticeEntity) {
|
|
|
- if (!Constants.WSHROOM_CALL.equals(callNoticeEntity.getType())) {
|
|
|
- //开始转接拨打各种电话。waderson 2019 03 21
|
|
|
- isTransfer = true;
|
|
|
- SipHelperUtil.getInstance(CallingBedActivity.this).getmSipCallBackI().startCall(callNoticeEntity.getSipAddress());
|
|
|
- } else {
|
|
|
- ToastUtil.showToast(CallingBedActivity.this, "不支持卫生间通话!");
|
|
|
- }
|
|
|
- } else {
|
|
|
- ToastUtil.showToast(CallingBedActivity.this, "当前无呼叫请求");
|
|
|
- }
|
|
|
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- if (buffer[5] == 0) { //呼叫护士键按住不动
|
|
|
+ //面板挂断按键
|
|
|
+ if (buffer[8] == -1) {//按键常态
|
|
|
+ LogUtil.d("WWW", "呼叫护士键==-1");
|
|
|
+ } else if (buffer[8] == 0) { //挂断键按住不动
|
|
|
LogUtil.d("WWW", "呼叫护士键==0");
|
|
|
- } else if (buffer[5] == 1) {//呼叫护士键短按松开
|
|
|
- CallingBedActivity.this.runOnUiThread(new Runnable() {
|
|
|
- public void run() {
|
|
|
- LogUtil.d("WWW", "呼叫护士键==1");
|
|
|
- long curTimeMills = System.currentTimeMillis();
|
|
|
- if (curTimeMills - localMillsCallNurse > 3000) {
|
|
|
- clickVNurse();
|
|
|
- localMillsCallNurse = curTimeMills;
|
|
|
- tvNurseTimeOut.setText("");
|
|
|
- //呼叫超时倒计时开启
|
|
|
- callTypeCallNurse = "1";
|
|
|
- handsMICStatus = setHandsMIC(serialPortUtil, false);//点击了外部按键就将手柄MIC关掉
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- } else if (buffer[5] == 2) {//呼叫护士键长按松开
|
|
|
+ } else if (buffer[8] == 1 || buffer[8] == 2) {//挂断键短按长按松开
|
|
|
CallingBedActivity.this.runOnUiThread(new Runnable() {
|
|
|
public void run() {
|
|
|
- if (Constants.IS_CALLED == 0) {//当前没有呼叫长按后还是呼叫
|
|
|
- long curTimeMills = System.currentTimeMillis();
|
|
|
- if (curTimeMills - localMillsCallNurse > 3000) {
|
|
|
- clickVNurse();
|
|
|
- localMillsCallNurse = curTimeMills;
|
|
|
- tvNurseTimeOut.setText("");
|
|
|
- //呼叫超时倒计时开启
|
|
|
- callTypeCallNurse = "1";
|
|
|
- handsMICStatus = setHandsMIC(serialPortUtil, false);//点击了外部按键就将手柄MIC关掉
|
|
|
- }
|
|
|
- } else if (Constants.IS_CALLED == 1) {//当前有呼叫长按后取消呼叫
|
|
|
- UdpSendUtil.sendHangUp(initDataEntity, mainDataEntity);//长按取消呼叫 add by waderson 20191108
|
|
|
- }
|
|
|
-
|
|
|
+ LogUtil.d("WWW", "挂断键==1,2");
|
|
|
+ endCallNurse();
|
|
|
+ tvNurseTimeOut.setText("");
|
|
|
+ //呼叫超时倒计时开启
|
|
|
+ callTypeCallNurse = "1";
|
|
|
+ handsMICStatus = setHandsMIC(serialPortUtil, false);//点击了外部按键就将手柄MIC关掉
|
|
|
}
|
|
|
});
|
|
|
- } else if (buffer[5] == -1) {//按键常态
|
|
|
- LogUtil.d("WWW", "呼叫护士键==-1");
|
|
|
}
|
|
|
- //------------------------below things was add by Waderson 20171106 -----------------------------------
|
|
|
+
|
|
|
if (buffer[6] == 1 || buffer[6] == 2) { //手柄短按松开,手柄长按松开 都要执行
|
|
|
CallingBedActivity.this.runOnUiThread(new Runnable() {
|
|
|
public void run() {
|
|
|
LogUtil.d("WWW", "呼叫护士键==-2");
|
|
|
- if (CALL_STATUS.equals(Constants.STANDBY) || CALL_STATUS.equals(Constants.IN_CALLING) || CALL_STATUS.equals(NURSE_CALL_TIMEOUT)) { //待机状态或呼叫超时或通话中可以挂断
|
|
|
+ tvNurseTimeOut.setText("");
|
|
|
+ //呼叫超时倒计时开启
|
|
|
+ callTypeCallNurse = "2";
|
|
|
+ if (CALL_STATUS.equals(Constants.STANDBY)) {
|
|
|
+ callNurse();
|
|
|
handsMICStatus = setHandsMIC(serialPortUtil, true);
|
|
|
-
|
|
|
- clickVNurse();
|
|
|
- tvNurseTimeOut.setText("");
|
|
|
- //呼叫超时倒计时开启
|
|
|
- callTypeCallNurse = "2";
|
|
|
- localMillsCallNurse = System.currentTimeMillis();
|
|
|
- } *//*else {
|
|
|
+ } else if (CALL_STATUS.equals(Constants.IN_CALLING) || CALL_STATUS.equals(NURSE_CALL_TIMEOUT)) {
|
|
|
+ endCallNurse();
|
|
|
handsMICStatus = setHandsMIC(serialPortUtil, false);
|
|
|
- }*//*
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- if (buffer[6] == 2) {//手柄长按松开
|
|
|
- CallingBedActivity.this.runOnUiThread(new Runnable() {
|
|
|
- public void run() {
|
|
|
- LogUtil.d("WWW", "呼叫护士键==-3");
|
|
|
- if (bedLightStatus) {
|
|
|
- bedLightStatus = setBedLight(serialPortUtil, false, 0);
|
|
|
- // showToast("床头灯关闭");
|
|
|
- } else {
|
|
|
- bedLightStatus = setBedLight(serialPortUtil, true, 0);
|
|
|
- // showToast("床头灯点亮");
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
- }*/
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
//---------------------------------------------串口点击事件监听----------------------------------------------------------
|
|
@@ -2132,6 +2022,53 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ private void callNurse() {
|
|
|
+ if (isVisible(vNurse)) {
|
|
|
+ //当前正在呼叫或通话中,直接返回
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ vMain_big.setVisibility(View.GONE);//显示增长页面20191017
|
|
|
+ timeOfBackMainPage = 0;
|
|
|
+ timeOut = callTimeOutBack;
|
|
|
+ if (isVisible(vMain)) {
|
|
|
+ callNurse = true;
|
|
|
+ showThisView(vNurse);
|
|
|
+ setDoorLight(serialPortUtil, "200");//门灯红色闪烁 add by waderson 20191119 后来加的门灯控制
|
|
|
+ UdpSendUtil.sendCall1(initDataEntity, mainDataEntity);
|
|
|
+ CALL_STATUS = Constants.NURSE_IN_CALL;
|
|
|
+ if (null != initDataEntity) {
|
|
|
+ jbVNurse = setJumpingBeans(tvNurseText, initDataEntity.getDeviceBedNum() + "床已呼叫,等待护士接听中...");
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ if (!isVisible(vSupport) && !isVisible(vCall)) {//排除呼叫状态
|
|
|
+ callNurse = true;
|
|
|
+ showThisView(vNurse);
|
|
|
+ setDoorLight(serialPortUtil, "200");//门灯红色闪烁 add by waderson 20191119 后来加的门灯控制
|
|
|
+ UdpSendUtil.sendCall1(initDataEntity, mainDataEntity);
|
|
|
+ CALL_STATUS = Constants.NURSE_IN_CALL;
|
|
|
+ if (null != initDataEntity) {
|
|
|
+ jbVNurse = setJumpingBeans(tvNurseText, initDataEntity.getDeviceBedNum() + "床已呼叫,等待护士接听中...");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ showToast("请先取消呼叫!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void endCallNurse() {
|
|
|
+ if (isVisible(vNurse)) {
|
|
|
+ callNurse = false;
|
|
|
+ UdpSendUtil.sendHangUp(initDataEntity, mainDataEntity);//取消呼叫 add by waderson 20191118
|
|
|
+ SipHelperUtil.getInstance(CallingBedActivity.this).getmSipCallBackI().endCall();
|
|
|
+ CALL_STATUS = STANDBY;
|
|
|
+ showThisView(vMain);
|
|
|
+ goneLlRightView(true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//---------------------------------------------串口点击事件部分(下)---------------------------------------------------------------------
|
|
|
//---------------------------------------------UI更改操作部分(上)---------------------------------------------------------------------
|
|
|
|
|
@@ -2139,6 +2076,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
* 显示侧边栏
|
|
|
*/
|
|
|
protected void showLlRightView() {
|
|
|
+ timeOfHideSlideView = 0;
|
|
|
//changeTextColor(null);
|
|
|
Animation animation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.in_righttoleft);
|
|
|
llRight.setAnimation(animation);
|
|
@@ -2249,6 +2187,9 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
case R.id.view_call_care_layout_tv_call_end:
|
|
|
showThisView(vMain);
|
|
|
break;
|
|
|
+ case R.id.view_call_nurse_layout_tv_call_end:
|
|
|
+ endCallNurse();
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2443,6 +2384,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
|
|
|
|
|
|
int timeOfBackMainPage = 0;
|
|
|
+ int timeOfHideSlideView = 0;
|
|
|
/**
|
|
|
* 后台设置的呼叫超时时间
|
|
|
*/
|
|
@@ -2484,6 +2426,19 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
|
|
|
}
|
|
|
|
|
|
+ //超时自动隐藏右侧侧边栏
|
|
|
+ private void checkHideSlideView() {
|
|
|
+ timeOfHideSlideView++;
|
|
|
+ if (isVisible(llRight) && timeOfHideSlideView >= 30) {
|
|
|
+ goneLlRightView(false);
|
|
|
+ timeOfHideSlideView = 0;
|
|
|
+ }
|
|
|
+ if (timeOfHideSlideView >= 100000) {
|
|
|
+ timeOfHideSlideView = 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 自动拉起护理项加长页面
|
|
|
*/
|