Просмотр исходного кода

优化定时刷新功能,解决出院后定时刷新设备数据未清空问题

weizhengliang 1 год назад
Родитель
Сommit
d6da0f2565

+ 112 - 112
callingbed/src/main/java/com/wdkl/app/ncs/callingbed/activity/CallingbedActivity.kt

@@ -388,6 +388,10 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, CallingbedMa
 
     fun initDevice() {
         if (!TextUtils.isEmpty(Constant.LOCAL_MAC)) {
+            //重置数据
+            Constant.DEVICE_STATUS = -1
+            Constant.CUSTOM_ID = -1
+            Constant.SIP_ID = ""
             presenter.loadDeviceInfo(Constant.LOCAL_MAC)
         }
     }
@@ -406,28 +410,22 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, CallingbedMa
 
     //数据加载错误
     override fun onError(message: String, type: Int) {
-        //dismissDialog()
         showMessage(message)
-        //加载失败,重置customid
-        //Constant.CUSTOM_ID = -1
     }
 
     //数据加载完成
     override fun complete(message: String, type: Int) {
-        //dismissDialog()
 
     }
 
     //开始获取数据
     override fun start() {
-        //showDialog()
+
     }
 
     //没有网络
     override fun onNoNet() {
         showMessage("没有网络")
-        //加载失败,重置customid
-        //Constant.CUSTOM_ID = -1
     }
 
     //网络监听
@@ -486,13 +484,15 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, CallingbedMa
     private fun startTimingRefreshData() {
         val timerTask: TimerTask = object : TimerTask() {
             override fun run() {
-                if (Constant.TCP_CONNECTED) {
+                try {
                     initDevice()
+                } catch (e: Exception) {
+                    //
                 }
             }
         }
         val executor = Executors.newSingleThreadScheduledExecutor()
-        executor.scheduleAtFixedRate(timerTask, 15, 40, TimeUnit.MINUTES)
+        executor.scheduleAtFixedRate(timerTask, 5, 4, TimeUnit.MINUTES)
     }
 
     //显示设备信息
@@ -532,11 +532,11 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, CallingbedMa
         }
         if (Constant.DEVICE_STATUS == 0) {
             showMessage("设备未启用")
-        } else if (Constant.DEVICE_STATUS == 1) {
-            //启动主fragment
-            switchToMainFragment()
         }
 
