From 9d86969d6f4e8373d6bd77bd539e1ce2e1cfbd50 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期五, 01 十一月 2024 16:14:44 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java                    |   31 ++++---
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyServiceImpl.java |    7 +
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java                     |   63 +++++++--------
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml                                     |    1 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java                       |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java                  |   68 +++++++++++++++--
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml                                     |    4 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java                       |   12 +-
 8 files changed, 121 insertions(+), 67 deletions(-)

diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyServiceImpl.java
index 29d8c4a..2077b20 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyServiceImpl.java
@@ -12,6 +12,7 @@
 import com.ruoyi.other.api.feignClient.OtherClient;
 import com.ruoyi.system.api.domain.SysUser;
 import com.ruoyi.system.api.feignClient.SysUserClient;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
@@ -58,7 +59,11 @@
                     .sorted(Comparator.comparing(TAccountingStrategy::getCreateTime).reversed()).collect(Collectors.toList());
             if(!CollectionUtils.isEmpty(accountingStrategies)){
                 TAccountingStrategy tAccountingStrategy = accountingStrategies.get(0);
-                tAccountingStrategyVO.setAuditStatus(tAccountingStrategy.getAuditStatus());
+                if(tAccountingStrategyVO.getAuditStatus() == 4){
+                    BeanUtils.copyProperties(tAccountingStrategy,tAccountingStrategyVO);
+                }else {
+                    tAccountingStrategyVO.setAuditStatus(tAccountingStrategy.getAuditStatus());
+                }
             }
         }
         pageInfo.setRecords(list);
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java
index dba6fe2..e08be7f 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java
@@ -3,6 +3,7 @@
 
 import cn.afterturn.easypoi.excel.ExcelExportUtil;
 import cn.afterturn.easypoi.excel.entity.ExportParams;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ruoyi.account.api.feignClient.AppUserCarClient;
 import com.ruoyi.account.api.feignClient.AppUserClient;
 import com.ruoyi.account.api.model.TAppUser;
@@ -23,10 +24,10 @@
 import com.ruoyi.common.log.enums.BusinessType;
 import com.ruoyi.common.redis.service.RedisService;
 import com.ruoyi.common.security.service.TokenService;
+import com.ruoyi.integration.api.feignClient.UploadRealTimeMonitoringDataClient;
+import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
 import com.ruoyi.order.api.dto.SettlementConfirmAdd;
-import com.ruoyi.order.api.model.ChargingListQuery;
-import com.ruoyi.order.api.model.TChargingOrder;
-import com.ruoyi.order.api.model.TSettlementConfirm;
+import com.ruoyi.order.api.model.*;
 import com.ruoyi.order.api.query.SettlementListQuery;
 import com.ruoyi.order.api.query.TOrderInvoiceQuery;
 import com.ruoyi.order.api.vo.ChargingOrderListVO;
@@ -37,12 +38,15 @@
 import com.ruoyi.order.vo.ChargingOrderListInfoVO;
 import com.ruoyi.order.api.vo.ChargingOrderTimeVO;
 import com.ruoyi.order.service.*;
+import com.ruoyi.other.api.domain.TVip;
+import com.ruoyi.other.api.feignClient.VipClient;
 import com.ruoyi.payment.api.feignClient.AliPaymentClient;
 import com.ruoyi.payment.api.feignClient.WxPaymentClient;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import org.apache.poi.ss.usermodel.Workbook;
+import org.omg.CORBA.PRIVATE_MEMBER;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -52,6 +56,7 @@
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.net.URLEncoder;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
@@ -75,6 +80,8 @@
     private TChargingOrderService chargingOrderService;
     @Resource
     private TSettlementConfirmService tSettlementConfirmService;
