wuxw пре 6 година
родитељ
комит
2b1f74265f

+ 17 - 3
Api/src/main/java/com/java110/api/listener/machineTranslate/MachineRoadGateOpenListener.java

@@ -232,18 +232,32 @@ public class MachineRoadGateOpenListener extends BaseMachineListener {
         List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
 
         FeeConfigDto tmpFeeConfigDto = feeConfigDtos.get(0);
-        Double hour = Math.ceil((nowTime.getTime() - inTime.getTime()) / (60 * 60 * 1000));
+        long diff = nowTime.getTime() - inTime.getTime();
+        long nd = 1000 * 24 * 60 * 60;// 一天的毫秒数
+        long nh = 1000 * 60 * 60;// 一小时的毫秒数
+        long nm = 1000 * 60;// 一分钟的毫秒数
+        double day = 0;
+        double hour = 0;
+        double min = 0;
+        day = diff / nd;// 计算差多少天
+        hour = diff % nd / nh + day * 24;// 计算差多少小时
+        min = diff % nd % nh / nm + day * 24 * 60;// 计算差多少分钟
         double money = 0.00;
-        if (hour <= 2) {
+        double newHour = hour;
+        if (min > 0) { //一小时超过
+            newHour += 1;
+        }
+        if (newHour <= 2) {
             money = Double.parseDouble(tmpFeeConfigDto.getAdditionalAmount());
         } else {
-            double lastHour = hour - 2;
+            double lastHour = newHour - 2;
             money = lastHour * Double.parseDouble(tmpFeeConfigDto.getSquarePrice()) + Double.parseDouble(tmpFeeConfigDto.getAdditionalAmount());
         }
 
         JSONObject data = new JSONObject();
         data.put("money", money);//缴费金额
         data.put("hour", hour);//停车时间
+        data.put("min", min);//停车时间
 
         context.setResponseEntity(MachineResDataVo.getResData(MachineResDataVo.CODE_ERROR, "车辆未支付,请先支付", data));
     }

+ 13 - 5
WebService/src/main/resources/components/carInoutPackage/carIn-manage/carInManage.js

@@ -57,12 +57,20 @@
                         var _tmpCarIn = _carInManageInfo.carInouts[carInIndex];
                         var _tmpInTime = new Date(_tmpCarIn.inTime);
                         var _tmpNow = new Date();
-                        var total = (_tmpNow - _tmpInTime)/1000;
-                        var hours = parseFloat(total / (60*60));//计算整数天数
-                        if (isNaN(hours)) {
-                         _tmpCarIn.continueHours = hours;
+                        var diff = _tmpNow - _tmpInTime;
+                        var nd = 1000 * 24 * 60 * 60;// 一天的毫秒数
+                        var nh = 1000 * 60 * 60;// 一小时的毫秒数
+                        var nm = 1000 * 60;// 一分钟的毫秒数
+                        var day = 0;
+                        var hour = 0;
+                        var min = 0;
+                        day = diff / nd;// 计算差多少天
+                        hour = diff % nd / nh + day * 24;// 计算差多少小时
+                        min = diff % nd % nh / nm + day * 24 * 60;// 计算差多少分钟
+                        if (isNaN(hour)) {
+                         _tmpCarIn.continueHours = hour;
                         }else{
-                          var newHours = Math.round(hours*100)/100;
+                          var newHours = hour+":"+min;
                           _tmpCarIn.continueHours = newHours;
                         }
                         _tmpCarIns.push(_tmpCarIn);