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 | 48 +++++++++++++++++++++++++++++++----------------- 1 files changed, 31 insertions(+), 17 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 7c0f802..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,21 +389,35 @@ toLonLat = fromLonLat; } } - System.err.println("======服务里程======"+sum); - if(counts < 5){ - orderPrivateCar.setMileage(sum); - // 将数据存储到文件中 - File file = new File(filePath + orderId + "_" + 1 + ".txt"); - if(!file.exists()){ - file.getParentFile().mkdirs(); - file.createNewFile(); - } - //写入相应的文件 - PrintWriter out = new PrintWriter(new FileWriter(file)); - out.write(JSON.toJSONString(orderPositions)); - out.flush(); - out.close(); + + //存储轨迹 + // 将数据存储到文件中 + File file = new File(filePath + orderId + "_" + 1 + ".txt"); + if(!file.exists()){ + file.getParentFile().mkdirs(); + file.createNewFile(); } + //写入相应的文件 + PrintWriter out = new PrintWriter(new FileWriter(file)); + 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); @@ -590,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