+    @Resource
+    private VipClient vipClient;
     @PostMapping(value = "/chargingList")
     @ApiOperation(value = "充电时段统计列表", tags = {"管理后台-财务结算"})
     public AjaxResult<ChargingOrderTimeVO> chargingList(@RequestBody ChargingListQuery dto) {
@@ -95,6 +102,13 @@
     private ChargingGunClient chargingGunClient;
     @Autowired
     private AppUserCarClient appUserCarClient;
+    @Resource
+    private AccountingStrategyOrderService accountingStrategyOrderService;
+    @Resource
+    private TChargingOrderAccountingStrategyService tChargingOrderAccountingStrategyService;
+    @Resource
+    private UploadRealTimeMonitoringDataClient uploadRealTimeMonitoringDataClient;
+
     @ApiOperation(value = "充电时段统计-导出", tags = {"管理后台-财务结算"})
     @PutMapping("/export")
     public void export(@RequestBody ChargingListQuery dto) {
@@ -125,7 +139,13 @@
             tChargingOrderExport.setId(i);
             tChargingOrderExport.setCode(chargingOrderListVO.getCode());
             tChargingOrderExport.setTerminalName(chargingOrderListVO.getTerminalName());
-//            tChargingOrderExport.setName();
+            // 查询这笔订单的计费策略名称
+            List<AccountingStrategyOrder> list = accountingStrategyOrderService.lambdaQuery()
+                    .eq(AccountingStrategyOrder::getChargingOrderId, chargingOrderListVO.getId())
+                    .list();
+            if (!list.isEmpty()){
+                tChargingOrderExport.setName(list.get(0).getName());
+            }
             tChargingOrderExport.setOrderClassification("1");
             tChargingOrderExport.setStartType("扫码");
             tChargingOrderExport.setOne("小程序");
@@ -143,16 +163,48 @@
             tChargingOrderExport.setServiceCharge(chargingOrderListVO.getServiceCharge()+"");
             tChargingOrderExport.setTotal(chargingOrderListVO.getPaymentAmount()+"");
             tChargingOrderExport.setChargingCapacity(chargingOrderListVO.getElectricity()+"");
-//            tChargingOrderExport.setElectrovalencePrice();
-//            tChargingOrderExport.setServiceChargePrice();
-//            tChargingOrderExport.setServiceChargePriceLook();
-//            tChargingOrderExport.setCumulativeChargingTime();
+            List<TChargingOrderAccountingStrategy> stageCost = tChargingOrderAccountingStrategyService.list(
+                    new LambdaQueryWrapper<TChargingOrderAccountingStrategy>()
+                            .eq(TChargingOrderAccountingStrategy::getChargingOrderId, chargingOrderListVO.getId()));
+            if (!stageCost.isEmpty()){
+                // 累加时段电费单价 取平均值
+                BigDecimal bigDecimal1 = new BigDecimal("0");
+                BigDecimal bigDecimal2 = new BigDecimal("0");
+                BigDecimal bigDecimal3 = new BigDecimal("0");
+                BigDecimal size = new BigDecimal(stageCost.size());
+
+                for (TChargingOrderAccountingStrategy tChargingOrderAccountingStrategy : stageCost) {
+                    bigDecimal1 = bigDecimal1.add(tChargingOrderAccountingStrategy.getElectrovalence());
+                    bigDecimal2 = bigDecimal2.add(tChargingOrderAccountingStrategy.getPeriodServicePrice());
+                    bigDecimal3 = bigDecimal3.add(tChargingOrderAccountingStrategy.getPeriodOriginalServicePrice());
+                }
+                BigDecimal divide1 = bigDecimal1.divide(size, 2, RoundingMode.HALF_DOWN);
+                BigDecimal divide2 = bigDecimal2.divide(size, 2, RoundingMode.HALF_DOWN);
+                BigDecimal divide3 = bigDecimal3.divide(size, 2, RoundingMode.HALF_DOWN);
+                tChargingOrderExport.setElectrovalencePrice(divide1+"");
+                tChargingOrderExport.setServiceChargePrice(divide2+"");
+                tChargingOrderExport.setServiceChargePriceLook(divide3+"");
+            }
+            // 获取充电时间
+            UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrderListVO.getCode()).getData();
+            if (data5!=null){
+                if (data5.getTime_remaining()!=null){
+                    tChargingOrderExport.setCumulativeChargingTime(data5.getCumulative_charging_time()+"");
+                }
+            }
             tChargingOrderExport.setStartSoc(chargingOrderListVO.getStartSoc());
             tChargingOrderExport.setEndtSoc(chargingOrderListVO.getEndSoc());
             tChargingOrderExport.setIsSoc("否");
             tChargingOrderExport.setIsSocType("");
             tChargingOrderExport.setIsSocNum("0");
             tChargingOrderExport.setUserType("普通个人用户");
+            TAppUser data2 = appUserClient.getUserById(chargingOrderListVO.getAppUserId()).getData();
+            if (data2!=null&&data2.getVipId()!=null){
+                TVip data1 = vipClient.getInfo1(data2.getVipId()).getData();
+                if (data1!=null){
+                    tChargingOrderExport.setVipType(data1.getName());
+                }
+            }
 //            tChargingOrderExport.setVipType();
             tChargingOrderExport.setIsPlus(chargingOrderListVO.getVipDiscountAmount().compareTo(BigDecimal.ZERO)>0?"是":"否");
             if (data3!=null){
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
index 2c2e5c3..fe828dd 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -365,17 +365,17 @@
             }
         }
         // 时段总服务费
