From 40bc5a67fe0fa6a01711b7b7a12e38a6272510a8 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期三, 17 七月 2024 15:20:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0' into 2.0

---
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/driverActivity/driverActivity_detail.html                           |    4 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TSystemPriceMapper.xml                      |   28 ++++
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java |  220 +++++++++++++++++++++++++++++++
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TSystemPriceServiceImpl.java               |    4 
 ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tOrderPrivateCar/tOrderPrivateCar.js                              |    4 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverActivityServiceImpl.java             |   10 +
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/DriverActivityController.java        |    1 
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/driverActivity/driverActivity_edit.html                             |    4 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/DriverActivity.java                               |    1 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/PlatformController.java                      |   54 ++++---
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java     |    2 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TSystemPriceMapper.java                             |   15 ++
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java                      |    3 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderPrivateCar.java                             |   34 ++++
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/DriverActivityOnline.java                         |    5 
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITSystemPriceService.java                       |    7 +
 16 files changed, 356 insertions(+), 40 deletions(-)

diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/PlatformController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/PlatformController.java
index 2fcb7a5..1539fac 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/PlatformController.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/PlatformController.java
@@ -535,6 +535,7 @@
                             .ne("type", 1)
                             .isNotNull("orderType")
                             .between("insertTime", start, end));
