package com.xw.yunwei.net import com.xw.common.net.BaseHttpManager.Companion.getBody import com.xw.common.net.interceptAwait import com.xw.yunwei.model.TaskStatisticInfo class TaskRepository(private val api: TaskApi) { suspend fun getTaskRecordList(map: Map) = api.getTaskRecordList(getBody(map)).interceptAwait() suspend fun saveRoutineDetail(map: Map) = api.saveRoutineDetail(getBody(map)).interceptAwait() suspend fun saveVehicleAccident(map: Map) = api.saveVehicleAccident(getBody(map)).interceptAwait() suspend fun handleVehicleAccident(map: Map) = api.handleVehicleAccident(getBody(map)).interceptAwait() suspend fun confirmArrive(id: String) = api.confirmArrive(id).interceptAwait() suspend fun vehicleAccidentDetail(id: String) = api.vehicleAccidentDetail(id).interceptAwait() suspend fun vehicleRoutineDetail(id: String) = api.vehicleRoutineDetail(id).interceptAwait() suspend fun chargingDetail(id: String) = api.chargingDetail(id).interceptAwait() suspend fun cleanDetail(id: String) = api.cleanDetail(id).interceptAwait() suspend fun detectionDetail(id: String) = api.detectionDetail(id).interceptAwait() suspend fun preparationDetail(id: String) = api.preparationDetail(id).interceptAwait() suspend fun repairDetail(id: String) = api.repairDetail(id).interceptAwait() suspend fun getTypeList() = api.getTypeList().interceptAwait() suspend fun getUnreadCount() = api.getUnreadCount().interceptAwait() /*任务改派*/ suspend fun taskReassignment(comment: String, taskId: String?): Boolean { val map = mapOf("comment" to comment, "taskId" to taskId) api.taskReassignment(getBody(map)).interceptAwait() return true } /*检测申请改派结果*/ suspend fun checkApplyForReassignResult(taskId: String): Boolean? { return api.checkApplyForReassignResult(taskId).interceptAwait() } /*接收工单*/ suspend fun acceptTask(taskId: String): Boolean { api.acceptTask(taskId).interceptAwait() return true } /*任务中心状态统计*/ suspend fun statistic( distributeType: String?, startTime: String?, endTime: String?, taskCategory: String?, taskUrgencyLevel: String?, plateNumber: String? ): TaskStatisticInfo? { val map = mapOf( "distributeType" to distributeType, "startTime" to if (startTime.isNullOrEmpty()) null else plateNumber, "endTime" to if (endTime.isNullOrEmpty()) null else plateNumber, "taskUrgencyLevel" to taskUrgencyLevel, "taskCategory" to taskCategory, "plateNumber" to if (plateNumber.isNullOrEmpty()) null else plateNumber, ) return api.statistic(getBody(map)).interceptAwait() } }