[6.8.0]
[fea] [本地缓存任务添加任务重等待上传的核销人数]
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -120,26 +120,7 @@ object EventModel {
|
||||
}
|
||||
|
||||
fun queryWaitUploadInfo(): Observable<MutableList<WaitUploadLine>>? {
|
||||
return EventDb.queryWaitUploadData()
|
||||
?.flatMap { waitUploadList->
|
||||
val result = mutableListOf<WaitUploadLine>()
|
||||
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<Boolean>{
|
||||
|
||||
@@ -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<MutableList<WaitUploadLine>>? {
|
||||
return writeOffRepository?.queryWaitUploadData()
|
||||
}
|
||||
|
||||
|
||||
fun canCanEndTask(taskId: Long): Boolean {
|
||||
return writeOffRepository?.canCanEndTask(taskId)?:true
|
||||
|
||||
@@ -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<WriteOffDataBean>?
|
||||
|
||||
@Query("SELECT * FROM ${WriteOffDataBean.writeoffDataTable} order by event_save_time LIMIT 5 OFFSET 0")
|
||||
fun queryLastDataByWaritData():List<WriteOffDataBean>?
|
||||
|
||||
@Query("SELECT * FROM ${WriteOffDataBean.writeoffDataTable} WHERE update_status = ${WriteOffDataBean.notUpdate} LIMIT 10 OFFSET 0")
|
||||
fun queryWriteOffEventByStatusWithPage():List<WriteOffDataBean>?
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -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<MutableList<WaitUploadLine>>?
|
||||
|
||||
}
|
||||
@@ -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<MutableList<WaitUploadLine>>? {
|
||||
return EventDb.queryWaitUploadData()
|
||||
?.flatMap { waitUploadList->
|
||||
val result = mutableListOf<WaitUploadLine>()
|
||||
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")
|
||||
|
||||
@@ -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<MutableList<WaitUploadLine>>? {
|
||||
return EventDb.queryWaitUploadData()
|
||||
?.flatMap { waitUploadList->
|
||||
val result = mutableListOf<WaitUploadLine>()
|
||||
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())
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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<MutableList<WaitUploadLine>> {
|
||||
override fun onSubscribe(d: Disposable) {
|
||||
CallerLogger.d(TAG, "onSubscribe")
|
||||
}
|
||||
BizLoopManager.runInIoThread {
|
||||
EventModel.queryWaitUploadInfo()
|
||||
?.subscribe(object : Observer<MutableList<WaitUploadLine>> {
|
||||
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<WaitUploadLine>) {
|
||||
this@RunningTastViewModel.viewCallback?.showData(data)
|
||||
}
|
||||
override fun onNext(data: MutableList<WaitUploadLine>) {
|
||||
this@RunningTastViewModel.viewCallback?.showData(data)
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
fun uploadData() {
|
||||
|
||||
Reference in New Issue
Block a user