From a5b7a8b904d542a969a2a2d5ac4b514d4c024029 Mon Sep 17 00:00:00 2001 From: xinfengkun Date: Fri, 12 Dec 2025 15:46:41 +0800 Subject: [PATCH] =?UTF-8?q?[8.3.0][=E4=B8=B4=E6=97=B6=E4=B8=8D=E5=81=9C]?= =?UTF-8?q?=20=E5=A2=9E=E5=8A=A0=E9=A6=96=E5=B0=BE=E7=AB=99=E7=82=B9?= =?UTF-8?q?=E4=B8=B4=E6=97=B6=E4=B8=8D=E5=81=9C=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../weaknet/bean/response/BusRoutesResponse.kt | 12 +++++++++++- .../java/com/mogo/och/weaknet/model/LineModel.kt | 15 +++++++++++++-- .../repository/line/impl/NormalRepository.kt | 12 +++++++++++- .../weaknet/ui/taskrunning/TaskRunningAdapter.kt | 3 ++- .../och/weaknet/ui/taskrunning/TaskRunningView.kt | 3 ++- 5 files changed, 39 insertions(+), 6 deletions(-) diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/response/BusRoutesResponse.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/response/BusRoutesResponse.kt index 79e003576f..9b61318290 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/response/BusRoutesResponse.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/response/BusRoutesResponse.kt @@ -96,13 +96,23 @@ class BusRoutesResponse : BaseData() { result.add(temp!!) // 正在进行中的任务 if (temp!!.drivingStatus == TaskSiteDataBean.drivingStatusCurrent) { - currentStationIndex = index + if (temp!!.tag != 2) { + currentStationIndex = index + } } // 线路信息 if (lineInfo == null && taskAndsite.lineId != null && taskAndsite.lineName != null) { lineInfo = LineInfo(taskAndsite.lineId!!, taskAndsite.lineName!!, orderId = taskAndsite.taskId.toString()) } } + if (currentStationIndex == -1) { + val pos = result.indexOfFirst { it.tag != 2 } + currentStationIndex = if (pos != -1) { + pos + } else { + 0 + } + } lineInfo?.multiMap?.put("taskInfo",LineModel.getTaskTime()) lineInfo?.siteInfos = result LineManager.setLineInfo(lineInfo) diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt index 4183972545..48e7475939 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt @@ -205,16 +205,27 @@ object LineModel { return if (stationList.isNullOrEmpty()) { null }else{ - startStationIndex == stationList!!.size - 1 +// startStationIndex == stationList!!.size - 1 + startStationIndex == getLastStationPos(stationList!!) } + } + private fun getLastStationPos(stationList: MutableList): Int { + for (index in stationList.indices.reversed()) { + val item = stationList[index] + if (item.tag != 2) { + return index + } + } + return stationList.lastIndex } fun isLastStation(end: BusStationBean):Boolean{ return if (stationList.isNullOrEmpty()) { false }else{ - val last = stationList?.last() +// val last = stationList?.last() + val last = stationList!!.reversed().firstOrNull { it.tag != 2 } ?: stationList!!.last() return last==end } } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/line/impl/NormalRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/line/impl/NormalRepository.kt index 26754d91bf..ed5b0a7976 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/line/impl/NormalRepository.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/line/impl/NormalRepository.kt @@ -96,7 +96,9 @@ class NormalRepository: ILineRepository { result.add(temp!!) // 正在进行中的任务 if (temp!!.drivingStatus == TaskSiteDataBean.drivingStatusCurrent) { - currentStationIndex = index + if (temp!!.tag != 2) { + currentStationIndex = index + } } // 线路信息 if (lineInfo == null && busRoutesResult.name != null) { @@ -104,6 +106,14 @@ class NormalRepository: ILineRepository { } } + if (currentStationIndex == -1) { + val pos = result.indexOfFirst { it.tag != 2 } + currentStationIndex = if (pos != -1) { + pos + } else { + 0 + } + } lineInfo?.multiMap?.put("taskInfo", LineModel.getTaskTime()) lineInfo?.siteInfos = result LineManager.setLineInfo(lineInfo) diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunning/TaskRunningAdapter.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunning/TaskRunningAdapter.kt index 6054c3b286..9b51b6a72b 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunning/TaskRunningAdapter.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunning/TaskRunningAdapter.kt @@ -85,7 +85,8 @@ class TaskRunningAdapter( AutoSizeUtils.dp2px(mContext, 45f).toFloat() ) holder.actvStationName.setTextColor(ResourcesUtils.getColor(R.color.bus_color_2EACFF)) - if (LineModel.startStationIndex == mData.size - 1) { +// if (LineModel.startStationIndex == mData.size - 1) { + if (LineModel.isLastStation() == true) { holder.actvWriteOffCount.visibility = View.GONE } else { holder.actvWriteOffCount.visibility = View.VISIBLE diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunning/TaskRunningView.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunning/TaskRunningView.kt index 74e291bfd4..0090d3dfb9 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunning/TaskRunningView.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunning/TaskRunningView.kt @@ -134,7 +134,8 @@ class TaskRunningView : ConstraintLayout, TaskRunningModel.SwtichLineViewCallbac } else { showLeaveStationView() } - if (LineModel.startStationIndex == it.size - 1) { +// if (LineModel.startStationIndex == it.size - 1) { + if (LineModel.isLastStation() == true) { aciv_task_leave_station_slide_bg.setTextValue("单程结束") } else { aciv_task_leave_station_slide_bg.setTextValue("滑动出发")