From c1d84c4aa7e40f46edfc81e8831b17923db43a17 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Wed, 10 Dec 2025 20:57:19 +0800 Subject: [PATCH] =?UTF-8?q?[8.3.0]BUS=E5=A2=9E=E5=8A=A0=E5=88=B0=E7=AB=99?= =?UTF-8?q?=E4=B8=8D=E5=81=9C=E8=BD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/weaknet/model/LineModel.kt | 3 +++ .../com/mogo/och/weaknet/model/OrderModel.kt | 20 +++++++++++++++---- .../repository/line/impl/NormalRepository.kt | 7 ++++++- .../repository/line/impl/WeaknetRepository.kt | 10 +++++++++- .../ui/taskrunning/TaskRunningAdapter.kt | 6 +++--- 5 files changed, 37 insertions(+), 9 deletions(-) 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 115531b989..4183972545 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 @@ -69,6 +69,9 @@ object LineModel { // 当前站点 @JvmStatic var startStationIndex: Int = 0 //A->B 此处值是A站点索引 + //下一站点 + @JvmStatic + var nextStationIndex: Int = 0 @JvmStatic fun init() { diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt index 71e65bbb68..a349bafe16 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt @@ -485,10 +485,16 @@ object OrderModel { ThirdDeviceData.arriveStation() d(TAG, "arrivedStation onComplete") LineModel.stationList?.let { - LineModel.startStationIndex +=1 + //此处始发站应为上段路程的终点站 + LineModel.startStationIndex = LineModel.nextStationIndex val startStation = LineManager.getStations().second if(LineModel.startStationIndex +1< it.size){ - val endStation = it[LineModel.startStationIndex +1] + //遍历当前路段起始点之后的数组,第一个正常停靠点即为该段终点 + val subStationList = it.subList(LineModel.startStationIndex+1,it.size) + val endStation = subStationList.firstOrNull {bean-> + bean.tag != 2 } + LineModel.nextStationIndex = it.indexOf(endStation) +// val endStation = stationlist[LineModel.startStationIndex + 1] LineManager.setStartAndEndStation(startStation,endStation) LineModel.callEyeMap(5) } @@ -501,10 +507,16 @@ object OrderModel { ThirdDeviceData.arriveStation() d(TAG, "arrivedStation onComplete") LineModel.stationList?.let { - LineModel.startStationIndex +=1 + //此处始发站应为上段路程的终点站 + LineModel.startStationIndex = LineModel.nextStationIndex val startStation = LineManager.getStations().second if(LineModel.startStationIndex +1< it.size){ - val endStation = it[LineModel.startStationIndex +1] + //遍历当前路段起始点之后的数组,第一个正常停靠点即为该段终点 + val subStationList = it.subList(LineModel.startStationIndex+1,it.size) + val endStation = subStationList.firstOrNull {bean-> + bean.tag != 2 } + LineModel.nextStationIndex = it.indexOf(endStation) +// val endStation = stationlist[LineModel.startStationIndex + 1] LineManager.setStartAndEndStation(startStation,endStation) LineModel.callEyeMap(6) } 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 5a5ca1bc50..26754d91bf 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 @@ -127,7 +127,12 @@ class NormalRepository: ILineRepository { LineModel.stationList?.let { stationlist-> val startStation = stationlist[LineModel.startStationIndex] if (LineModel.startStationIndex < stationlist.size-1) { - val endStation = stationlist[LineModel.startStationIndex + 1] + //遍历当前路段起始点之后的数组,第一个正常停靠点即为该段终点 + val subStationList = stationlist.subList(LineModel.startStationIndex+1,stationlist.size) + val endStation = subStationList.firstOrNull {bean-> + bean.tag != 2 } +// val endStation = stationlist[LineModel.startStationIndex + 1] + LineModel.nextStationIndex = stationlist.indexOf(endStation) LineManager.setStartAndEndStation(startStation,endStation) LineModel.callEyeMap(7) } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/line/impl/WeaknetRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/line/impl/WeaknetRepository.kt index 4bfb8e4a2f..8ffb63d88e 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/line/impl/WeaknetRepository.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/line/impl/WeaknetRepository.kt @@ -111,7 +111,12 @@ class WeaknetRepository : ILineRepository { LineModel.stationList?.let { stationlist-> val startStation = stationlist[LineModel.startStationIndex] if (LineModel.startStationIndex < stationlist.size-1) { - val endStation = stationlist[LineModel.startStationIndex + 1] + //遍历当前路段起始点之后的数组,第一个正常停靠点即为该段终点 + val subStationList = stationlist.subList(LineModel.startStationIndex+1,stationlist.size) + val endStation = subStationList.firstOrNull {bean-> + bean.tag != 2 } + LineModel.nextStationIndex = stationlist.indexOf(endStation) +// val endStation = stationlist[LineModel.startStationIndex + 1] LineManager.setStartAndEndStation(startStation,endStation) LineModel.callEyeMap(8) } @@ -349,6 +354,9 @@ class WeaknetRepository : ILineRepository { return TaskDb.startTask(shiftsId,taskId, lineId, lineName) } + /** + * 滑动出发 + */ override fun leaveStation( seq: Int, siteId: Long, 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 33dc0c5ae0..6054c3b286 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 @@ -66,7 +66,7 @@ class TaskRunningAdapter( val line = mData[currentPosition] holder.actvStationName.text = line.name holder.actvWriteOffCount.setSiteId(line.siteId) - val startStationIndex = LineModel.startStationIndex + val startStationIndex = LineModel.startStationIndex //当前站点 if (startStationIndex > 0) { CallerLogger.d(TAG, "位置:$currentPosition 当前站${mData[startStationIndex]} ") } @@ -249,8 +249,8 @@ class TaskRunningAdapter( } } } - if (currentPosition == startStationIndex + 1) { - val preLine = mData[currentPosition - 1] + if (currentPosition == LineModel.nextStationIndex) { + val preLine = mData[startStationIndex] if (preLine.isLeaving) { holder.itemView.setBackgroundResource(R.drawable.bus_task_current_station_bg) } else {