Frankensteinly преди 7 месеца
родител
ревизия
f75df882fa

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

@@ -144,16 +144,12 @@ object BusinessManager {
                                     mEventBus.postValue(MsgEvent(MSG_EVENT_LOADING, LoadingMsg(false, "未找到钥匙信息", false)))
                                     ToastUtils.tip(R.string.key_not_exists)
                                 } else {
-                                    mEventBus.postValue(MsgEvent(MSG_EVENT_LOADING, LoadingMsg(false, null, true)))
+                                    sendLoadingEventMsg(MyApplication.instance?.applicationContext?.getString(R.string.take_out_key_tip))
                                     val dock = ModBusController.getDockByKeyMac(it.data.bleBean.bleDevice.mac)
                                     ModBusController.controlKeyBuckle(true, keyBean.isLeft, dock?.addr)
                                     keyBean.isReady = false
                                     ToastUtils.tip(R.string.take_out_key)
                                 }
-                                // 强制结束Loading防止有loading仍在显示
-                                Executor.delayOnMain(500) {
-                                    mEventBus.postValue(MsgEvent(MSG_EVENT_LOADING, LoadingMsg(false, null, true)))
-                                }
                             } else {
                                 LogUtil.e("切换工作模式失败 : ${it.data.bleBean.bleDevice.mac}")
                                 Executor.delayOnMain(500) {
@@ -241,6 +237,7 @@ object BusinessManager {
                     DOCK_TYPE_KEY -> {
                         dockBean.getKeyList().forEach { keyBean ->
                             if (keyBean.isExist) {
+                                sendLoadingEventMsg(MyApplication.instance?.applicationContext?.getString(R.string.data_is_uploading))
                                 // 放回钥匙,读取rfid
                                 ModBusController.readKeyRfid(dockBean.addr, if (keyBean.isLeft) 0 else 1) { isLeft, res ->
                                     if (res.size < 11) {
@@ -1185,6 +1182,7 @@ object BusinessManager {
             // 钥匙
             0 -> {
                 mDeviceTakeList.find { it.deviceType == DEVICE_TYPE_KEY && it.nfc == deviceTakeUpdateBO.nfc }?.let { info ->
+                    sendLoadingEventMsg(null, false)
                     NetApi.updateKeyTake(info.ticketId, info.nfc, MyApplication.instance?.serialNo()!!) { isSuccess ->
                         if (isSuccess) {
                             mDeviceTakeList.removeIf { it.deviceType == DEVICE_TYPE_KEY && it.nfc == info.nfc }
@@ -1202,8 +1200,15 @@ object BusinessManager {
                             // 检查当前工作票是否取完挂锁
                             if (mDeviceTakeList.any { it.deviceType == DEVICE_TYPE_LOCK && it.ticketId == info.ticketId }) {
                                 LogUtil.i("Waiting all locks to take out")
+                                sendLoadingEventMsg(
+                                    MyApplication.instance?.applicationContext?.getString(
+                                        R.string.take_out_lock_tip,
+                                        mDeviceTakeList.count { it.deviceType == DEVICE_TYPE_LOCK && it.ticketId == info.ticketId })
+                                )
                                 ToastUtils.tip(R.string.take_out_rest_locks)
                                 return@updateLockTake
+                            } else {
+                                sendLoadingEventMsg(null, false)
                             }
                             // 检查有无当前工作票的钥匙
                             mDeviceTakeList.find { it.deviceType == DEVICE_TYPE_KEY && it.ticketId == info.ticketId }?.let { itKey ->

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

@@ -79,8 +79,10 @@ class JobProgressFragment(val goBack: () -> Unit) :
 
         mBinding?.cbAction?.debounce(2000) {
             if (mStep == 4) {
+                BusinessManager.sendLoadingEventMsg(getString(R.string.system_is_processing))
                 presenter?.handleLockProcess(mPageChangeBO?.ticketId!!)
             } else if (mStep == 7) {
+                BusinessManager.sendLoadingEventMsg(getString(R.string.system_is_processing))
                 presenter?.handleUnlockProcess(mPageChangeBO?.ticketId!!)
             }
         }

+ 1 - 0
app/src/main/java/com/grkj/iscs/view/fragment/SettingFragment.kt

@@ -48,6 +48,7 @@ class SettingFragment : BaseFragment<FragmentSettingBinding>() {
             }
             // 不拿的设备不归你,下次登录重新按需分配
             BusinessManager.mDeviceTakeList.clear()
+            BusinessManager.sendLoadingEventMsg(null, false)
             startActivity(Intent(context, LoginActivity::class.java))
         }
 

+ 3 - 0
app/src/main/java/com/grkj/iscs/view/fragment/TechnologySopFragment.kt

@@ -4,6 +4,7 @@ import android.widget.ImageView
 import android.widget.LinearLayout
 import androidx.recyclerview.widget.RecyclerView
 import com.bumptech.glide.Glide
+import com.grkj.iscs.BusinessManager
 import com.grkj.iscs.R
 import com.grkj.iscs.databinding.FragmentTechnologySopBinding
 import com.grkj.iscs.model.Constants.mSopTypeList
@@ -77,9 +78,11 @@ class TechnologySopFragment(val changePage: (PageChangeBO) -> Unit) :
         }
 
         mBinding?.cbStart?.setOnClickListener {
+            BusinessManager.sendLoadingEventMsg(getString(R.string.ticket_is_starting))
             presenter?.createTicket(mMachineryIdx, mSopTypeIdx, mMachineryList) {
                 it?.let {
                     changePage(PageChangeBO(2, ticketId = it, machineryId = mMachineryList[mMachineryIdx].machineryId))
+                    BusinessManager.sendLoadingEventMsg(null, false)
                 }
             }
         }

+ 3 - 0
app/src/main/java/com/grkj/iscs/view/presenter/JobProgressPresenter.kt

@@ -116,6 +116,9 @@ class JobProgressPresenter : BasePresenter<IJobProgressView>() {
                                 BusinessManager.addDeviceTake(DEVICE_TYPE_LOCK, ticketId, itLock.rfid)
                             }
                         }
+                        if (lockList.isNotEmpty()) {
+                            BusinessManager.sendLoadingEventMsg(mContext?.getString(R.string.take_out_lock_tip, lockList.size))
+                        }
                         // null表示锁具数量不够,不给钥匙
                         if (keyPair != null) {
                             BusinessManager.addDeviceTake(DEVICE_TYPE_KEY, ticketId, keyPair.second?.rfid!!)

+ 5 - 0
app/src/main/res/values/strings.xml

@@ -247,4 +247,9 @@
     <string name="can_not_lock_in_current_step">当前进度不允许执行上锁</string>
     <string name="take_out_rest_locks">请取出剩余开启卡扣的挂锁</string>
     <string name="take_out_key">请取出钥匙</string>
+    <string name="ticket_is_starting">作业启动中······</string>
+    <string name="system_is_processing">系统处理中······</string>
+    <string name="take_out_lock_tip">请从打开的锁仓取出锁,还有%d把待取出</string>
+    <string name="take_out_key_tip">请从打开的钥匙仓取出钥匙</string>
+    <string name="data_is_uploading">数据上传······</string>
 </resources>