From 6f028d74195393a2d060509f78ef00943e4f0305 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 24 十月 2024 16:16:57 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java |   74 ++++++++++++++++++++++++++-----------
 1 files changed, 52 insertions(+), 22 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java
index da2f83b..2920aa0 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java
@@ -15,14 +15,11 @@
 import com.ruoyi.common.core.web.page.PageInfo;
 import com.ruoyi.common.log.annotation.Log;
 import com.ruoyi.common.log.enums.BusinessType;
-import com.ruoyi.order.api.model.ExportUidDto;
-import com.ruoyi.order.api.model.TChargingBill;
-import com.ruoyi.order.api.model.TChargingOrder;
+import com.ruoyi.order.api.model.*;
 import com.ruoyi.order.api.query.TOrderInvoiceQuery;
 import com.ruoyi.order.api.vo.AccountListVO;
 import com.ruoyi.order.api.vo.ChargingBillListVO;
 import com.ruoyi.order.api.vo.ChargingBillVO;
-import com.ruoyi.order.api.model.ChargingListQuery;
 import com.ruoyi.order.api.vo.TOrderInvoiceVO;
 import com.ruoyi.order.export.*;
 import com.ruoyi.order.service.*;
@@ -30,6 +27,7 @@
 import io.swagger.annotations.ApiOperation;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -40,6 +38,7 @@
 import java.net.URLEncoder;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.time.LocalTime;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.TemporalAdjusters;
 import java.util.ArrayList;
@@ -232,6 +231,8 @@
         }
     }
 
+    @Autowired
+    private TChargingOrderRefundService tChargingOrderRefundService;
     @ApiOperation(value = "下载-未出账", tags = {"管理后台-充电算账单"})
     @PutMapping("/download")
     public void download(@RequestBody ExportUidDto uid)
@@ -244,7 +245,7 @@
         chargingBillExport.setCode(byId.getCode());
         chargingBillExport.setAccountType("微信商户");
         chargingBillExport.setType(byId.getType().toString());
-        chargingBillExport.setBillType("月结");
+        chargingBillExport.setBillType("月账单");
         LocalDateTime billTime = byId.getBillTime();
         // 将billTime 减去一个月 转化为yyyy-MM格式字符串
         billTime = billTime.minusMonths(1);
@@ -256,15 +257,26 @@
         if (!data.isEmpty()){
             chargingBillExport.setSiteName(data.get(0).getName());
         }
-        // 根据账单的出账时间 查询上个月的充电订单
-        LocalDateTime localDate = byId.getBillTime().minusMonths(1);
-        // 账单周期
+//        // 根据账单的出账时间 查询上个月的充电订单
+//        LocalDateTime localDate = byId.getBillTime().minusMonths(1);
+//        // 账单周期
+//        // 获取 LocalDate 对象
+//        LocalDate date = localDate.toLocalDate();
+//        // 获取该月份的第一天
+//        LocalDate firstDayOfMonth = date.withDayOfMonth(1);
+         LocalDateTime localDate = byId.getBillTime().minusDays(1);
+        // todo 临时修改为前一天
         // 获取 LocalDate 对象
         LocalDate date = localDate.toLocalDate();
-        // 获取该月份的第一天
-        LocalDate firstDayOfMonth = date.withDayOfMonth(1);
+//            // 获取该月份的第一天
+//            LocalDate firstDayOfMonth = date.withDayOfMonth(1);
+//            // 获取该月份的最后一天
+//            LocalDate lastDayOfMonth = date.with(TemporalAdjusters.lastDayOfMonth());
+        // todo 临时修改为查询昨天凌晨00:00:00 到 23:59:59
+        LocalDateTime firstDayOfMonth = LocalDateTime.of(date, LocalTime.MIN);
+        LocalDateTime lastDayOfMonth = LocalDateTime.of(date, LocalTime.MAX);
         // 获取该月份的最后一天
-        LocalDate lastDayOfMonth = date.with(TemporalAdjusters.lastDayOfMonth());
+//        LocalDate lastDayOfMonth = date.with(TemporalAdjusters.lastDayOfMonth());
         QueryWrapper<TChargingOrder> eq = new QueryWrapper<TChargingOrder>()
                 .between("create_time", firstDayOfMonth, lastDayOfMonth)
                 .eq("status", 5)
