diff --git a/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/repository/db/bean/TaskSiteDataBean.kt b/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/repository/db/bean/TaskSiteDataBean.kt index 50049d5951..edd989e81e 100644 --- a/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/repository/db/bean/TaskSiteDataBean.kt +++ b/OCH/shuttle/driver_unmanned/src/main/java/com/mogo/och/unmanned/repository/db/bean/TaskSiteDataBean.kt @@ -144,6 +144,17 @@ data class TaskSiteDataBean( fun toTaskSiteDatas(querySites: List, shiftsId: Long, taskId: Long, lineName: String): MutableList { val result = mutableListOf() var temp: TaskSiteDataBean? = null + + // 先定义变量存储「第一个tag≠2」的元素seq值 + var targetSeq: Int? = null + +// 第一步:遍历找到第一个tag≠2的元素的seq + querySites.forEach { + if (it.tag != 2 && targetSeq == null) { + targetSeq = it.seq + } + } + querySites.forEach { temp = TaskSiteDataBean() temp?.taskId = taskId @@ -158,10 +169,14 @@ data class TaskSiteDataBean( temp?.gcjLat = it.gcjLat temp?.lon = it.lon temp?.lat = it.lat - if (it.seq == 1) { - temp?.drivingStatus = BusStationBean.drivingStatusCurrent - } else { - temp?.drivingStatus = BusStationBean.drivingStatusNotArrived + // 核心:根据tag条件设置drivingStatus + temp?.drivingStatus = when { + // 1. 找到第一个tag≠2的元素 → Current + targetSeq != null && it.seq == targetSeq -> BusStationBean.drivingStatusCurrent + // 2. 该元素之前的 → Passed + targetSeq != null && it.seq!! < targetSeq!! -> BusStationBean.drivingStatusPassed + // 3. 其余情况(包括所有tag=2)→ NotArrived + else -> BusStationBean.drivingStatusNotArrived } temp?.leaving = false temp?.introduction = it.introduction