+
                     break;
                 case 4:
                     if(payType!=null && payType == 2){
@@ -603,7 +604,7 @@
                             switch (tOrderPrivateCar1.getPayType()){
                                 case 1:
                                     if (payType!=null){
-                                        if (payType == 1){
+                                        if (payType != 1){
                                             continue;
                                         }
                                     }
@@ -611,7 +612,7 @@
                                     break;
                                 case 2:
                                     if (payType!=null){
-                                        if (payType == 2){
+                                        if (payType != 2){
                                             continue;
                                         }
                                     }
@@ -655,7 +656,7 @@
                             switch (tOrderLogistics.getPayType()){
                                 case 1:
                                     if (payType!=null){
-                                        if (payType == 1){
+                                        if (payType != 1){
                                             continue;
                                         }
                                     }
@@ -663,7 +664,7 @@
                                     break;
                                 case 2:
                                     if (payType!=null){
-                                        if (payType == 2){
+                                        if (payType != 2){
                                             continue;
                                         }
                                     }
@@ -741,7 +742,7 @@
                     switch (paymentRecord.getPayType()){
                         case 1:
                             if (payType!=null){
-                                if (payType == 1){
+                                if (payType != 1){
                                     continue;
                                 }
                             }
@@ -749,7 +750,7 @@
                             break;
                         case 2:
                             if (payType!=null){
-                                if (payType == 2){
+                                if (payType != 2){
                                     continue;
                                 }
                             }
@@ -812,7 +813,7 @@
                     switch (tOrderPrivateCar.getPayType()){
                         case 1:
                             if (payType!=null){
-                                if (payType == 1){
+                                if (payType != 1){
                                     continue;
                                 }
                             }
@@ -820,7 +821,7 @@
                             break;
                         case 2:
                             if (payType!=null){
-                                if (payType == 2){
+                                if (payType != 2){
                                     continue;
                                 }
                             }
@@ -862,7 +863,7 @@
                     switch (tOrderLogistics.getPayType()){
                         case 1:
                             if (payType!=null){
-                                if (payType == 1){
+                                if (payType != 1){
                                     continue;
                                 }
                             }
@@ -870,7 +871,7 @@
                             break;
                         case 2:
                             if (payType!=null){
-                                if (payType == 2){
+                                if (payType != 2){
                                     continue;
                                 }
                             }
@@ -1100,6 +1101,7 @@
 //                .between("insertTime", start, end);
         // 用户订单wrapper
         Wrapper<TPubTransactionDetails> between1 = new EntityWrapper<TPubTransactionDetails>()
+                .eq("userType",1)
                 .in("orderType", Arrays.asList(1, 4))
                 .between("insertTime", start, end);
 
@@ -1188,7 +1190,7 @@
                             switch (tOrderPrivateCar1.getPayType()){
                                 case 1:
                                     if (payType!=null){
-                                        if (payType == 1){
+                                        if (payType != 1){
                                             continue;
                                         }
                                     }
@@ -1196,7 +1198,7 @@
                                     break;
                                 case 2:
                                     if (payType!=null){
-                                        if (payType == 2){
+                                        if (payType != 2){
                                             continue;
                                         }
                                     }
@@ -1240,7 +1242,7 @@
                             switch (tOrderLogistics.getPayType()){
                                 case 1:
                                     if (payType!=null){
-                                        if (payType == 1){
+                                        if (payType != 1){
                                             continue;
                                         }
                                     }
@@ -1248,7 +1250,7 @@
                                     break;
                                 case 2:
                                     if (payType!=null){
-                                        if (payType == 2){
+                                        if (payType != 2){
                                             continue;
                                         }
                                     }
@@ -1326,7 +1328,7 @@
                     switch (paymentRecord.getPayType()){
                         case 1:
                             if (payType!=null){
-                                if (payType == 1){
+                                if (payType != 1){
                                     continue;
                                 }
                             }
@@ -1334,7 +1336,7 @@
                             break;
                         case 2:
                             if (payType!=null){
-                                if (payType == 2){
+                                if (payType != 2){
                                     continue;
                                 }
                             }
@@ -1397,7 +1399,7 @@
                     switch (tOrderPrivateCar.getPayType()){
                         case 1:
                             if (payType!=null){
-                                if (payType == 1){
+                                if (payType != 1){
                                     continue;
                                 }
                             }
@@ -1405,7 +1407,7 @@
                             break;
                         case 2:
                             if (payType!=null){
-                                if (payType == 2){
+                                if (payType != 2){
                                     continue;
                                 }
                             }
@@ -1447,7 +1449,7 @@
                     switch (tOrderLogistics.getPayType()){
                         case 1:
                             if (payType!=null){
-                                if (payType == 1){
+                                if (payType != 1){
                                     continue;
                                 }
                             }
@@ -1455,7 +1457,7 @@
                             break;
                         case 2:
                             if (payType!=null){
-                                if (payType == 2){
+                                if (payType != 2){
                                     continue;
                                 }
                             }
@@ -1648,8 +1650,6 @@
                              .ne("type", 1)
                              .isNotNull("orderType")
                                 .between("insertTime", start, end));
-
-
                     break;
                 case 2:
                     // 未结算
@@ -1695,9 +1695,13 @@
                         platformVO.setEndTime(format.format(income.getInsertTime()));
                     }
                     platformVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime()));
-                    String string = income.getMoney().toString();
-                    BigDecimal bigDecimal1 = new BigDecimal(string);
-                    platformVO.setMoney(bigDecimal1);
+                    if (tOrderPrivateCar.getOrderMoney() != null){
+                        String string = tOrderPrivateCar.getOrderMoney().toString();
+                        BigDecimal bigDecimal1 = new BigDecimal(string);
+                        platformVO.setMoney(bigDecimal1);
+                    }else{
+                        continue;
+                    }
                     if (tOrderPrivateCar.getPayType() == null){
                         continue;
                     }
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java
index d13ddf3..29a9323 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java
@@ -643,7 +643,7 @@
                 grantVO.setName(tUser.getNickName());
             }
             grantVO.setRemark("订单号:"+tOrderPrivateCar.getOrderNum());
-
+            res.add(grantVO);
         }
         for (TOrderLogistics tOrderPrivateCar : tOrderLogistics) {
             if (tOrderPrivateCar.getState() != 9 &&tOrderPrivateCar.getState() != 8){
@@ -659,6 +659,7 @@
                 grantVO.setName(tUser.getNickName());
             }
             grantVO.setRemark("订单号:"+tOrderPrivateCar.getOrderNum());
+            res.add(grantVO);
         }
         // 查询已领取红包总额
         for (TOrderPrivateCar userRedPacketRecord : userRedPacketRecords) {
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/DriverActivityController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/DriverActivityController.java
index 8ff141a..4ffda7d 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/DriverActivityController.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/DriverActivityController.java
@@ -250,7 +250,6 @@
             , Integer num10
             , Double num11
             , String num12
-
     ) {
 
         driverActivityService.insertOrUpdate(null,staTime,startTime,  num1,  num2
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java
index 1abaeb0..48de09f 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java
@@ -1,6 +1,9 @@
 package com.stylefeng.guns.modular.system.controller.specialTrain;
 
+import cn.hutool.system.UserInfo;
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.google.gson.Gson;
@@ -12,6 +15,7 @@
 import com.stylefeng.guns.core.util.SinataUtil;
 import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.system.dao.OrderCancelMapper;
+import com.stylefeng.guns.modular.system.dao.TSystemPriceMapper;
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.GoogleMap.FleetEngineUtil;
@@ -32,6 +36,8 @@
 import java.io.FileInputStream;
 import java.io.InputStreamReader;
 import java.math.BigDecimal;
+import java.math.MathContext;
+import java.math.RoundingMode;
 import java.util.*;
 
 /**
@@ -204,7 +210,7 @@
 
     @RequestMapping(value = "/frozenOrder")
     @ResponseBody
-    public Object frozenOrder(@RequestParam Integer tOrderPrivateCarId) {
+    public Object frozenOrder(@RequestParam Integer tOrderPrivateCarId) throws Exception {
         TOrderPrivateCar orderPrivateCar = tOrderPrivateCarService.selectById(tOrderPrivateCarId);
 
         //添加已收入明细
@@ -239,9 +245,221 @@
         }
 
         orderPrivateCar.setIsFrozen(orderPrivateCar.getIsFrozen()==1?2:1);
+        orderPrivateCar = this.setMoney(orderPrivateCar, 0D, 0D);//计算费用
         tOrderPrivateCarService.updateAllColumnById(orderPrivateCar);
+
         return SUCCESS_TIP;
     }
+    @Resource
+    private TSystemPriceMapper systemPriceMapper;
+    public TOrderPrivateCar setMoney(TOrderPrivateCar orderPrivateCar, Double parkingFee, Double crossingFee) throws Exception {
+        Map<String, Object> query1 = systemPriceMapper.query(orderPrivateCar.getCompanyId(), 1, orderPrivateCar.getServerCarModelId());
+        //开始根据不同的方式计算金额
+        double amount = 0;
+        JSONObject jsonObject = JSON.parseObject(query1.get("content").toString());
+        Double num1 = jsonObject.getDouble("num1");//起步价(元)
+        Double num2 = jsonObject.getDouble("num2");//起步公里(公里)
+        Double num3 = jsonObject.getDouble("num3");//起步时间(分钟)
+        Double num4 = jsonObject.getDouble("num4");//里程费(元)
+        Double num5 = jsonObject.getDouble("num5");//时长费(分钟)
+        Double num6 = jsonObject.getDouble("num6");//等待费(分钟)
+        Double num7 = jsonObject.getDouble("num7");//等待费(元)
+        Double num8 = jsonObject.getDouble("num8");//远途费(公里)
+        Double num9 = jsonObject.getDouble("num9");//远途费(公里)
+        Double num10 = jsonObject.getDouble("num10");//远途费(元)
+        Double num11 = jsonObject.getDouble("num11");//远途费(公里)
+        Double num12 = jsonObject.getDouble("num12");//远途费(公里)
+        Double num13 = jsonObject.getDouble("num13");//远途费(元)
+        Double num14 = jsonObject.getDouble("num14");//远途费(公里)
+        Double num15 = jsonObject.getDouble("num15");//远途费(元)
+        String num16 = jsonObject.getString("num16");//夜间费(开始时间)
+        Double num17 = jsonObject.getDouble("num17");//夜间费(元)
+        Double num18 = jsonObject.getDouble("num18");//夜间费(元)
+        Double num19 = jsonObject.getDouble("num19");//夜间费(元)
+        Double num20 = jsonObject.getDouble("num20");//夜间费(元)
+        Double num21 = jsonObject.getDouble("num21");//夜间费(元)
+        Double num22 = jsonObject.getDouble("num22");//夜间费(元)
+        String num23 = jsonObject.getString("num23");//高峰费(开始时间)
+        String num24 = jsonObject.getString("num24");//高峰费(开始时间)
+        Double num25 = jsonObject.getDouble("num25");//高峰费(元)
+        Double num26 = jsonObject.getDouble("num26");//高峰费(元)
+        Double num27 = jsonObject.getDouble("num27");//高峰费(元)
+        Double num28 = jsonObject.getDouble("num28");//高峰费(元)
+        Double num29 = jsonObject.getDouble("num29");//高峰费(元)
+        Double num30 = jsonObject.getDouble("num30");//高峰费(元)
+
+        Date date = new Date();
+        double d = (null == orderPrivateCar.getMileage() ? 0D : orderPrivateCar.getMileage()) / 1000;//实际公里
+        double t = ((orderPrivateCar.getEndServiceTime().getTime() - orderPrivateCar.getStartServiceTime().getTime()) / 60000) + 1;//实际时间(不满一分钟按一分钟算)
+        double w = ((orderPrivateCar.getStartServiceTime().getTime() - orderPrivateCar.getArriveTime().getTime()) / 60000) + 1;//等待分钟(不满一分钟按一分钟算)
+        double d1 = (d - num2) < 0 ? 0 : d - num2;//超出起步里程的公里
+        double t1 = (t - num3) < 0 ? 0 : new BigDecimal(t - num3).setScale(0, BigDecimal.ROUND_UP).doubleValue();//超过起步分钟数的时间
+        double w1 = (w - num6) < 0 ? 0 : new BigDecimal(w - num6).setScale(0, BigDecimal.ROUND_UP).doubleValue();//超出等待时间的时间
+        double yt1 = 0;//远途1段
+        double yt2 = 0;//远途2段
+        double yt3 = 0;//远途3段
+
+
+        //夜间服务处理逻辑
+        if(ToolUtil.isNotEmpty(num16)){
+            Calendar s = Calendar.getInstance();
+            s.setTime(date);
+            s.set(Calendar.HOUR_OF_DAY, Integer.valueOf(num16.split(" - ")[0].split(":")[0]));
+            s.set(Calendar.MINUTE, Integer.valueOf(num16.split(" - ")[0].split(":")[1]));
+
+            Calendar e = Calendar.getInstance();
+            e.setTime(date);
+            e.set(Calendar.HOUR_OF_DAY, Integer.valueOf(num16.split(" - ")[1].split(":")[0]));
+            e.set(Calendar.MINUTE, Integer.valueOf(num16.split(" - ")[1].split(":")[1]));
+
+            if(date.getTime() > s.getTimeInMillis() && date.getTime() < e.getTimeInMillis()){
+                if(d > num8.doubleValue() && d <= num9.doubleValue()){
+                    yt1 = num20 * (d - num8);
+                }
+                if(d > num9.doubleValue()){
+                    yt1 = num20 * (num9 - num8);
+                }
+                if(d > num11.doubleValue() && d <= num12.doubleValue()){
+                    yt2 = num21 * (d - num11);
+                }
+                if(d > num12.doubleValue()){
+                    yt2 = num21 * (num12 - num11);
+                }
+                if(d > num14.doubleValue()){
+                    yt3 = num22 * (d - num14);
+                }
+                amount = num17 + (d1 * num18) + (t1 * num19) + (w1 * num7) + yt1 + yt2 + yt3;
+                orderPrivateCar.setStartMileage(num2);
+                orderPrivateCar.setStartMoney(new BigDecimal(num17));//起步价
+                orderPrivateCar.setStartDuration((int)(num3.doubleValue()));
+                orderPrivateCar.setMileageKilometers(new BigDecimal(d1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+                orderPrivateCar.setMileageMoney(new BigDecimal(d1 * num18).setScale(2, BigDecimal.ROUND_HALF_EVEN));//里程费
+                orderPrivateCar.setDuration(new BigDecimal(t1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+                orderPrivateCar.setDurationMoney(new BigDecimal(t1 * num19).setScale(2, BigDecimal.ROUND_HALF_EVEN));//时长费
+                orderPrivateCar.setWait(new BigDecimal(w1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+                orderPrivateCar.setWaitMoney(new BigDecimal(w1 * num7).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//等待费
+                orderPrivateCar.setLongDistance(new BigDecimal((d > num8) ? d - num8 : 0).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+                orderPrivateCar.setLongDistanceMoney(new BigDecimal(yt1 + yt2 + yt3).setScale(2, BigDecimal.ROUND_HALF_EVEN));//远途费
+                orderPrivateCar.setParkMoney(new BigDecimal(parkingFee));//停车费
+                orderPrivateCar.setRoadTollMoney(new BigDecimal(crossingFee));//过路费
+                orderPrivateCar.setRedPacketMoney(new BigDecimal("0"));//红包抵扣
+                orderPrivateCar.setCouponMoney(new BigDecimal("0"));//优惠券抵扣
+                orderPrivateCar.setDiscount(0D);//优惠抵扣
+                orderPrivateCar.setPayMoney(new BigDecimal("0"));//支付金额
+                orderPrivateCar.setOrderMoney(new BigDecimal(amount + parkingFee + crossingFee).setScale(2, BigDecimal.ROUND_HALF_EVEN));
+                orderPrivateCar.setMoneyType(2);
+                orderPrivateCar.setMoneyTime(num16);
+                return orderPrivateCar;
+            }
+        }
+
+
+        //高峰时段处理逻辑
+        Calendar s1 = Calendar.getInstance();
+        s1.setTime(date);
+        s1.set(Calendar.HOUR_OF_DAY, Integer.valueOf(num23.split(" - ")[0].split(":")[0]));
+        s1.set(Calendar.MINUTE, Integer.valueOf(num23.split(" - ")[0].split(":")[1]));
+
+        Calendar e1 = Calendar.getInstance();
+        e1.setTime(date);
+        e1.set(Calendar.HOUR_OF_DAY, Integer.valueOf(num23.split(" - ")[1].split(":")[0]));
+        e1.set(Calendar.MINUTE, Integer.valueOf(num23.split(" - ")[1].split(":")[1]));
+
+        Calendar s2 = Calendar.getInstance();
+        s2.setTime(date);
+        s2.set(Calendar.HOUR_OF_DAY, Integer.valueOf(num24.split(" - ")[0].split(":")[0]));
+        s2.set(Calendar.MINUTE, Integer.valueOf(num24.split(" - ")[0].split(":")[1]));
+
+        Calendar e2 = Calendar.getInstance();
+        e2.setTime(date);
+        e2.set(Calendar.HOUR_OF_DAY, Integer.valueOf(num24.split(" - ")[1].split(":")[0]));
+        e2.set(Calendar.MINUTE, Integer.valueOf(num24.split(" - ")[1].split(":")[1]));
+
+        if((date.getTime() > s1.getTimeInMillis() && date.getTime() < e1.getTimeInMillis()) || (date.getTime() > s2.getTimeInMillis() && date.getTime() < e2.getTimeInMillis())){
+            if(d > num8.doubleValue() && d <= num9.doubleValue()){
+                yt1 = num28 * (d - num8);
+            }
+            if(d > num9.doubleValue()){
+                yt1 = num28 * (num9 - num8);
+            }
+            if(d > num11.doubleValue() && d <= num12.doubleValue()){
+                yt2 = num29 * (d - num11);
+            }
+            if(d > num12.doubleValue()){
+                yt2 = num29 * (num12 - num11);
+            }
+            if(d > num14.doubleValue()){
+                yt3 = num30 * (d - num14);
+            }
+            amount = num25 + (d1 * num26) + (t1 * num27) + (w1 * num7) + yt1 + yt2 + yt3;
+            orderPrivateCar.setStartMileage(num2);
+            orderPrivateCar.setStartDuration((int)(num3.doubleValue()));
+            orderPrivateCar.setStartMoney(new BigDecimal(num25));//起步价
+            orderPrivateCar.setMileageKilometers(new BigDecimal(d1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+            orderPrivateCar.setMileageMoney(new BigDecimal(d1 * num26).setScale(2, BigDecimal.ROUND_HALF_EVEN));//里程费
+            orderPrivateCar.setDuration(new BigDecimal(t1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+            orderPrivateCar.setDurationMoney(new BigDecimal(t1 * num27).setScale(2, BigDecimal.ROUND_HALF_EVEN));//时长费
+            orderPrivateCar.setWait(new BigDecimal(w1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+            orderPrivateCar.setWaitMoney(new BigDecimal(w1 * num7).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//等待费
+            orderPrivateCar.setLongDistance(new BigDecimal((d > num8) ? d - num8 : 0).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+            orderPrivateCar.setLongDistanceMoney(new BigDecimal(yt1 + yt2 + yt3).setScale(2, BigDecimal.ROUND_HALF_EVEN));//远途费
+            orderPrivateCar.setParkMoney(new BigDecimal(parkingFee));//停车费
+            orderPrivateCar.setRoadTollMoney(new BigDecimal(crossingFee));//过路费
+            orderPrivateCar.setRedPacketMoney(new BigDecimal("0"));//红包抵扣
+            orderPrivateCar.setCouponMoney(new BigDecimal("0"));//优惠券抵扣
+            orderPrivateCar.setDiscount(0D);//优惠抵扣
+            orderPrivateCar.setPayMoney(new BigDecimal("0"));//支付金额
+            orderPrivateCar.setOrderMoney(new BigDecimal(amount + parkingFee + crossingFee).setScale(2, BigDecimal.ROUND_HALF_EVEN));
+
+            orderPrivateCar.setMoneyType(3);
+            if((date.getTime() > s1.getTimeInMillis() && date.getTime() < e1.getTimeInMillis())){
+                orderPrivateCar.setMoneyTime(num23);
+            }else{
+                orderPrivateCar.setMoneyTime(num24);
+            }
+
+            return orderPrivateCar;
+        }
+
+        //其他时间段的计算
+        if(d > num8.doubleValue() && d <= num9.doubleValue()){
+            yt1 = num10 * (d - num8);
+        }
+        if(d > num9.doubleValue()){
+            yt1 = num10 * (num9 - num8);
+        }
+        if(d > num11.doubleValue() && d <= num12.doubleValue()){
+            yt2 = num13 * (d - num11);
+        }
+        if(d > num12.doubleValue()){
+            yt2 = num13 * (num12 - num11);
+        }
+        if(d > num14.doubleValue()){
+            yt3 = num15 * (d - num14);
+        }
+        amount = num1 + (d1 * num4) + (t1 * num5) + (w1 * num7) + yt1 + yt2 + yt3;
+        orderPrivateCar.setStartMileage(num2);
+        orderPrivateCar.setStartDuration((int)(num3.doubleValue()));
+        orderPrivateCar.setStartMoney(new BigDecimal(num1));//起步价
+        orderPrivateCar.setMileageKilometers(new BigDecimal(d1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+        orderPrivateCar.setMileageMoney(new BigDecimal(d1 * num4).setScale(2, BigDecimal.ROUND_HALF_EVEN));//里程费
+        orderPrivateCar.setDuration(new BigDecimal(t1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+        orderPrivateCar.setDurationMoney(new BigDecimal(t1 * num5).setScale(2, BigDecimal.ROUND_HALF_EVEN));//时长费
+        orderPrivateCar.setWait(new BigDecimal(w1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+        orderPrivateCar.setWaitMoney(new BigDecimal(w1 * num7).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//等待费
+        orderPrivateCar.setLongDistance(new BigDecimal((d > num8) ? d - num8 : 0).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+        orderPrivateCar.setLongDistanceMoney(new BigDecimal(yt1 + yt2 + yt3).setScale(2, BigDecimal.ROUND_HALF_EVEN));//远途费
+        orderPrivateCar.setParkMoney(new BigDecimal(parkingFee));//停车费
+        orderPrivateCar.setRoadTollMoney(new BigDecimal(crossingFee));//过路费
+        orderPrivateCar.setRedPacketMoney(new BigDecimal("0"));//红包抵扣
+        orderPrivateCar.setCouponMoney(new BigDecimal("0"));//优惠券抵扣
+        orderPrivateCar.setDiscount(0D);//优惠抵扣
+        orderPrivateCar.setPayMoney(new BigDecimal("0"));//支付金额
+        orderPrivateCar.setOrderMoney(new BigDecimal(amount + parkingFee + crossingFee).setScale(2, BigDecimal.ROUND_HALF_EVEN));
+//
+        orderPrivateCar.setMoneyType(1);
+        return orderPrivateCar;
+    }
     /**
      * 支付专车订单
      */
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java
index 36d486f..89b722e 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java
@@ -175,7 +175,7 @@
     @ResponseBody
     public Object listSmall(String name,Integer state) {
         Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
-        page.setRecords(tSystemPriceService.getSpecialPriceList(page,ShiroKit.getUser().getObjectId(),name,state));
+        page.setRecords(tSystemPriceService.getSpecialPriceList1(page,ShiroKit.getUser().getObjectId(),name,state));
         return super.packForBT(page);
     }
 
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TSystemPriceMapper.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TSystemPriceMapper.java
index af7ac0e..74930ce 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TSystemPriceMapper.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TSystemPriceMapper.java
@@ -25,4 +25,19 @@
                                                  @Param("companyId") Integer companyId,
                                                  @Param("name") String name,
                                                  @Param("state") Integer state);
+    /**
+     * 查询小件物流价格设置
+     */
+    List<Map<String,Object>> getSpecialPriceList1(@Param("page") Page<Map<String, Object>> page,
+                                                 @Param("companyId") Integer companyId,
+                                                 @Param("name") String name,
+                                                 @Param("state") Integer state);
+    /**
+     * 获取价格
+     * @param companyId
+     * @param type
+     * @return
+     */
+    Map<String, Object> query(@Param("companyId") Integer companyId, @Param("type") Integer type,
+                              @Param("serverCarModelId") Integer serverCarModelId);
 }
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TSystemPriceMapper.xml b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TSystemPriceMapper.xml
index 42e2f0e..6e92c48 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TSystemPriceMapper.xml
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TSystemPriceMapper.xml
@@ -23,6 +23,21 @@
             SELECT * FROM (SELECT sp.id,sp.type,sp.companyId,sc.`name`,sc.img,sp.state from t_system_price as sp
         LEFT JOIN t_server_carmodel as sc on sc.id = sp.serverCarModelId) as o
         <where>
+            o.type = 1 and o.state != 3 and o.companyId = #{companyId}
+            <if test="name != null and name != ''">
+                and o.name LIKE CONCAT('%',#{name},'%')
+            </if>
+            <if test="state != null and state != ''">
+                and o.state = #{state}
+            </if>
+        </where>
+        order by o.id desc
+    </select>
+    <!--查询小件物流价格设置-->
+    <select id="getSpecialPriceList1" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
+            SELECT * FROM (SELECT sp.id,sp.type,sp.companyId,sc.`name`,sc.img,sp.state from t_system_price as sp
+        LEFT JOIN t_server_carmodel as sc on sc.id = sp.serverCarModelId) as o
+        <where>
             o.type = 4 and o.state != 3 and o.companyId = #{companyId}
             <if test="name != null and name != ''">
                 and o.name LIKE CONCAT('%',#{name},'%')
@@ -34,4 +49,17 @@
         order by o.id desc
     </select>
 
+    <select id="query" resultType="map">
+        select
+        id as id,
+        content as content
+        from t_system_price where companyId = #{companyId}
+        <if test="null != type">
+            and `type` = #{type}
+        </if>
+        <if test="null != serverCarModelId">
+            and serverCarModelId = #{serverCarModelId}
+        </if>
+    </select>
+
 </mapper>
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/DriverActivity.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/DriverActivity.java
index 17d8c7e..970a9b4 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/DriverActivity.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/DriverActivity.java
@@ -55,7 +55,6 @@
     private Date endTime;
 
     private Integer companyType;
-    private String offline;
 
     public Integer getCompanyType() {
         return companyType;
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/DriverActivityOnline.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/DriverActivityOnline.java
index cbcadac..4932b85 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/DriverActivityOnline.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/DriverActivityOnline.java
@@ -5,6 +5,8 @@
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.activerecord.Model;
 import com.baomidou.mybatisplus.annotations.TableName;
+import lombok.Data;
+
 import java.io.Serializable;
 
 /**
@@ -16,6 +18,7 @@
  * @since 2020-06-17
  */
 @TableName("t_driver_activity_online")
+@Data
 public class DriverActivityOnline extends Model<DriverActivityOnline> {
 
     private static final long serialVersionUID = 1L;
@@ -42,6 +45,8 @@
      * 奖励金额
      */
     private Double money;
+    // 自动下班时间
+    private Double offlineTime;
     /**
      * 有效期开始时间
      */
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderPrivateCar.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderPrivateCar.java
index bb5d30e..5429df0 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderPrivateCar.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderPrivateCar.java
@@ -1,5 +1,6 @@
 package com.stylefeng.guns.modular.system.model;
 
+import com.baomidou.mybatisplus.annotations.TableField;
 import com.baomidou.mybatisplus.enums.IdType;
 import java.math.BigDecimal;
 import java.util.Date;
@@ -34,6 +35,36 @@
      */
     private Integer type;
     private String remark;
+    @TableField("startMileage")
+    private Double startMileage;
+
+    private Integer startDuration;
+    @TableField("duration")
+    private Double duration;
+    @TableField("wait")
+    private Double wait;
+    @TableField("longDistance")
+    private Double longDistance;
+
+    @TableField("mileageKilometers")
+    private Double mileageKilometers;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
     /**
      * 用户id
@@ -137,7 +168,8 @@
     private BigDecimal orderMoney;
 
     private Double waitMoney;
-
+    private Integer moneyType;
+    private String moneyTime;
     /**
      * 起步价
      */
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITSystemPriceService.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITSystemPriceService.java
index 03fdca8..3563be8 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITSystemPriceService.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITSystemPriceService.java
@@ -25,4 +25,11 @@
                                                  @Param("companyId") Integer companyId,
                                                  @Param("name") String name,
                                                  @Param("state") Integer state);
+    /**
+     * 查询小件物流价格设置
+     */
+    List<Map<String,Object>> getSpecialPriceList1(@Param("page") Page<Map<String, Object>> page,
+                                                 @Param("companyId") Integer companyId,
+                                                 @Param("name") String name,
+                                                 @Param("state") Integer state);
 }
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverActivityServiceImpl.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverActivityServiceImpl.java
index 370509d..fdc9937 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverActivityServiceImpl.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverActivityServiceImpl.java
@@ -52,7 +52,10 @@
     }
 
     @Override
-    public void insertOrUpdate(Integer id, String staTime, String startTime, String num1, Double num2, Double num3, Integer num4, Double num5, Integer num6, Double num7, Integer num8, Double num9, Integer num10, Double num11,String num12) {
+    public void insertOrUpdate(Integer id, String staTime, String startTime,
+                               String num1, Double num2, Double num3, Integer num4,
+                               Double num5, Integer num6, Double num7, Integer num8,
+                               Double num9, Integer num10, Double num11,String num12) {
         //判断id是否为空,为空执行添加,或者执行修改
         if(id==null){
             String[] timeArray = startTime.split(" - ");
@@ -69,7 +72,6 @@
             driverActivity.setName(num1);
             driverActivity.setStartTime(startTimes);
             driverActivity.setEndTime(endTimes);
-            driverActivity.setOffline(num12);
             driverActivity.insertOrUpdate();
             //添加在线活动-专车
             DriverActivityOnline driverActivityOnline = new DriverActivityOnline();
@@ -81,6 +83,7 @@
             driverActivityOnline.setType(1);
             driverActivityOnline.setOnline(num4);
             driverActivityOnline.setMoney(num5);
+            driverActivityOnline.setOfflineTime(Double.valueOf(num12));
             driverActivityOnline.insertOrUpdate();
 //            //添加在线活动-出租车
 //            driverActivityOnline = new DriverActivityOnline();
@@ -152,7 +155,7 @@
             driverActivity.setName(num1);
             driverActivity.setStartTime(startTimes);
             driverActivity.setEndTime(endTimes);
-            driverActivity.setOffline(num12);
+
             driverActivity.insertOrUpdate();
             //添加在线活动-专车
             DriverActivityOnline driverActivityOnline = driverActivityOnlineService.selectOne(new EntityWrapper<DriverActivityOnline>().eq("driverActivityId",id).eq("type",1));
@@ -167,6 +170,7 @@
             driverActivityOnline.setType(1);
             driverActivityOnline.setOnline(num4);
             driverActivityOnline.setMoney(num5);
+            driverActivityOnline.setOfflineTime(Double.valueOf(num12));
             driverActivityOnline.insertOrUpdate();
             //添加在线活动-出租车
 //            driverActivityOnline = driverActivityOnlineService.selectOne(new EntityWrapper<DriverActivityOnline>().eq("driverActivityId",id).eq("type",2));
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TSystemPriceServiceImpl.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TSystemPriceServiceImpl.java
index 06c8caa..7a1903a 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TSystemPriceServiceImpl.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TSystemPriceServiceImpl.java
@@ -25,4 +25,8 @@
     public List<Map<String, Object>> getSpecialPriceList(Page<Map<String, Object>> page, Integer companyId, String name, Integer state) {
         return this.baseMapper.getSpecialPriceList(page, companyId, name, state);
     }
+    @Override
+    public List<Map<String, Object>> getSpecialPriceList1(Page<Map<String, Object>> page, Integer companyId, String name, Integer state) {
+        return this.baseMapper.getSpecialPriceList1(page, companyId, name, state);
+    }
 }
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/driverActivity/driverActivity_detail.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/driverActivity/driverActivity_detail.html
index 4bfe147..b6c58d3 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/driverActivity/driverActivity_detail.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/driverActivity/driverActivity_detail.html
@@ -55,8 +55,8 @@
                                          name="zc7" class="form-control newWidth" readonly/>&nbsp;GHS
                             <br/>
                             <br/>
-                            连续在线&nbsp;<input type="text" @if(isNotEmpty(item.offline)){
-                                                 value="${item.offline}"
+                            连续在线&nbsp;<input type="text" @if(isNotEmpty(online1.offlineTime)){
+                                                 value="${item.offlineTime}"
                                                  @}else{
                                                  value=""
                                                  @}
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/driverActivity/driverActivity_edit.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/driverActivity/driverActivity_edit.html
index 1c12ac6..fbcb784 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/driverActivity/driverActivity_edit.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/driverActivity/driverActivity_edit.html
@@ -56,8 +56,8 @@
                                          name="zc7" id="num5" class="form-control newWidth"/>&nbsp;GHS
                             <br/>
                             <br/>
-                            连续在线&nbsp;<input type="text" @if(isNotEmpty(item.offline)){
-                                                 value="${item.offline}"
+                            连续在线&nbsp;<input type="text" @if(isNotEmpty(item.offlineTime)){
+                                                 value="${item.offlineTime}"
                                                  @}else{
                                                  value=""
                                                  @}
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tOrderPrivateCar/tOrderPrivateCar.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tOrderPrivateCar/tOrderPrivateCar.js
index 6b48130..df5ad1e 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tOrderPrivateCar/tOrderPrivateCar.js
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tOrderPrivateCar/tOrderPrivateCar.js
@@ -339,8 +339,8 @@
 }
 TOrderPrivateCar.frozenOrder = function(){
     if (this.check()) {
-        if (TOrderPrivateCar.seItem.state != 8 && TOrderPrivateCar.seItem.state != 9 ) {
-            swal("操作失败", "【已完成】状态下才能执行此操作", "warning");
+        if (TOrderPrivateCar.seItem.state != 5  ) {
+            swal("操作失败", "【服务中】状态下才能执行此操作", "warning");
             return;
         }else{
             var ajax = new $ax(Feng.ctxPath + "/tOrderPrivateCar/frozenOrder", function (data) {

--
Gitblit v1.7.1