[首站是临时不停、当前站点错误]
This commit is contained in:
yangyakun
2026-03-20 16:10:18 +08:00
parent 69fb8d8b52
commit 9b553fe21c

View File

@@ -144,6 +144,17 @@ data class TaskSiteDataBean(
fun toTaskSiteDatas(querySites: List<SiteDataBean>, shiftsId: Long, taskId: Long, lineName: String): MutableList<TaskSiteDataBean> {
val result = mutableListOf<TaskSiteDataBean>()
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