-        BigDecimal bigDecimal = new BigDecimal("0");
         List<TChargingOrderAccountingStrategy> list = chargingOrderAccountingStrategyService.lambdaQuery().eq(TChargingOrderAccountingStrategy::getChargingOrderId, strategyId).orderByDesc(TChargingOrderAccountingStrategy::getStartTime).list();
-
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
         for (TChargingOrderAccountingStrategy tChargingOrderAccountingStrategy : list) {
+            String format = tChargingOrderAccountingStrategy.getCreateTime().format(formatter);
+            tChargingOrderAccountingStrategy.setStartTime(format+" "+tChargingOrderAccountingStrategy.getStartTime());
+            tChargingOrderAccountingStrategy.setEndTime(format+" "+tChargingOrderAccountingStrategy.getEndTime());
             if (byId.getVipDiscountAmount()!=null && byId.getServiceCharge().compareTo(BigDecimal.ZERO) != 0){
                 BigDecimal multiply = byId.getVipDiscountAmount().divide(byId.getServiceCharge(), 2)
                         .multiply(tChargingOrderAccountingStrategy.getPeriodOriginalServicePrice());
                 tChargingOrderAccountingStrategy.setVipDiscount(multiply);
             }
-            bigDecimal = bigDecimal.add(tChargingOrderAccountingStrategy.getPeriodOriginalServicePrice());
-
             if (byId.getCouponDiscountAmount()!=null && byId.getServiceCharge().compareTo(BigDecimal.ZERO) != 0){
                 BigDecimal multiply = byId.getCouponDiscountAmount().divide(byId.getServiceCharge(), 2)
                         .multiply(tChargingOrderAccountingStrategy.getPeriodOriginalServicePrice());
@@ -1849,8 +1849,8 @@
         EndOfChargePageInfo endOfChargePageInfo = chargingOrderService.getEndOfChargePageInfo(id);
         return AjaxResult.success(endOfChargePageInfo);
     }
-    
-    
+
+
     /**
      * 获取订单数据
      * @param order
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java
index a1649f7..f7268d3 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java
@@ -191,7 +191,7 @@
 		// todo 根据支付方式 取消订单
 		byId.setCancellationId(userid);
 		byId.setCancellationTime(LocalDateTime.now());
-		byId.setStatus(4);
+		byId.setStatus(5);
 		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
 		TShoppingOrderRefund tShoppingOrderRefund = new TShoppingOrderRefund();
 		tShoppingOrderRefund.setPayTime(byId.getPayTime());
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
index bb69665..f8ebd3d 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
@@ -101,6 +101,9 @@
         BigDecimal refundAmount = new BigDecimal("0");
         int orderCount = 0;
         for (ChargingBillListVO chargingBillListVO : list) {
+            if (chargingBillListVO.getType()==2){
+                continue;
+            }
             String temp = "";
             String temp1 = "";
             switch (chargingBillListVO.getType()){
@@ -250,10 +253,10 @@
                 }
                 if (data3!=null)tChargingOrder.setUserName(data3.getName());
                 // 累加实收金额 支付结算金额
-                if (tChargingOrder.getOrderAmount()!=null){
-                    paymentAmount = paymentAmount.add(tChargingOrder.getOrderAmount());
+                if (tChargingOrder.getChargeAmount()!=null){
+                    paymentAmount = paymentAmount.add(tChargingOrder.getChargeAmount());
                 }
-                // 入账金额
+                // 总金额
                 if (tChargingOrder.getOrderAmount()!=null){
                     orderAmount = orderAmount.add(tChargingOrder.getOrderAmount());
                 }
@@ -264,7 +267,9 @@
                 List<TChargingOrderRefund> list2 = chargingOrderRefundService.lambdaQuery().eq(TChargingOrderRefund::getRefundStatus, 2)
                         .eq(TChargingOrderRefund::getChargingOrderId, tChargingOrder.getId()).list();
                 for (TChargingOrderRefund tChargingOrderRefund : list2) {
-                    refundAmount = refundAmount.add(tChargingOrderRefund.getRefundTotalAmount());
+                    if (tChargingOrderRefund.getRefundStatus()==2){
+                        refundAmount = refundAmount.add(tChargingOrderRefund.getRefundTotalAmount());
+                    }
                 }
                 // 累加累计服务费
                 if (tChargingOrder.getServiceCharge()!=null){
@@ -272,7 +277,7 @@
                 }
                 // 累加平台手续费
                 if (tChargingOrder.getOrderAmount()!=null){
-                    commissionAmount = commissionAmount.add(tChargingOrder.getOrderAmount().multiply(BigDecimal.valueOf(0.006)));
+                    commissionAmount = commissionAmount.add(tChargingOrder.getPaymentAmount().multiply(BigDecimal.valueOf(0.006)));
                 }
                 // 累加平台分佣
                 if (tChargingOrder.getSharingAmount()!=null){
@@ -295,18 +300,17 @@
                 chargingBillVO.setPaymentAmount(BigDecimal.ZERO);
             }
 
-            chargingBillVO.setOrderAmount(chargingBillVO.getPaymentAmount().subtract(chargingBillVO.getRefundAmount()==null?BigDecimal.ZERO:chargingBillVO.getRefundAmount())
-                    .subtract(chargingBillVO.getCommissionAmount()==null?BigDecimal.ZERO:chargingBillVO.getCommissionAmount())
-                    .subtract(chargingBillVO.getSharingAmount()==null?BigDecimal.ZERO:chargingBillVO.getSharingAmount()));
-            chargingBillListVO.setPaymentAmount(paymentAmount == null?BigDecimal.ZERO:paymentAmount);
-            chargingBillListVO.setOrderAmount(orderAmount == null?BigDecimal.ZERO:orderAmount.subtract(refundAmount).subtract(commissionAmount).subtract(sharingAmount));
+            chargingBillListVO.setOrderAmount(chargingBillVO.getPaymentAmount().subtract(chargingBillVO.getRefundAmount()==null?BigDecimal.ZERO:chargingBillVO.getRefundAmount()));
+            chargingBillListVO.setPaymentAmount(paymentAmount);
+            chargingBillListVO.setOrderAmount(orderAmount == null?BigDecimal.ZERO:orderAmount.subtract(sharingAmount).subtract(commissionAmount));
             chargingBillListVO.setRefundAmount(refundAmount == null?BigDecimal.ZERO:refundAmount);
             chargingBillListVO.setElectrovalence(electrovalence == null?BigDecimal.ZERO:electrovalence);
             chargingBillListVO.setServiceCharge(serviceCharge == null?BigDecimal.ZERO:serviceCharge);
             chargingBillListVO.setCommissionAmount(commissionAmount == null?BigDecimal.ZERO:commissionAmount.setScale(2, RoundingMode.HALF_DOWN));
             chargingBillListVO.setSharingAmount(sharingAmount == null?BigDecimal.ZERO:sharingAmount);
             chargingBillListVO.setChargingCapacity(chargingCapacity == null?BigDecimal.ZERO:chargingCapacity);
-            chargingBillListVO.setBillMoney(chargingBillListVO.getPaymentAmount().subtract(chargingBillListVO.getRefundAmount()==null?BigDecimal.ZERO:chargingBillListVO.getRefundAmount())
+            chargingBillListVO.setBillMoney(chargingBillListVO.getPaymentAmount().subtract(chargingBillListVO.getRefundAmount()==null?BigDecimal.ZERO:chargingBillListVO.getRefundAmount()
+                            .subtract(commissionAmount).subtract(sharingAmount))
                     .subtract(chargingBillListVO.getCommissionAmount()==null?BigDecimal.ZERO:chargingBillListVO.getCommissionAmount())
                     .subtract(chargingBillListVO.getSharingAmount()==null?BigDecimal.ZERO:chargingBillListVO.getSharingAmount()));
             switch (chargingBillListVO.getType()){
@@ -359,11 +363,8 @@
             chargingBillVO.setCategory("");
             chargingBillVO.setExportList(tChargingOrders);
             for (TChargingOrder tChargingOrder : tChargingOrders) {
-                if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getPaymentAmount()!=null){
-                    paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount());
-
-                }else if (tChargingOrder.getPaymentAmount()!=null){
-                    paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount());
+                if (tChargingOrder.getOrderAmount()!=null){
+                    paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getChargeAmount());
                 }
 
                 // 累加订单金额
@@ -377,7 +378,7 @@
                 List<TChargingOrderRefund> list2 = chargingOrderRefundService.lambdaQuery().eq(TChargingOrderRefund::getChargingOrderId, tChargingOrder.getId())
                         .eq(TChargingOrderRefund::getRefundStatus, 2).list();
                 for (TChargingOrderRefund tChargingOrderRefund : list2) {
-                    refundAmountTotal =refundAmountTotal.add(tChargingOrder.getRefundAmount());
+                    refundAmountTotal =refundAmountTotal.add(tChargingOrderRefund.getRefundAmount());
                 }
                 // 累加累计服务费
                 if (tChargingOrder.getServiceCharge()!=null){
@@ -407,7 +408,7 @@
         }
         chargingBillVO.setChargingCapacity(chargingCapacityTotal);
         chargingBillVO.setPaymentAmount(paymentAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
-        chargingBillVO.setOrderAmount(orderAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
+        chargingBillVO.setOrderAmount(paymentAmountTotal.subtract(refundAmountTotal).subtract(commissionAmountTotal).subtract(sharingAmountTotal));
         chargingBillVO.setElectrovalence(electrovalenceTotal.setScale(2, RoundingMode.HALF_DOWN));
         chargingBillVO.setServiceCharge(serviceChargeTotal.setScale(2, RoundingMode.HALF_DOWN));
         chargingBillVO.setOrderCount(orderCount);
@@ -577,8 +578,8 @@
                 tChargingOrder.setDiscount(tChargingOrder.getCouponDiscountAmount()!=null?tChargingOrder.getCouponDiscountAmount().toString():"0");
                 UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(tChargingOrder.getCode()).getData();
                 if (data5!=null){
-                    if (data5.getTime_remaining()!=null){
-                        chargingSecond+=data5.getTime_remaining()*60;
+                    if (data5.getCumulative_charging_time()!=null){
+                        chargingSecond+=data5.getCumulative_charging_time()*60;
                     }
                     Integer cumulativeChargingTime = data5.getCumulative_charging_time();
                     // 将其转化为xx小时xx分钟xx秒显示 如果是0小时则不展示小时 如果是0分钟则不展示分钟
@@ -610,16 +611,12 @@
                     }
                 }
                 if (data3!=null)tChargingOrder.setUserName(data3.getName());
-                // 累加实收金额 支付金额减去退款金额
-                if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getPaymentAmount()!=null){
-                    paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount());
-
-                }else if (tChargingOrder.getPaymentAmount()!=null){
+                if ( tChargingOrder.getPaymentAmount()!=null){
                     paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount());
                 }
-                // 累加订单金额
+                // 总金额
                 if (tChargingOrder.getOrderAmount()!=null){
-                orderAmount = orderAmount.add(tChargingOrder.getOrderAmount());
+                orderAmount = orderAmount.add(tChargingOrder.getPaymentAmount());
                 }
                 // 累加累计电费
                 if (tChargingOrder.getElectrovalence()!=null){
@@ -721,18 +718,14 @@
             chargingBillListVO.setOrderCount(tChargingOrders.size());
             for (TChargingOrder tChargingOrder : tChargingOrders) {
                 // 累加实收金额 支付金额减去退款金额
-                if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getPaymentAmount()!=null){
-                    paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount());
-                    paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount());
-
-                }else if (tChargingOrder.getPaymentAmount()!=null){
+                if (tChargingOrder.getPaymentAmount()!=null){
                     paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount());
                     paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount());
                 }
                 // 累加订单金额
                 if (tChargingOrder.getOrderAmount()!=null){
-                    orderAmount = orderAmount.add(tChargingOrder.getOrderAmount());
-                    orderAmountTotal = orderAmountTotal.add(tChargingOrder.getOrderAmount());
+                    orderAmount = orderAmount.add(tChargingOrder.getPaymentAmount());
+                    orderAmountTotal = orderAmountTotal.add(tChargingOrder.getPaymentAmount());
                 }
                 // 累加累计电费
                 if (tChargingOrder.getElectrovalence()!=null){
@@ -772,7 +765,7 @@
             }
         }
         chargingBillVO.setChargingCapacity(chargingCapacityTotal);
-        chargingBillVO.setPaymentAmount(paymentAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
+        chargingBillVO.setPaymentAmount(orderAmountTotal.subtract(commissionAmountTotal).subtract(sharingAmountTotal).setScale(2, RoundingMode.HALF_DOWN));
         chargingBillVO.setOrderAmount(orderAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
         chargingBillVO.setElectrovalence(electrovalenceTotal.setScale(2, RoundingMode.HALF_DOWN));
         chargingBillVO.setServiceCharge(serviceChargeTotal.setScale(2, RoundingMode.HALF_DOWN));
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
index b769821..00becd5 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -1206,8 +1206,8 @@
 		 BigDecimal electronicMoney = new BigDecimal("0");
 		 BigDecimal serviceMoney = new BigDecimal("0");
 		for (ChargingOrderVO chargingOrderVO : list) {
-			chargingOrderVO.setCommissionAmount(chargingOrderVO.getServiceCharge().multiply(new BigDecimal("0.006")));
-			chargingOrderVO.setPlatFormMoney(chargingOrderVO.getServiceCharge().multiply(new BigDecimal("0.006")));
+			chargingOrderVO.setCommissionAmount(chargingOrderVO.getOrderAmount().multiply(new BigDecimal("0.006")));
+			chargingOrderVO.setPlatFormMoney(chargingOrderVO.getOrderAmount().multiply(new BigDecimal("0.006")));
 			chargingOrderVO.setUid(chargingOrderVO.getId()+"");
 			TChargingGun data3 = chargingGunClient.getChargingGunById(chargingOrderVO.getChargingGunId()).getData();
 			TChargingPile data2 = chargingPileClient.getChargingPileById(chargingOrderVO.getChargingPileId()).getData();
@@ -1399,12 +1399,11 @@
 		List<ChargingOrderListVO> list = this.baseMapper.chargingList(pageInfo,dto,startTime1,startTime2,endTime1,endTime2);
 		for (ChargingOrderListVO chargingOrderListVO : list) {
 			chargingOrderListVO.setChargingCapacity(chargingOrderListVO.getElectricity());
-			chargingOrderListVO.setPaymentAmount(chargingOrderListVO.getPaymentAmount());
 			BigDecimal bigDecimal = new BigDecimal("0.006");
 			if (chargingOrderListVO.getOrderAmount()!=null){
 				chargingOrderListVO.setCommissionAmount(chargingOrderListVO.getOrderAmount().multiply(bigDecimal));
 			}
-			chargingOrderListVO.setPaymentAmount(chargingOrderListVO.getResidualAmount()==null?chargingOrderListVO.getPaymentAmount():chargingOrderListVO.getPaymentAmount());
+			chargingOrderListVO.setPaymentAmount(chargingOrderListVO.getPaymentAmount());
 			chargingOrderListVO.setUid(chargingOrderListVO.getId()+"");
 			List<Integer> integers = new ArrayList<>();
 			integers.add(chargingOrderListVO.getSiteId());
@@ -1423,7 +1422,7 @@
 			UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrderListVO.getCode()).getData();
 			if (data5!=null){
 				if (data5.getTime_remaining()!=null){
-					chargingOrderListVO.setChargingSecond(data5.getTime_remaining()*60L);
+					chargingOrderListVO.setChargingSecond(data5.getCumulative_charging_time()*60L);
 
 				}
 			}
@@ -1432,8 +1431,8 @@
 				List<UploadRealTimeMonitoringData> data6 = uploadRealTimeMonitoringDataClient.getDataByOrderCode(chargingOrderListVO.getCode()).getData();
 			if (data6!=null && !data6.isEmpty()){
 					// 第一条数据soc为开始 最后一条数据soc为结束soc
-					chargingOrderListVO.setStartSoc(data6.get(0).getSoc().toString());
-					chargingOrderListVO.setEndSoc(data6.get(data6.size()-1).getSoc().toString());
+					chargingOrderListVO.setEndSoc(data6.get(0).getSoc().toString());
+					chargingOrderListVO.setStartSoc(data6.get(data6.size()-1).getSoc().toString());
 				}
 			}
 
@@ -1613,9 +1612,7 @@
 	@Override
 	public ChargingOrderListInfoVO chargingInfo(String uid) {
 		TChargingOrder chargingOrder= this.getById(uid);
-
 		ChargingOrderListInfoVO chargingOrderListInfoVO = new ChargingOrderListInfoVO();
-
 		chargingOrderListInfoVO.setStatus(chargingOrder.getStatus());
 		BigDecimal bigDecimal = new BigDecimal("0.006");
 		if (chargingOrder.getOrderAmount()!=null){
@@ -1664,24 +1661,32 @@
 					if (uploadRealTimeMonitoringData.getOutput_current()!=null&&
 							uploadRealTimeMonitoringData.getOutput_voltage()!=null){
 						uploadRealTimeMonitoringData.setPower(uploadRealTimeMonitoringData.getOutput_voltage()
-								.multiply(uploadRealTimeMonitoringData.getOutput_current()));
+								.multiply(uploadRealTimeMonitoringData.getOutput_current()).divide(new BigDecimal(1000),2, BigDecimal.ROUND_HALF_UP));
 					}
 				}
 				if (!data6.isEmpty()){
 					// 第一条数据soc为开始 最后一条数据soc为结束soc
-					chargingOrderListInfoVO.setStartSoc(data6.get(0).getSoc().toString());
-					chargingOrderListInfoVO.setEndSoc(data6.get(data6.size()-1).getSoc().toString());
+					chargingOrderListInfoVO.setStartSoc(data6.get(data6.size()-1).getSoc().toString());
+					chargingOrderListInfoVO.setEndSoc(data6.get(0).getSoc().toString());
 					chargingOrderListInfoVO.setChargingCapacity(data6.get(data6.size()-1).getCharging_degree());
-					chargingOrderListInfoVO.setChargingSecond(data6.get(data6.size()-1).getCumulative_charging_time()*60+"");
+
 					SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 					for (UploadRealTimeMonitoringData uploadRealTimeMonitoringData : data6) {
 						uploadRealTimeMonitoringData.setCreateTime(simpleDateFormat.format(uploadRealTimeMonitoringData.getCreate_time()));
 					}
 				}
 			}
+
 			chargingOrderListInfoVO.setList(data6);
 		}
+		// 获取充电时间
+		UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrder.getCode()).getData();
+		if (data5!=null){
+			if (data5.getTime_remaining()!=null){
+				chargingOrderListInfoVO.setChargingSecond(data5.getCumulative_charging_time()*60L+"");
 
+			}
+		}
 
 		if (chargingOrder.getAppUserCarId()!=null){
 			List<TAppUserCar> data3 = appUserCarClient.getCarByIds(Collections.singletonList(chargingOrder.getAppUserCarId())).getData();
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
index 991e8b7..a889c58 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
@@ -93,7 +93,7 @@
             and t1.status = #{req.status}
         </if>
         <if test="req.orderSource != null and req.orderSource != 1 ">
-            and t1.orderSource = #{req.orderSource}
+            and t1.order_source = #{req.orderSource}
         </if>
         <if test="req.siteId != null ">
             and t1.site_id = #{req.siteId}
@@ -850,7 +850,7 @@
 
     </select>
     <select id="chargingList" resultType="com.ruoyi.order.api.vo.ChargingOrderListVO">
-        select t1.* ,t1.current as chargingCapacity,t1.recharge_amount as paymentAmount,t1.electricity as chargingCapacity from t_charging_order t1
+        select t1.* ,t1.current as chargingCapacity,t1.payment_amount as paymentAmount,t1.electricity as chargingCapacity from t_charging_order t1
         where 1=1
         <if test="null != req.code and req.code!=''">
             and t1.code  LIKE CONCAT('%',#{req.code},'%')
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml
index 31e9d7b..decc40a 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml
@@ -94,7 +94,6 @@
             </if>
             and (t1.vip_discount_amount > 0 or t1.coupon_discount_amount > 0)
             and t1.recharge_payment_status =2
-            and t1.refund_status !=2
             AND t1.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()}
         </if>
         </if>

--
Gitblit v1.7.1