[开始任务写入数据库]
This commit is contained in:
yangyakun
2024-08-12 17:49:24 +08:00
parent dbf8da40a5
commit c593e5c494
5 changed files with 54 additions and 38 deletions

View File

@@ -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

View File

@@ -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<Long>
}

View File

@@ -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)
}
}

View File

@@ -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
}
}
//

View File

@@ -60,6 +60,9 @@ object BusLineModel {
mBusLinesCallback = callback
}
/**
* 同步基础信息
*/
private fun queryCarExecutableTaskList(){
mContext?.let {
OrderServiceManager.queryCarExecutableTaskList(it, object : OchCommonServiceCallback<CarExecutableTaskResponse> {
@@ -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<BusRoutesResponse> {
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")
}
}
})
}
}