From 6e2a9df424b06ed243a95a6044fafaf4810374ae Mon Sep 17 00:00:00 2001 From: yangyakun Date: Tue, 19 Nov 2024 18:22:40 +0800 Subject: [PATCH] =?UTF-8?q?[6.8.0]=20[fea]=20[=E6=9C=AC=E5=9C=B0=E7=BC=93?= =?UTF-8?q?=E5=AD=98=E4=BB=BB=E5=8A=A1=E6=B7=BB=E5=8A=A0=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E9=87=8D=E7=AD=89=E5=BE=85=E4=B8=8A=E4=BC=A0=E7=9A=84=E6=A0=B8?= =?UTF-8?q?=E9=94=80=E4=BA=BA=E6=95=B0]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/och/weaknet/bean/WaitUploadTask.kt | 2 +- .../com/mogo/och/weaknet/model/EventModel.kt | 21 +----------- .../weaknet/repository/RepositoryManager.kt | 5 +++ .../repository/db/dao/WriteOffDataDao.kt | 3 -- .../repository/db/repository/WriteOffDb.kt | 5 +++ .../writeoff/IWriteOffRepository.kt | 3 ++ .../writeoff/impl/WriteOffCacheRepository.kt | 29 ++++++++++++++++ .../impl/WriteOffNormallRepository.kt | 28 +++++++++++++++ .../ui/taskrunned/RunningTaskAdapter.kt | 6 +++- .../ui/taskrunned/RunningTastViewModel.kt | 34 +++++++++++-------- 10 files changed, 96 insertions(+), 40 deletions(-) diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/WaitUploadTask.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/WaitUploadTask.kt index c31501e604..060b03b464 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/WaitUploadTask.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/WaitUploadTask.kt @@ -20,7 +20,7 @@ data class WaitUploadLine(var lineName:String ,var lineId:Long,var task:MutableL } } -data class WaitUploadTask(val taskStartTime:Long,val taskId:Long){ +data class WaitUploadTask(val taskStartTime:Long,val taskId:Long,val waitUploadWriteOff:Int){ override fun equals(other: Any?): Boolean { if (this === other) return true if (javaClass != other?.javaClass) return false diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/EventModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/EventModel.kt index 0512e3be48..72f3802092 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/EventModel.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/EventModel.kt @@ -120,26 +120,7 @@ object EventModel { } fun queryWaitUploadInfo(): Observable>? { - return EventDb.queryWaitUploadData() - ?.flatMap { waitUploadList-> - val result = mutableListOf() - waitUploadList.forEach { wait-> - if(wait.lineId!=null&&wait.lineName!=null&&wait.taskId!=null&&wait.taskStartTime!=null) { - val tempTask = WaitUploadTask(wait.taskStartTime!!,wait.taskId!!) - val tempLine = WaitUploadLine(wait.lineName!!, wait.lineId!!, mutableListOf(tempTask)) - val haveSave = result.filter { - it.lineId==tempLine.lineId - } - if(haveSave.isEmpty()){ - result.add(tempLine) - }else{ - haveSave.first().task.add(tempTask) - } - } - } - Observable.just(result) - }?.subscribeOn(Schedulers.io()) - ?.observeOn(AndroidSchedulers.mainThread()) + return RepositoryManager.queryWaitUploadData() } fun getUploadTaskObservable():BehaviorSubject{ diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/RepositoryManager.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/RepositoryManager.kt index 54cca622f4..5dd2e85fce 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/RepositoryManager.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/RepositoryManager.kt @@ -9,6 +9,7 @@ import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.och.common.module.manager.socket.lan.bean.WriteOffDetialMsg import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.weaknet.bean.WaitUploadLine import com.mogo.och.weaknet.bean.request.ShuttleEventRequest import com.mogo.och.weaknet.bean.response.CarExecutableTaskResponse import com.mogo.och.weaknet.bean.response.WriteOffCountResponse @@ -186,6 +187,10 @@ object RepositoryManager { return writeOffRepository?.writeOffEvent(writeOffDetialMsg) } + fun queryWaitUploadData(): Observable>? { + return writeOffRepository?.queryWaitUploadData() + } + fun canCanEndTask(taskId: Long): Boolean { return writeOffRepository?.canCanEndTask(taskId)?:true diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/dao/WriteOffDataDao.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/dao/WriteOffDataDao.kt index 7eeef6e2a1..07907fb002 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/dao/WriteOffDataDao.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/dao/WriteOffDataDao.kt @@ -25,9 +25,6 @@ interface WriteOffDataDao { @Query("SELECT * FROM ${WriteOffDataBean.writeoffDataTable} WHERE event_save_time > :zeroTime and task_id = :taskId and update_status = ${WriteOffDataBean.notUpdate}") fun queryWaitWriteOffByTaskId(taskId:Long,zeroTime: Long = DateTimeUtil.getCurrentDateZero()): List? - @Query("SELECT * FROM ${WriteOffDataBean.writeoffDataTable} order by event_save_time LIMIT 5 OFFSET 0") - fun queryLastDataByWaritData():List? - @Query("SELECT * FROM ${WriteOffDataBean.writeoffDataTable} WHERE update_status = ${WriteOffDataBean.notUpdate} LIMIT 10 OFFSET 0") fun queryWriteOffEventByStatusWithPage():List? diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/WriteOffDb.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/WriteOffDb.kt index 70b46a921d..f49abf8bb7 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/WriteOffDb.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/WriteOffDb.kt @@ -48,5 +48,10 @@ object WriteOffDb: IDbRepository { return writeOffDataDao?.queryWaitWriteOffByTaskId(taskId) } + fun queryWaitUpdateEventCountByTaskId(taskId: Long):Int { + val queryWriteOffByOrderNo = writeOffDataDao?.queryWaitWriteOffByTaskId(taskId) + return queryWriteOffByOrderNo?.size?:0 + } + } \ No newline at end of file diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/writeoff/IWriteOffRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/writeoff/IWriteOffRepository.kt index 3649040bad..c584cb904e 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/writeoff/IWriteOffRepository.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/writeoff/IWriteOffRepository.kt @@ -3,6 +3,7 @@ package com.mogo.och.weaknet.repository.writeoff import android.content.Context import com.mogo.och.common.module.manager.socket.lan.bean.WriteOffDetialMsg import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.weaknet.bean.WaitUploadLine import com.mogo.och.weaknet.bean.response.WriteOffCountResponse import com.mogo.och.weaknet.repository.net.bean.response.PassengerWriteOffResponse import io.reactivex.Observable @@ -19,4 +20,6 @@ interface IWriteOffRepository { return true } + fun queryWaitUploadData(): Observable>? + } \ No newline at end of file diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/writeoff/impl/WriteOffCacheRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/writeoff/impl/WriteOffCacheRepository.kt index 34cafdbad1..9eb7b7ecaf 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/writeoff/impl/WriteOffCacheRepository.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/writeoff/impl/WriteOffCacheRepository.kt @@ -13,9 +13,12 @@ import com.mogo.och.common.module.manager.cache.OchSPManager import com.mogo.och.common.module.manager.socket.lan.bean.WriteOffDetialMsg import com.mogo.och.common.module.network.OchCommonServiceCallback import com.mogo.och.common.module.utils.DateTimeUtil +import com.mogo.och.weaknet.bean.WaitUploadLine +import com.mogo.och.weaknet.bean.WaitUploadTask import com.mogo.och.weaknet.bean.response.WriteOffCountResponse import com.mogo.och.weaknet.model.LineModel import com.mogo.och.weaknet.repository.db.bean.WriteOffDataBean +import com.mogo.och.weaknet.repository.db.repository.EventDb import com.mogo.och.weaknet.repository.db.repository.WriteOffDb import com.mogo.och.weaknet.repository.exception.DataException import com.mogo.och.weaknet.repository.net.exception.NetException @@ -25,6 +28,8 @@ import com.mogo.och.weaknet.repository.net.project.saas.bus.SaasBusServiceManage import com.mogo.och.weaknet.repository.net.project.saas.shuttle.SaasShuttleServiceManager import com.mogo.och.weaknet.repository.writeoff.IWriteOffRepository import io.reactivex.Observable +import io.reactivex.android.schedulers.AndroidSchedulers +import io.reactivex.schedulers.Schedulers class WriteOffCacheRepository : IWriteOffRepository { private val TAG = "ShuttleSaasRepository" @@ -180,6 +185,30 @@ class WriteOffCacheRepository : IWriteOffRepository { return queryWaitUpdateEventByTaskId.isNullOrEmpty() } + override fun queryWaitUploadData(): Observable>? { + return EventDb.queryWaitUploadData() + ?.flatMap { waitUploadList-> + val result = mutableListOf() + waitUploadList.forEach { wait-> + if(wait.lineId!=null&&wait.lineName!=null&&wait.taskId!=null&&wait.taskStartTime!=null) { + val waitUpdateEventCount = WriteOffDb.queryWaitUpdateEventCountByTaskId(wait.taskId!!) + val tempTask = WaitUploadTask(wait.taskStartTime!!,wait.taskId!!,waitUpdateEventCount) + val tempLine = WaitUploadLine(wait.lineName!!, wait.lineId!!, mutableListOf(tempTask)) + val haveSave = result.filter { + it.lineId==tempLine.lineId + } + if(haveSave.isEmpty()){ + result.add(tempLine) + }else{ + haveSave.first().task.add(tempTask) + } + } + } + Observable.just(result) } + ?.subscribeOn(Schedulers.io()) + ?.observeOn(AndroidSchedulers.mainThread()) + } + override fun release() { weakNetInterface = null CallerLogger.d(TAG,"重置 weakNetInterface") diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/writeoff/impl/WriteOffNormallRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/writeoff/impl/WriteOffNormallRepository.kt index ac14e39e2d..7783af118f 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/writeoff/impl/WriteOffNormallRepository.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/writeoff/impl/WriteOffNormallRepository.kt @@ -9,7 +9,10 @@ import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.och.common.module.manager.socket.lan.bean.WriteOffDetialMsg import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.weaknet.bean.WaitUploadLine +import com.mogo.och.weaknet.bean.WaitUploadTask import com.mogo.och.weaknet.bean.response.WriteOffCountResponse +import com.mogo.och.weaknet.repository.db.repository.EventDb import com.mogo.och.weaknet.repository.net.NetInterface import com.mogo.och.weaknet.repository.net.bean.request.PassengerWriteOffRequest import com.mogo.och.weaknet.repository.net.bean.response.PassengerWriteOffResponse @@ -18,6 +21,8 @@ import com.mogo.och.weaknet.repository.net.project.dali.bus.DaliBusServiceManage import com.mogo.och.weaknet.repository.net.project.dali.shuttle.DaliShuttleServiceManager import com.mogo.och.weaknet.repository.writeoff.IWriteOffRepository import io.reactivex.Observable +import io.reactivex.android.schedulers.AndroidSchedulers +import io.reactivex.schedulers.Schedulers class WriteOffNormallRepository: IWriteOffRepository { @@ -76,5 +81,28 @@ class WriteOffNormallRepository: IWriteOffRepository { CallerLogger.d(TAG,"重置 normalNetInterface") } + override fun queryWaitUploadData(): Observable>? { + return EventDb.queryWaitUploadData() + ?.flatMap { waitUploadList-> + val result = mutableListOf() + waitUploadList.forEach { wait-> + if(wait.lineId!=null&&wait.lineName!=null&&wait.taskId!=null&&wait.taskStartTime!=null) { + val tempTask = WaitUploadTask(wait.taskStartTime!!,wait.taskId!!,0) + val tempLine = WaitUploadLine(wait.lineName!!, wait.lineId!!, mutableListOf(tempTask)) + val haveSave = result.filter { + it.lineId==tempLine.lineId + } + if(haveSave.isEmpty()){ + result.add(tempLine) + }else{ + haveSave.first().task.add(tempTask) + } + } + } + Observable.just(result) } + ?.subscribeOn(Schedulers.io()) + ?.observeOn(AndroidSchedulers.mainThread()) + } + } \ No newline at end of file diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunned/RunningTaskAdapter.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunned/RunningTaskAdapter.kt index c65c8bcc4a..55f8ac57cc 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunned/RunningTaskAdapter.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunned/RunningTaskAdapter.kt @@ -44,7 +44,11 @@ class RunningTaskAdapter( val lineTasks = dataList!![currentPosition] val sb = StringBuilder().append("班次:") lineTasks.task.forEach { - sb.append(TimeUtils.millis2String(it.taskStartTime, "HH:mm")).append(" ") + sb.append(TimeUtils.millis2String(it.taskStartTime, "HH:mm")) + if(it.waitUploadWriteOff>0){ + sb.append("(${it.waitUploadWriteOff})") + } + sb.append(" ") } holder.actvLineTaskName.text = lineTasks.lineName holder.actvWaitUploadItem.text = sb diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunned/RunningTastViewModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunned/RunningTastViewModel.kt index bf12f0f88d..42d144c1ef 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunned/RunningTastViewModel.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunned/RunningTastViewModel.kt @@ -2,6 +2,7 @@ package com.mogo.och.weaknet.ui.taskrunned import androidx.lifecycle.ViewModel import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.och.common.module.manager.loop.BizLoopManager import com.mogo.och.common.module.utils.RxUtils import com.mogo.och.weaknet.bean.WaitUploadLine import com.mogo.och.weaknet.model.EventModel @@ -59,25 +60,28 @@ class RunningTastViewModel : ViewModel() { } fun queryNewData() { - EventModel.queryWaitUploadInfo() - ?.subscribe(object : Observer> { - override fun onSubscribe(d: Disposable) { - CallerLogger.d(TAG, "onSubscribe") - } + BizLoopManager.runInIoThread { + EventModel.queryWaitUploadInfo() + ?.subscribe(object : Observer> { + override fun onSubscribe(d: Disposable) { + CallerLogger.d(TAG, "onSubscribe") + } - override fun onError(e: Throwable) { - CallerLogger.d(TAG, "onError${e.printStackTrace()}") - } + override fun onError(e: Throwable) { + CallerLogger.d(TAG, "onError${e.printStackTrace()}") + } - override fun onComplete() { - CallerLogger.d(TAG, "onComplete") - } + override fun onComplete() { + CallerLogger.d(TAG, "onComplete") + } - override fun onNext(data: MutableList) { - this@RunningTastViewModel.viewCallback?.showData(data) - } + override fun onNext(data: MutableList) { + this@RunningTastViewModel.viewCallback?.showData(data) + } + + }) + } - }) } fun uploadData() {