From 3682f8f0a9ce3e5d5f55bbafb4455c0dda3c3ae2 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 20 九月 2024 09:13:00 +0800 Subject: [PATCH] 修改bug --- DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 27 +++++++++++++++++++++------ 1 files changed, 21 insertions(+), 6 deletions(-) diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java index 9dfa4bb..3f162df 100644 --- a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java +++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java @@ -389,8 +389,8 @@ toLonLat = fromLonLat; } } - System.err.println("======服务里程======"+sum); - orderPrivateCar.setMileage(sum); + + //存储轨迹 // 将数据存储到文件中 File file = new File(filePath + orderId + "_" + 1 + ".txt"); if(!file.exists()){ @@ -402,7 +402,22 @@ out.write(JSON.toJSONString(orderPositions)); out.flush(); out.close(); - + + orderPrivateCar.setMileage(sum); + orderPrivateCar.setIsAbnormal(0); + + //获取预估里程,使用预估里程作为行驶里程计算金额 +// String origins = orderPrivateCar.getStartLon() + "," + orderPrivateCar.getStartLat(); +// String destination = orderPrivateCar.getGetoffLon() + "," + orderPrivateCar.getGetoffLat(); +// Map<String, String> distance = gdMapElectricFenceUtil.getDistance(origins, destination, 1); +// Double distance1 = Double.valueOf(distance.get("distance")); +// if(distance1 - sum > 1000){ +// orderPrivateCar.setMileage(distance1); +// orderPrivateCar.setIsAbnormal(1); +// }else{ +// orderPrivateCar.setMileage(sum); +// orderPrivateCar.setIsAbnormal(0); +// } break; } this.updateById(orderPrivateCar); @@ -589,10 +604,10 @@ this.updateById(orderPrivateCar); return true;//第一条数据不作处理,直接存储 } - Map<String, String> distance = gdMapElectricFenceUtil.getDistance(now, old, 0);//直线距离 + Map<String, Double> distance = GeodesyUtil.getDistance(now, old);//直线距离 if(null != distance){ - String distance1 = distance.get("distance"); - if(Double.valueOf(distance1) > 50 && orderPrivateCar.getState()==5/* && orderPosition.getInsertTime().getTime()>=orderPrivateCar.getBoardingTime().getTime()*/){//大于50米表示在移动 + Double distance1 = distance.get("WGS84"); + if(distance1 > 50 && orderPrivateCar.getState()==5){//大于50米表示在移动 orderPrivateCar.setMileage(new BigDecimal(orderPrivateCar.getMileage()).add(new BigDecimal(distance1)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); this.updateById(orderPrivateCar); return true; -- Gitblit v1.7.1