+        //启动主fragment
+        switchToMainFragment()
+
         //加载分机所绑定紧急按钮设备信息
         if (deviceInfo.frameId != null) {
             presenter.getEmergencyDeviceInfo(deviceInfo.frameId)
@@ -636,10 +636,10 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, CallingbedMa
     }
 
     override fun updateNurseConfig(list: List<NurseConfigDto>) {
-        if (list.isNotEmpty()) {
-            //更新护理项前先重新初始化一下
-            initNurseConfig()
+        //更新护理项前先重新初始化一下
+        initNurseConfig()
 
+        if (list.isNotEmpty()) {
             for ((index, e) in list.withIndex()) {
                 if (index < configList.size) {
                     configList.set(index, e)
@@ -648,125 +648,125 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, CallingbedMa
                 }*/
             }
             //nurseConfigAdapter.updateData(configList)
+        }
 
-            try {
-                if (Constant.boolDisplayNcTitle == 0) {
-                    //隐藏护理名称
-                    tv_nurse_config_name1.visibility = View.GONE
-                    tv_nurse_config_value1.textSize = 36f
-                    tv_nurse_config_value1.gravity = Gravity.CENTER_VERTICAL or Gravity.LEFT
-                    tv_nurse_config_name2.visibility = View.GONE
-                    tv_nurse_config_value2.textSize = 36f
-                    tv_nurse_config_value2.gravity = Gravity.CENTER_VERTICAL or Gravity.LEFT
-                    tv_nurse_config_name3.visibility = View.GONE
-                    tv_nurse_config_value3.textSize = 36f
-                    tv_nurse_config_value3.gravity = Gravity.CENTER_VERTICAL or Gravity.LEFT
-                    tv_nurse_config_name4.visibility = View.GONE
-                    tv_nurse_config_value4.textSize = 36f
-                    tv_nurse_config_value4.gravity = Gravity.CENTER_VERTICAL or Gravity.LEFT
-                    tv_nurse_config_name5.visibility = View.GONE
-                    tv_nurse_config_value5.textSize = 36f
-                    tv_nurse_config_value5.gravity = Gravity.CENTER_VERTICAL or Gravity.LEFT
-                } else {
-                    //显示护理名称
-                    tv_nurse_config_name1.visibility = View.VISIBLE
-                    tv_nurse_config_value1.textSize = 28f
-                    tv_nurse_config_value1.gravity = Gravity.CENTER_VERTICAL or Gravity.RIGHT
-                    tv_nurse_config_name2.visibility = View.VISIBLE
-                    tv_nurse_config_value2.textSize = 28f
-                    tv_nurse_config_value2.gravity = Gravity.CENTER_VERTICAL or Gravity.RIGHT
-                    tv_nurse_config_name3.visibility = View.VISIBLE
-                    tv_nurse_config_value3.textSize = 28f
-                    tv_nurse_config_value3.gravity = Gravity.CENTER_VERTICAL or Gravity.RIGHT
-                    tv_nurse_config_name4.visibility = View.VISIBLE
-                    tv_nurse_config_value4.textSize = 28f
-                    tv_nurse_config_value4.gravity = Gravity.CENTER_VERTICAL or Gravity.RIGHT
-                    tv_nurse_config_name5.visibility = View.VISIBLE
-                    tv_nurse_config_value5.textSize = 28f
-                    tv_nurse_config_value5.gravity = Gravity.CENTER_VERTICAL or Gravity.RIGHT
-                }
+        try {
+            if (Constant.boolDisplayNcTitle == 0) {
+                //隐藏护理名称
+                tv_nurse_config_name1.visibility = View.GONE
+                tv_nurse_config_value1.textSize = 36f
+                tv_nurse_config_value1.gravity = Gravity.CENTER_VERTICAL or Gravity.LEFT
+                tv_nurse_config_name2.visibility = View.GONE
+                tv_nurse_config_value2.textSize = 36f
+                tv_nurse_config_value2.gravity = Gravity.CENTER_VERTICAL or Gravity.LEFT
+                tv_nurse_config_name3.visibility = View.GONE
+                tv_nurse_config_value3.textSize = 36f
+                tv_nurse_config_value3.gravity = Gravity.CENTER_VERTICAL or Gravity.LEFT
+                tv_nurse_config_name4.visibility = View.GONE
+                tv_nurse_config_value4.textSize = 36f
+                tv_nurse_config_value4.gravity = Gravity.CENTER_VERTICAL or Gravity.LEFT
+                tv_nurse_config_name5.visibility = View.GONE
+                tv_nurse_config_value5.textSize = 36f
+                tv_nurse_config_value5.gravity = Gravity.CENTER_VERTICAL or Gravity.LEFT
+            } else {
+                //显示护理名称
+                tv_nurse_config_name1.visibility = View.VISIBLE
+                tv_nurse_config_value1.textSize = 28f
+                tv_nurse_config_value1.gravity = Gravity.CENTER_VERTICAL or Gravity.RIGHT
+                tv_nurse_config_name2.visibility = View.VISIBLE
+                tv_nurse_config_value2.textSize = 28f
+                tv_nurse_config_value2.gravity = Gravity.CENTER_VERTICAL or Gravity.RIGHT
+                tv_nurse_config_name3.visibility = View.VISIBLE
+                tv_nurse_config_value3.textSize = 28f
+                tv_nurse_config_value3.gravity = Gravity.CENTER_VERTICAL or Gravity.RIGHT
+                tv_nurse_config_name4.visibility = View.VISIBLE
+                tv_nurse_config_value4.textSize = 28f
+                tv_nurse_config_value4.gravity = Gravity.CENTER_VERTICAL or Gravity.RIGHT
+                tv_nurse_config_name5.visibility = View.VISIBLE
+                tv_nurse_config_value5.textSize = 28f
+                tv_nurse_config_value5.gravity = Gravity.CENTER_VERTICAL or Gravity.RIGHT
+            }
 
-                tv_nurse_config_name1.setText(configList.get(0).nurseConfigName)
-                tv_nurse_config_value1.setText(configList.get(0).nurseOptionName)
-                tv_nurse_config_name2.setText(configList.get(1).nurseConfigName)
-                tv_nurse_config_value2.setText(configList.get(1).nurseOptionName)
-                tv_nurse_config_name3.setText(configList.get(2).nurseConfigName)
-                tv_nurse_config_value3.setText(configList.get(2).nurseOptionName)
-                tv_nurse_config_name4.setText(configList.get(3).nurseConfigName)
-                tv_nurse_config_value4.setText(configList.get(3).nurseOptionName)
-                tv_nurse_config_name5.setText(configList.get(4).nurseConfigName)
-                tv_nurse_config_value5.setText(configList.get(4).nurseOptionName)
-
-                //护理项1
-                var color = configList[0].nurseColorRbg
-                if (TextUtils.isEmpty(configList.get(0).nurseOptionName)) {
+            tv_nurse_config_name1.setText(configList.get(0).nurseConfigName)
+            tv_nurse_config_value1.setText(configList.get(0).nurseOptionName)
+            tv_nurse_config_name2.setText(configList.get(1).nurseConfigName)
+            tv_nurse_config_value2.setText(configList.get(1).nurseOptionName)
+            tv_nurse_config_name3.setText(configList.get(2).nurseConfigName)
+            tv_nurse_config_value3.setText(configList.get(2).nurseOptionName)
+            tv_nurse_config_name4.setText(configList.get(3).nurseConfigName)
+            tv_nurse_config_value4.setText(configList.get(3).nurseOptionName)
+            tv_nurse_config_name5.setText(configList.get(4).nurseConfigName)
+            tv_nurse_config_value5.setText(configList.get(4).nurseOptionName)
+
+            //护理项1
+            var color = configList[0].nurseColorRbg
+            if (TextUtils.isEmpty(configList.get(0).nurseOptionName)) {
+                ll_nurse_item1.setBackgroundColor(Color.parseColor("#E7E7E7"))
+            } else {
+                if (TextUtils.isEmpty(color)) {
                     ll_nurse_item1.setBackgroundColor(Color.parseColor("#E7E7E7"))
                 } else {
-                    if (TextUtils.isEmpty(color)) {
-                        ll_nurse_item1.setBackgroundColor(Color.parseColor("#E7E7E7"))
-                    } else {
-                        ll_nurse_item1.setBackgroundColor(Color.parseColor("#$color"))
-                    }
+                    ll_nurse_item1.setBackgroundColor(Color.parseColor("#$color"))
                 }
+            }
 
-                //护理项2
-                color = configList[1].nurseColorRbg
-                if (TextUtils.isEmpty(configList.get(1).nurseOptionName)) {
+            //护理项2
+            color = configList[1].nurseColorRbg
+            if (TextUtils.isEmpty(configList.get(1).nurseOptionName)) {
+                ll_nurse_item2.setBackgroundColor(Color.parseColor("#E7E7E7"))
+            } else {
+                if (TextUtils.isEmpty(color)) {
                     ll_nurse_item2.setBackgroundColor(Color.parseColor("#E7E7E7"))
                 } else {
-                    if (TextUtils.isEmpty(color)) {
-                        ll_nurse_item2.setBackgroundColor(Color.parseColor("#E7E7E7"))
-                    } else {
-                        ll_nurse_item2.setBackgroundColor(Color.parseColor("#$color"))
-                    }
+                    ll_nurse_item2.setBackgroundColor(Color.parseColor("#$color"))
                 }
+            }
 
-                //护理项3
-                color = configList[2].nurseColorRbg
-                if (TextUtils.isEmpty(configList.get(2).nurseOptionName)) {
+            //护理项3
+            color = configList[2].nurseColorRbg
+            if (TextUtils.isEmpty(configList.get(2).nurseOptionName)) {
+                ll_nurse_item3.setBackgroundColor(Color.parseColor("#E7E7E7"))
+            } else {
+                if (TextUtils.isEmpty(color)) {
                     ll_nurse_item3.setBackgroundColor(Color.parseColor("#E7E7E7"))
                 } else {
-                    if (TextUtils.isEmpty(color)) {
-                        ll_nurse_item3.setBackgroundColor(Color.parseColor("#E7E7E7"))
-                    } else {
-                        ll_nurse_item3.setBackgroundColor(Color.parseColor("#$color"))
-                    }
+                    ll_nurse_item3.setBackgroundColor(Color.parseColor("#$color"))
                 }
+            }
 
-                //护理项4
-                color = configList[3].nurseColorRbg
-                if (TextUtils.isEmpty(configList.get(3).nurseOptionName)) {
+            //护理项4
+            color = configList[3].nurseColorRbg
+            if (TextUtils.isEmpty(configList.get(3).nurseOptionName)) {
+                ll_nurse_item4.setBackgroundColor(Color.parseColor("#E7E7E7"))
+            } else {
+                if (TextUtils.isEmpty(color)) {
                     ll_nurse_item4.setBackgroundColor(Color.parseColor("#E7E7E7"))
                 } else {
-                    if (TextUtils.isEmpty(color)) {
-                        ll_nurse_item4.setBackgroundColor(Color.parseColor("#E7E7E7"))
-                    } else {
-                        ll_nurse_item4.setBackgroundColor(Color.parseColor("#$color"))
-                    }
+                    ll_nurse_item4.setBackgroundColor(Color.parseColor("#$color"))
                 }
+            }
 
-                //护理项5
-                color = configList[4].nurseColorRbg
-                if (TextUtils.isEmpty(configList.get(4).nurseOptionName)) {
+            //护理项5
+            color = configList[4].nurseColorRbg
+            if (TextUtils.isEmpty(configList.get(4).nurseOptionName)) {
+                ll_nurse_item5.setBackgroundColor(Color.parseColor("#E7E7E7"))
+            } else {
+                if (TextUtils.isEmpty(color)) {
                     ll_nurse_item5.setBackgroundColor(Color.parseColor("#E7E7E7"))
                 } else {
-                    if (TextUtils.isEmpty(color)) {
-                        ll_nurse_item5.setBackgroundColor(Color.parseColor("#E7E7E7"))
-                    } else {
-                        ll_nurse_item5.setBackgroundColor(Color.parseColor("#$color"))
-                    }
+                    ll_nurse_item5.setBackgroundColor(Color.parseColor("#$color"))
                 }
-            } catch (ex: Exception) {
-                ex.printStackTrace()
             }
+        } catch (ex: Exception) {
+            ex.printStackTrace()
+        }
 
-            //护理灯刷新
-            hasNurseValue = true
-            if (Constant.day_state == 0) {
-                SerialPortHelper.setNurseLedLight2(SettingConfig.getExtensionDaytimeLEDBrightness(activity), configList)
-            } else {
-                SerialPortHelper.setNurseLedLight2(SettingConfig.getExtensionNightLEDBrightness(activity), configList)
-            }
+        //护理灯刷新
+        hasNurseValue = true
+        if (Constant.day_state == 0) {
+            SerialPortHelper.setNurseLedLight2(SettingConfig.getExtensionDaytimeLEDBrightness(activity), configList)
+        } else {
+            SerialPortHelper.setNurseLedLight2(SettingConfig.getExtensionNightLEDBrightness(activity), configList)
         }
     }
 
@@ -827,7 +827,7 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, CallingbedMa
     //注册时间监听广播
     private fun regReceiver() {
         receiver = TimeReceiver()
-        var intentFilter = IntentFilter()
+        val intentFilter = IntentFilter()
         intentFilter.addAction(Intent.ACTION_TIME_TICK)
         intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION)
         registerReceiver(receiver, intentFilter)

+ 8 - 1
callingbed/src/main/java/com/wdkl/app/ncs/callingbed/fragment/MainFragment.kt

@@ -88,7 +88,7 @@ class MainFragment: BaseFragment<MainFragmentPresenter, MainViewLayoutBinding>()
 
         //更新护理项
         if (customInfo.list != null) {
-            AppTool.Time.delay(1800) {
+            AppTool.Time.delay(2000) {
                 if (activity != null) {
                     (activity as CallingbedActivity).updateNurseConfig(customInfo.list)
                 }
@@ -173,6 +173,13 @@ class MainFragment: BaseFragment<MainFragmentPresenter, MainViewLayoutBinding>()
         if (Constant.CUSTOM_ID != -1) {
             ll_empty.visibility = View.GONE
             presenter.loadCustomInfo(Constant.CUSTOM_ID)
+        } else {
+            //没有入住人也要刷新护理项数据
+            AppTool.Time.delay(2000) {
+                if (activity != null) {
+                    (activity as CallingbedActivity).updateNurseConfig(ArrayList())
+                }
+            }
         }
 
         tv_home_version.text = "V"+BuildConfig.VERSION_NAME+"_"+BuildConfig.VERSION_CODE

+ 1 - 1
callingbed/src/main/java/com/wdkl/app/ncs/callingbed/sip/WdklSipService.java

@@ -74,7 +74,7 @@ public class WdklSipService extends Service {
         String basePath = getFilesDir().getAbsolutePath();
         Factory.instance().setLogCollectionPath(basePath);
         Factory.instance().enableLogCollection(LogCollectionState.Disabled);
-        Factory.instance().setDebugMode(true, getString(R.string.app_name));
+        Factory.instance().setDebugMode(false, getString(R.string.app_name));
 
         //收集一些设备信息
         Log.i(START_SIPPHONE_LOGS);