From 727bd67e564a447ced5d42e11e87315bd6ee5db4 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期五, 25 十月 2024 09:45:55 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java | 85 ++++++++++++++++++++++++++++-------------- 1 files changed, 56 insertions(+), 29 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 6288179..c1b037f 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; @@ -231,6 +230,9 @@ } } } + + @Autowired + private TChargingOrderRefundService tChargingOrderRefundService; @ApiOperation(value = "下载-未出账", tags = {"管理后台-充电算账单"}) @PutMapping("/download") public void download(@RequestBody ExportUidDto uid) @@ -241,10 +243,9 @@ TChargingBill byId = chargingBillService.getById(uid.getUid()); ChargingBillExport chargingBillExport = new ChargingBillExport(); chargingBillExport.setCode(byId.getCode()); - // todo 确认商户类型 - chargingBillExport.setAccountType("商户类型"); + 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) @@ -274,10 +286,10 @@ } BigDecimal paymentAmount = new BigDecimal("0"); BigDecimal refundAmount = new BigDecimal("0"); - BigDecimal income = new BigDecimal("0"); List<TChargingOrder> tChargingOrders = chargingOrderService.list(eq); // 累加支付金额 + BigDecimal bigDecimal = new BigDecimal("0"); int i =1; for (TChargingOrder tChargingOrder : tChargingOrders) { // 账单信息 @@ -304,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(tChargingOrder.getPayTime()!=null?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.setPayTime(tChargingOrder.getPayTime()!=null?DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",DateUtils.toDate(tChargingOrder.getPayTime())):""); + 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); @@ -332,9 +361,7 @@ // 导出 List<Map<String, Object>> sheetsList = new ArrayList<>(); - AtomicInteger atomicInteger = new AtomicInteger(); - - for (int i1 = 0; i1 < 3; i1++) { + for (int i1 = 1; i1 <= 3; i1++) { String sheetName=""; switch (i1){ case 1: -- Gitblit v1.7.1