diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/bean/TaskSiteDataBean.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/bean/TaskSiteDataBean.kt index 31aa5be3bc..a40af11612 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/bean/TaskSiteDataBean.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/bean/TaskSiteDataBean.kt @@ -133,9 +133,9 @@ data class TaskSiteDataBean( temp?.lon = it.lon temp?.lat = it.lat if(it.seq==1){ - temp?.drivingStatus = 2 + temp?.drivingStatus = drivingStatusCurrent }else{ - temp?.drivingStatus = 3 + temp?.drivingStatus = drivingStatusNotArrived } temp?.leaving = false temp?.introduction = it.introduction diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/dao/TaskSiteDataDao.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/dao/TaskSiteDataDao.kt index e5f9e3cd62..c027fee4f0 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/dao/TaskSiteDataDao.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/dao/TaskSiteDataDao.kt @@ -9,5 +9,5 @@ import com.mogo.och.weaknet.database.bean.TaskSiteDataBean interface TaskSiteDataDao { //插入数据 @Insert(onConflict = OnConflictStrategy.REPLACE) - fun insert(vararg lineDataBean: TaskSiteDataBean) + fun insert(vararg lineDataBean: TaskSiteDataBean):List } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/TaskRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/TaskRepository.kt index 6dd37c9fd0..41486ef80f 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/TaskRepository.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/TaskRepository.kt @@ -1,9 +1,7 @@ package com.mogo.och.weaknet.database.repository -import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.och.weaknet.database.MyDataBase -import com.mogo.och.weaknet.database.bean.LineDataBean import com.mogo.och.weaknet.database.bean.TaskDataBean import com.mogo.och.weaknet.database.dao.TaskDataDao import com.mogo.och.weaknet.database.exception.DataException @@ -63,22 +61,31 @@ object TaskRepository { return null } - fun startTask(taskId: Long, lineId: Long,lineName:String){ - - try { - MyDataBase.instance.runInTransaction { - // 更新task状态 - taskDataDao?.queryTaskByTaskIdOne(taskId)?.let { - it.startTime = System.currentTimeMillis() - it.status = TaskDataBean.useing - // 更新任务状态 - taskDataDao?.insert(it) + fun startTask(taskId: Long, lineId: Long,lineName:String,callback: TaskStatusCallback){ + DbThreadUtils.runInIoThread { + try { + MyDataBase.instance.runInTransaction { + // 更新task状态 + taskDataDao?.queryTaskByTaskIdOne(taskId)?.let { + it.startTime = System.currentTimeMillis() + it.status = TaskDataBean.useing + // 更新任务状态 + taskDataDao?.insert(it) + } + val updateCount = TaskSiteRepository.startTask(taskId, lineId, lineName) + if(updateCount==null||updateCount<=0){ + // 插入失败 + callback.startFail("未插入数据") + }else{ + // 开始任务成功 + callback.startSuccess() + } } - TaskSiteRepository.startTask(taskId, lineId,lineName) - } - }catch (e:Exception){ - if(e is DataException){ - println("数据不全") + } catch (e: Exception) { + if (e is DataException) { + println("数据不全") + } + callback.startFail("错误信息:${e.message}") } } @@ -92,4 +99,9 @@ object TaskRepository { taskDataDao?.deleteByLineId(lineId) } + + interface TaskStatusCallback{ + fun startSuccess() + fun startFail(msg:String) + } } \ No newline at end of file diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/TaskSiteRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/TaskSiteRepository.kt index 6bfa8a6302..b2d82344f8 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/TaskSiteRepository.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/TaskSiteRepository.kt @@ -17,7 +17,7 @@ object TaskSiteRepository { } // 开始线路 - fun startTask(taskId: Long, linId: Long,lineName:String) { + fun startTask(taskId: Long, linId: Long,lineName:String):Int? { // 获取线路的站点 val querySites = SiteRepository.querySiteByLineId(linId) if(querySites.isNullOrEmpty()){ @@ -29,7 +29,12 @@ object TaskSiteRepository { lineName ) // 把线路所有的站点搬迁到运行中表格中 - taskSiteDataDao?.insert(*toTaskSiteDatas.toTypedArray()) + val result = taskSiteDataDao?.insert(*toTaskSiteDatas.toTypedArray()) + return if(result.isNullOrEmpty()){ + null + }else{ + result.size + } } // diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/BusLineModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/BusLineModel.kt index 795eba0f8b..a67a5911ea 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/BusLineModel.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/BusLineModel.kt @@ -60,6 +60,9 @@ object BusLineModel { mBusLinesCallback = callback } + /** + * 同步基础信息 + */ private fun queryCarExecutableTaskList(){ mContext?.let { OrderServiceManager.queryCarExecutableTaskList(it, object : OchCommonServiceCallback { @@ -88,6 +91,9 @@ object BusLineModel { } + /** + * 查询可用线路 + */ @JvmStatic fun queryBusLines() { LineRepository.queryCanUseLine() @@ -144,32 +150,25 @@ object BusLineModel { }) } + + /** + * 开始任务 + */ @JvmStatic fun commitSwitchLineId(taskId: Long, lineId: Long,lineName: String) { - TaskRepository.startTask(taskId,lineId, lineName) - OrderServiceManager.switchLine(mContext!!, taskId, object : OchCommonServiceCallback { - override fun onSuccess(o: BusRoutesResponse) { + TaskRepository.startTask(taskId,lineId, lineName,object :TaskRepository.TaskStatusCallback{ + override fun startSuccess() { SharedPrefsMgr.getInstance().putLong(BusSwitchLineActivity.LASTCOMMITLINEID, lineId) if (mBusLinesCallback != null) { mBusLinesCallback!!.onChangeLineIdSuccess() } } - override fun onError() { - if (!NetworkUtils.isConnected(mContext)) { - ToastUtils.showShort(mContext!!.getString(R.string.network_error_tip)) - } else { - ToastUtils.showShort(mContext!!.getString(R.string.request_error_tip)) - } + override fun startFail(msg:String) { + ToastUtils.showShort("选择任务失败:$msg") } - override fun onFail(code: Int, failMsg: String) { - if (!NetworkUtils.isConnected(mContext)) { - ToastUtils.showShort("网络异常,请稍后重试") - } else { - ToastUtils.showShort("选择任务失败:$failMsg") - } - } }) + } }