From 9b553fe21c48a95593b70acf20be02a30fa4c419 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 20 Mar 2026 16:10:18 +0800 Subject: [PATCH] =?UTF-8?q?[8.4.0]=20[=E9=A6=96=E7=AB=99=E6=98=AF=E4=B8=B4?= =?UTF-8?q?=E6=97=B6=E4=B8=8D=E5=81=9C=E3=80=81=E5=BD=93=E5=89=8D=E7=AB=99?= =?UTF-8?q?=E7=82=B9=E9=94=99=E8=AF=AF]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/db/bean/TaskSiteDataBean.kt | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) 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