From 3181665e09951878a0b4c356df4917c3776c95e2 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期一, 09 九月 2024 18:20:14 +0800 Subject: [PATCH] 代码提交 --- ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingBillVO.java | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java | 4 + ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/ChargingListQuery.java | 1 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java | 11 +++ ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/AccountListVO.java | 6 + ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/export/TParkingRecordExport.java | 41 +++++++++++++ ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingBillListVO.java | 1 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java | 62 ++++++++++++++++++++ 8 files changed, 124 insertions(+), 4 deletions(-) diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/ChargingListQuery.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/ChargingListQuery.java index c4f9676..eb8bb25 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/ChargingListQuery.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/ChargingListQuery.java @@ -1,6 +1,7 @@ package com.ruoyi.order.api.model; import com.ruoyi.common.core.web.page.BasePage; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/AccountListVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/AccountListVO.java index c6d4056..f2ea33c 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/AccountListVO.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/AccountListVO.java @@ -14,15 +14,17 @@ @ApiModel(value = "ChargingBillListVO对象",description = "充电算帐单列表VO") public class AccountListVO{ @ApiModelProperty(value = "账单数量") - private String billCount; + private Integer billCount; @ApiModelProperty(value = "总入账金额") private BigDecimal totalAmount; @ApiModelProperty(value = "总支付结算金额") private BigDecimal paymentAmount; @ApiModelProperty(value = "总退款结算金额") - private BigDecimal orderAmount; + private BigDecimal refundAmount; @ApiModelProperty(value = "平台手续费") private BigDecimal commissionAmount; + @ApiModelProperty(value = "分佣") + private BigDecimal sharingAmount; @ApiModelProperty(value = "列表数据") private PageInfo<ChargingBillListVO> list; diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingBillListVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingBillListVO.java index 9576bec..78139c6 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingBillListVO.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingBillListVO.java @@ -34,7 +34,6 @@ private BigDecimal serviceCharge; @ApiModelProperty(value = "平台手续费") private BigDecimal commissionAmount; - @ApiModelProperty(value = "充电电流 度") private BigDecimal chargingCapacity; } diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingBillVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingBillVO.java index 9ea35ee..2000729 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingBillVO.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingBillVO.java @@ -18,6 +18,8 @@ private BigDecimal paymentAmount; @ApiModelProperty(value = "订单总金额") private BigDecimal orderAmount; + @ApiModelProperty(value = "总退款金额") + private BigDecimal refundAmount; @ApiModelProperty(value = "累计电费") private BigDecimal electrovalence; @ApiModelProperty(value = "累计服务费") diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java index 9718c4c..99cc807 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java @@ -1,6 +1,8 @@ package com.ruoyi.chargingPile.controller; +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.chargingPile.api.model.TParkingLot; @@ -10,15 +12,30 @@ import com.ruoyi.chargingPile.api.vo.TParkingRecordPageInfoVO; import com.ruoyi.chargingPile.api.vo.TParkingRecordVO; import com.ruoyi.chargingPile.dto.ParkingRecordPageQuery; +import com.ruoyi.chargingPile.export.TParkingRecordExport; import com.ruoyi.chargingPile.service.TParkingLotService; import com.ruoyi.chargingPile.service.TParkingRecordService; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.utils.DateUtils; +import com.ruoyi.common.core.utils.WebUtils; import com.ruoyi.common.core.web.domain.AjaxResult; 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.query.TOrderInvoiceQuery; +import com.ruoyi.order.api.vo.TOrderInvoiceVO; import io.swagger.annotations.ApiOperation; +import org.apache.poi.ss.usermodel.Workbook; +import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.List; /** * <p> @@ -58,7 +75,50 @@ public R<TParkingRecordPageInfoVO> pageList(@RequestBody ParkingRecordQuery query) { return R.ok(parkingRecordService.pageList(query)); } - + @ApiOperation(tags = {"后台-订单管理-停车记录"},value = "导出") + @PutMapping("/export") + public void export(@RequestBody ParkingRecordQuery query) + { + List<TParkingRecordVO> records = parkingRecordService.pageList(query).getParkingRecordVOS().getRecords(); + List<TParkingRecordExport> orderInvoiceExports = new ArrayList<>(); + for (TParkingRecordVO orderInvoiceVO : records) { + TParkingRecordExport orderInvoiceExport = new TParkingRecordExport(); + BeanUtils.copyProperties(orderInvoiceVO,orderInvoiceExport); + if (orderInvoiceVO.getFreeDuration()!=null){ + orderInvoiceExport.setParkingDuration(orderInvoiceVO.getParkingDuration()-orderInvoiceVO.getFreeDuration()); + }else{ + orderInvoiceExport.setParkingDuration(orderInvoiceVO.getParkingDuration()); + } + if (orderInvoiceVO.getTimeoutAmount()!=null){ + orderInvoiceExport.setAmount(orderInvoiceVO.getOrderAmount().subtract(orderInvoiceVO.getTimeoutAmount())); + }else{ + orderInvoiceExport.setAmount(orderInvoiceVO.getOrderAmount()); + } + orderInvoiceExports.add(orderInvoiceExport); + } + Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TParkingRecordExport.class, orderInvoiceExports); + HttpServletResponse response = WebUtils.response(); + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("utf-8"); + ServletOutputStream outputStream = null; + try { + String fileName = URLEncoder.encode("停车记录.xls", "utf-8"); + response.setHeader("Content-Disposition", "attachment;filename=" + fileName); + response.setContentType("application/vnd.ms-excel;charset=UTF-8"); + response.setHeader("Pragma", "no-cache"); + response.setHeader("Cache-Control", "no-cache"); + outputStream = response.getOutputStream(); + workbook.write(outputStream); + } catch (IOException e) { + e.printStackTrace(); + } finally { + try { + outputStream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } @ApiOperation(tags = {"后台-订单管理-停车记录"},value = "详情") @GetMapping(value = "/detail") public R<TParkingRecord> detail(Long id) { diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/export/TParkingRecordExport.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/export/TParkingRecordExport.java new file mode 100644 index 0000000..a34bb11 --- /dev/null +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/export/TParkingRecordExport.java @@ -0,0 +1,41 @@ +package com.ruoyi.chargingPile.export; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +@Data +@ApiModel(value = "导出充电算帐单-导出") +public class TParkingRecordExport implements Serializable { + + @Excel(name = "账单编号",width = 30) + private String code; + @Excel(name = "站点名称",width = 30) + private String siteName; + @Excel(name = "出场时间",width = 30) + private String outParkingTime; + @Excel(name = "进场时间",width = 30) + private String inParkingTime; + @Excel(name = "车牌号",width = 30) + private String licensePlate; + @Excel(name = "车辆颜色",width = 30) + private String vehicleColor; + @Excel(name = "总费用",width = 30) + private BigDecimal orderAmount; + @Excel(name = "超时占位费",width = 30) + private BigDecimal timeoutAmount; + @Excel(name = "停车费",width = 30) + private BigDecimal amount; + @Excel(name = "免费时长(分钟)",width = 30) + private Integer freeDuration; + @Excel(name = "停车总时长(分钟)",width = 30) + private Integer parkingDuration; + @Excel(name = "收费时长(分钟)",width = 30) + private Integer payDuration; + +} 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 ecba608..4416b85 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 @@ -72,6 +72,17 @@ public R<AccountListVO> accountBillList(@RequestBody ChargingListQuery dto) { AccountListVO accountListVO = new AccountListVO(); ChargingBillVO res = chargingBillService.chargingBillList(dto); + dto.setPageCurr(1); + dto.setPageSize(99999999); + ChargingBillVO res1 = chargingBillService.chargingBillList(dto); + List<ChargingBillListVO> records = res1.getList().getRecords(); + accountListVO.setBillCount(records.size()); + accountListVO.setTotalAmount(res1.getPaymentAmount().subtract(res1.getRefundAmount()).subtract(res1.getCommissionAmount()).subtract(res1.getSharingAmount())); + accountListVO.setPaymentAmount(res1.getPaymentAmount()); + accountListVO.setRefundAmount(res1.getRefundAmount()); + accountListVO.setCommissionAmount(res1.getCommissionAmount()); + accountListVO.setSharingAmount(res1.getSharingAmount()); + accountListVO.setList(res.getList()); return R.ok(accountListVO); } @PostMapping(value = "/chargingBillList") 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 e1cf6a0..e72db84 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 @@ -80,6 +80,7 @@ BigDecimal sharingAmountTotal = new BigDecimal("0"); BigDecimal chargingCapacityTotal = new BigDecimal("0"); BigDecimal discountTotal = new BigDecimal("0"); + BigDecimal refundAmount = new BigDecimal("0"); int orderCount = 0; for (ChargingBillListVO chargingBillListVO : list) { String temp = ""; @@ -243,6 +244,9 @@ electrovalence = electrovalence.add(tChargingOrder.getElectrovalence()); electrovalenceTotal = electrovalenceTotal.add(tChargingOrder.getElectrovalence()); } + if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getRefundStatus() == 2){ + refundAmount = refundAmount.add(tChargingOrder.getRefundAmount()); + } // 累加累计服务费 if (tChargingOrder.getServiceCharge()!=null){ serviceCharge = serviceCharge.add(tChargingOrder.getServiceCharge()); -- Gitblit v1.7.1