Ver Fonte

添加作业票进度更新消息

Frankensteinly há 8 meses atrás
pai
commit
c477e9c021

+ 1 - 1
app/src/main/AndroidManifest.xml

@@ -35,7 +35,7 @@
         android:theme="@style/Theme.ISCS"
         tools:targetApi="31">
         <activity
-            android:name=".FaceActivity"
+            android:name=".view.activity.test.face.FaceActivity"
             android:exported="false" />
         <activity
             android:name=".view.activity.HomeActivity"

+ 5 - 1
app/src/main/java/com/grkj/iscs/BusinessManager.kt

@@ -45,7 +45,9 @@ import com.grkj.iscs.model.eventmsg.MsgEventConstants.MSG_EVENT_CURRENT_MODE
 import com.grkj.iscs.model.eventmsg.MsgEventConstants.MSG_EVENT_DEVICE_TAKE_UPDATE
 import com.grkj.iscs.model.eventmsg.MsgEventConstants.MSG_EVENT_LOADING
 import com.grkj.iscs.model.eventmsg.MsgEventConstants.MSG_EVENT_SWITCH_MODE
+import com.grkj.iscs.model.eventmsg.MsgEventConstants.MSG_EVENT_UPDATE_TICKET_PROGRESS
 import com.grkj.iscs.model.eventmsg.SwitchModeMsg
+import com.grkj.iscs.model.eventmsg.UpdateTicketProgressMsg
 import com.grkj.iscs.model.vo.lock.LockTakeUpdateReqVO
 import com.grkj.iscs.model.vo.ticket.LockPointUpdateReqVO
 import com.grkj.iscs.model.vo.ticket.TicketDetailRespVO
@@ -1103,7 +1105,9 @@ object BusinessManager {
 
             // 上报点位钥匙绑定
             NetApi.updateLockPointBatch(updateList) { isSuccess ->
-
+                data.taskCode?.toLong()?.let {
+                    mEventBus.postValue(MsgEvent(MSG_EVENT_UPDATE_TICKET_PROGRESS, UpdateTicketProgressMsg(it)))
+                }
             }
 
             // 上报钥匙归还

+ 1 - 0
app/src/main/java/com/grkj/iscs/model/eventmsg/MsgEventConstants.kt

@@ -10,6 +10,7 @@ object MsgEventConstants {
 
     // ------------------------------ 作业票 1-003-000 ------------------------------
     const val MSG_EVENT_GET_TICKET_STATUS = 1_003_000   // 获取设备工作票完成情况
+    const val MSG_EVENT_UPDATE_TICKET_PROGRESS = 1_003_001  // 更新作业票进度(页面刷新)
 
     // ------------------------------ 蓝牙 1-004-000 ------------------------------
     const val MSG_EVENT_CURRENT_MODE = 1_004_000        // 当前模式

+ 5 - 0
app/src/main/java/com/grkj/iscs/model/eventmsg/UpdateTicketProgressMsg.kt

@@ -0,0 +1,5 @@
+package com.grkj.iscs.model.eventmsg
+
+data class UpdateTicketProgressMsg(
+    val ticketId: Long
+)

+ 1 - 1
app/src/main/java/com/grkj/iscs/FaceActivity.kt → app/src/main/java/com/grkj/iscs/view/activity/test/face/FaceActivity.kt

@@ -1,4 +1,4 @@
-package com.grkj.iscs
+package com.grkj.iscs.view.activity.test.face
 
 import android.view.View
 import com.grkj.iscs.databinding.ActivityFaceBinding

+ 1 - 1
app/src/main/java/com/grkj/iscs/FaceDetectorHelper.kt → app/src/main/java/com/grkj/iscs/view/activity/test/face/FaceDetectorHelper.kt

@@ -1,4 +1,4 @@
-package com.grkj.iscs
+package com.grkj.iscs.view.activity.test.face
 
 import android.annotation.SuppressLint
 import android.graphics.Bitmap

+ 38 - 0
app/src/main/java/com/grkj/iscs/view/fragment/JobProgressFragment.kt

@@ -3,12 +3,18 @@ package com.grkj.iscs.view.fragment
 import android.view.View
 import android.widget.ImageView
 import android.widget.LinearLayout
+import androidx.lifecycle.Observer
+import com.grkj.iscs.BusinessManager
 import com.grkj.iscs.R
 import com.grkj.iscs.databinding.FragmentJobProgressBinding
 import com.grkj.iscs.extentions.debounce
 import com.grkj.iscs.model.bo.PageChangeBO
+import com.grkj.iscs.model.eventmsg.MsgEvent
+import com.grkj.iscs.model.eventmsg.MsgEventConstants.MSG_EVENT_UPDATE_TICKET_PROGRESS
+import com.grkj.iscs.model.eventmsg.UpdateTicketProgressMsg
 import com.grkj.iscs.model.vo.ticket.TicketDetailMonitorRespVO
 import com.grkj.iscs.util.ToastUtils
+import com.grkj.iscs.util.log.LogUtil
 import com.grkj.iscs.view.base.BaseMvpFragment
 import com.grkj.iscs.view.dialog.TipDialog
 import com.grkj.iscs.view.iview.IJobProgressView
@@ -27,6 +33,8 @@ class JobProgressFragment(val goBack: () -> Unit) :
     private var mStep = 0
     private var mPageChangeBO: PageChangeBO? = null
     private var mTipDialog: TipDialog? = null
+    private lateinit var observer: Observer<MsgEvent>
+    private var isVisible: Boolean = false
 
     override val viewBinding: FragmentJobProgressBinding
         get() = FragmentJobProgressBinding.inflate(layoutInflater)
@@ -73,6 +81,30 @@ class JobProgressFragment(val goBack: () -> Unit) :
                 presenter?.handleUnlockProcess(mPageChangeBO?.ticketId!!)
             }
         }
+
+        observer = Observer { newData ->
+            when (newData.code) {
+                MSG_EVENT_UPDATE_TICKET_PROGRESS -> {
+                    LogUtil.i("Update progress msg, isVisible : $isVisible")
+                    if (isVisible) {
+                        val ticketId = (newData.data as UpdateTicketProgressMsg).ticketId
+                        LogUtil.i("Update progress msg, ticketId : $ticketId")
+                        if (ticketId == mPageChangeBO?.ticketId) {
+                            mPageChangeBO?.let {
+                                refreshPage(it)
+                            }
+                        }
+                    }
+                }
+            }
+        }
+
+        BusinessManager.mEventBus.observe(viewLifecycleOwner, observer)
+    }
+
+    override fun onResume() {
+        super.onResume()
+        isVisible = true
     }
 
     override fun refreshPage(pageChangeBO: PageChangeBO) {
@@ -163,6 +195,12 @@ class JobProgressFragment(val goBack: () -> Unit) :
         super.onPause()
         mStep = 0
         mTipDialog?.dismiss()
+        isVisible = false
+    }
+
+    override fun onDestroy() {
+        super.onDestroy()
+        BusinessManager.mEventBus.removeObserver(observer)
     }
 
     override fun initPresenter(): JobProgressPresenter {

+ 1 - 1
app/src/main/res/layout/activity_face.xml

@@ -5,7 +5,7 @@
     android:id="@+id/main"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    tools:context=".FaceActivity">
+    tools:context=".view.activity.test.face.FaceActivity">
 
     <FrameLayout
         android:id="@+id/frameLayout"