@@ -277,6 +289,7 @@
 
         List<TChargingOrder> tChargingOrders = chargingOrderService.list(eq);
         // 累加支付金额
+        BigDecimal bigDecimal = new BigDecimal("0");
         int i =1;
         for (TChargingOrder tChargingOrder : tChargingOrders) {
             // 账单信息
@@ -303,26 +316,43 @@
                     chargingBillPayExport.setPlatformPay("支付宝小程序支付");
 
             }
-            chargingBillRefundExport.setRechargeSerialNumber(tChargingOrder.getRechargeSerialNumber());
-            chargingBillRefundExport.setCode(tChargingOrder.getCode());
-            chargingBillRefundExport.setPayTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",DateUtils.toDate(tChargingOrder.getPayTime())));
-            if (tChargingOrder.getRefundTime()!=null){
-                chargingBillRefundExport.setRefundTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",DateUtils.toDate(tChargingOrder.getRefundTime())));
+            TChargingOrderRefund one = tChargingOrderRefundService.lambdaQuery().eq(TChargingOrderRefund::getChargingOrderId, tChargingOrder.getId()).one();
+            if (one!=null){
+                chargingBillRefundExport.setRechargeSerialNumber(one.getSerailNumber());
+                chargingBillRefundExport.setCode(one.getCode());
+                chargingBillRefundExport.setPayTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",DateUtils.toDate(tChargingOrder.getPayTime())));
+                if (tChargingOrder.getRefundTime()!=null){
+                    chargingBillRefundExport.setRefundTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",DateUtils.toDate(tChargingOrder.getRefundTime())));
+                }
+                chargingBillRefundExport.setRefundMoney(one.getRefundAmount().toString());
+                chargingBillRefundExport.setRefundRemark(one.getRefundReason());
+                chargingBillRefundExport.setRefundCode(one.getRefundCode());
+                chargingBillRefundExport.setRefundSerialNumber(one.getRefundSerialNumber());
+                chargingBillRefundExports.add(chargingBillRefundExport);
             }
-            chargingBillRefundExport.setRefundMoney(tChargingOrder.getRefundAmount().toString());
-            chargingBillRefundExport.setRefundRemark(tChargingOrder.getRefundReason());
-            chargingBillRefundExport.setRefundCode(tChargingOrder.getRefundCode());
-            chargingBillRefundExport.setRefundSerialNumber(tChargingOrder.getRefundSerialNumber());
-            chargingBillRefundExports.add(chargingBillRefundExport);
             // 支付信息
             chargingBillPayExport.setId(i+"");
             chargingBillPayExport.setRechargeSerialNumber(tChargingOrder.getRechargeSerialNumber());
             chargingBillPayExport.setCode(tChargingOrder.getCode());
             chargingBillPayExport.setPayTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",DateUtils.toDate(tChargingOrder.getPayTime())));
-            chargingBillPayExport.setPaymentAmount(tChargingOrder.getPaymentAmount().toString());
+            chargingBillPayExport.setPaymentAmount(tChargingOrder.getOrderAmount().toString());
             chargingBillPayExport.setTotal("");
             chargingBillPayExports.add(chargingBillPayExport);
             i++;
+            bigDecimal = bigDecimal.add(tChargingOrder.getOrderAmount());
+        }
+        if (!chargingBillPayExports.isEmpty()){
+            chargingBillPayExports.get(0).setTotal(bigDecimal+"");
+        }
+        if (byId.getSiteId()==0){
+            chargingBillExport.setSiteName("全站");
+        }else{
+            List<Site> data1 = siteClient.getSiteByIds(Arrays.asList(byId.getSiteId())).getData();
+            if (data1!=null&&(!data1.isEmpty())){
+                String name = data1.get(0).getName();
+                chargingBillExport.setSiteName(name);
+            }
+
         }
         chargingBillExport.setPaymentAmount(paymentAmount);
         chargingBillExport.setRefundAmount(refundAmount);

--
Gitblit v1.7.1