From 00779ea0f8374e5bbdffc8faa20d65e3c72616c2 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期六, 02 十一月 2024 19:26:23 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 27 +++++++------
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java | 53 ++++++++++++++------------
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java | 13 +++---
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderRefund.java | 1
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java | 2
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrder.java | 7 +++
ruoyi-service/ruoyi-chargingPile/src/main/resources/template/账户结算账单.xlsx | 0
7 files changed, 58 insertions(+), 45 deletions(-)
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrder.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrder.java
index e350f71..156e598 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrder.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrder.java
@@ -34,7 +34,9 @@
@ApiModelProperty(value = "序号")
@TableField(exist = false)
private Integer xuhao;
-
+ @ApiModelProperty(value = "退款描述")
+ @TableField(exist = false)
+ private String refundContent;
@ApiModelProperty(value = "订单编号")
@TableField("code")
private String code;
@@ -206,6 +208,9 @@
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@TableField("refund_time")
private LocalDateTime refundTime;
+ @ApiModelProperty(value = "退款成功时间")
+ @TableField(exist = false)
+ private String refundTime1;
@ApiModelProperty(value = "总电量")
@TableField("total_electricity")
private BigDecimal totalElectricity;
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderRefund.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderRefund.java
index a2c7b2b..9d6430c 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderRefund.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderRefund.java
@@ -40,6 +40,7 @@
@TableField("refund_code")
private String refundCode;
+
@ApiModelProperty(value = "退款金额")
@TableField("refund_amount")
private BigDecimal refundAmount;
diff --git "a/ruoyi-service/ruoyi-chargingPile/src/main/resources/template/\350\264\246\346\210\267\347\273\223\347\256\227\350\264\246\345\215\225.xlsx" "b/ruoyi-service/ruoyi-chargingPile/src/main/resources/template/\350\264\246\346\210\267\347\273\223\347\256\227\350\264\246\345\215\225.xlsx"
index fe8f3b0..b004de2 100644
--- "a/ruoyi-service/ruoyi-chargingPile/src/main/resources/template/\350\264\246\346\210\267\347\273\223\347\256\227\350\264\246\345\215\225.xlsx"
+++ "b/ruoyi-service/ruoyi-chargingPile/src/main/resources/template/\350\264\246\346\210\267\347\273\223\347\256\227\350\264\246\345\215\225.xlsx"
Binary files differ
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 fefdb02..255389b 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
@@ -75,12 +75,13 @@
List<ChargingBillListVO> records = res.getList().getRecords();
accountListVO.setBillCount(records.size());
accountListVO.setTotalAmount(res.getPaymentAmount().subtract(res.getRefundAmount())
- .subtract(res.getCommissionAmount()).subtract(res.getSharingAmount()));
- accountListVO.setPaymentAmount(res.getPaymentAmount());
- accountListVO.setRefundAmount(res.getRefundAmount());
- accountListVO.setCommissionAmount(res.getCommissionAmount());
- accountListVO.setSharingAmount(res.getSharingAmount());
+ .subtract(res.getCommissionAmount().setScale(2,BigDecimal.ROUND_DOWN)).subtract(res.getSharingAmount()).setScale(2, BigDecimal.ROUND_DOWN));
+ accountListVO.setPaymentAmount(res.getPaymentAmount().setScale(2, BigDecimal.ROUND_DOWN));
+ accountListVO.setRefundAmount(res.getRefundAmount().setScale(2, BigDecimal.ROUND_DOWN));
+ accountListVO.setCommissionAmount(res.getCommissionAmount().setScale(2, BigDecimal.ROUND_DOWN));
+ accountListVO.setSharingAmount(res.getSharingAmount().setScale(2, BigDecimal.ROUND_DOWN));
accountListVO.setList(res.getList());
+ accountListVO.setOrderList(res.getExportList());
return R.ok(accountListVO);
}
@PostMapping(value = "/chargingBillList")
@@ -337,7 +338,7 @@
chargingBillPayExport.setRechargeSerialNumber(tChargingOrder.getRechargeSerialNumber());
chargingBillPayExport.setCode(tChargingOrder.getCode());
chargingBillPayExport.setPayTime(tChargingOrder.getPayTime()!=null?DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",DateUtils.toDate(tChargingOrder.getPayTime())):"");
- chargingBillPayExport.setPaymentAmount(tChargingOrder.getOrderAmount().toString());
+ chargingBillPayExport.setPaymentAmount(tChargingOrder.getChargeAmount().toString());
chargingBillPayExport.setTotal("");
chargingBillPayExports.add(chargingBillPayExport);
i++;
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 f178bcf..986c4db 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
@@ -189,7 +189,7 @@
BigDecimal size = new BigDecimal(stageCost.size());
for (TChargingOrderAccountingStrategy tChargingOrderAccountingStrategy : stageCost) {
- bigDecimal1 = bigDecimal1.add(tChargingOrderAccountingStrategy.getElectrovalence());
+ bigDecimal1 = bigDecimal1.add(tChargingOrderAccountingStrategy.getPeriodElectricPrice());
bigDecimal2 = bigDecimal2.add(tChargingOrderAccountingStrategy.getPeriodServicePrice());
bigDecimal3 = bigDecimal3.add(tChargingOrderAccountingStrategy.getPeriodOriginalServicePrice());
}
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 831f5a2..3f5c27d 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
@@ -10,6 +10,7 @@
import com.ruoyi.chargingPile.api.model.Site;
import com.ruoyi.chargingPile.api.model.TChargingGun;
import com.ruoyi.chargingPile.api.model.TChargingPile;
+import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.integration.api.feignClient.UploadRealTimeMonitoringDataClient;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import com.ruoyi.order.api.model.TChargingOrder;
@@ -78,8 +79,7 @@
}
}
ChargingBillVO chargingBillVO = new ChargingBillVO();
- List<TChargingOrder> exports = new ArrayList<>();
-
+ List<TChargingOrder> tChargingOrders1 = new ArrayList<>();
String startTime1 = null;
String startTime2 = null;
if (StringUtils.hasLength(dto.getStartTime())){
@@ -101,10 +101,8 @@
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 = "";
String temp1 = "";
switch (chargingBillListVO.getType()){
@@ -161,6 +159,7 @@
BigDecimal commissionAmount = new BigDecimal("0");
BigDecimal sharingAmount = new BigDecimal("0");
BigDecimal chargingCapacity = new BigDecimal("0");
+ BigDecimal refundAmount = new BigDecimal("0");
orderCount+=tChargingOrders.size();
chargingBillVO.setCategory("");
chargingBillVO.setExportList(tChargingOrders);
@@ -300,7 +299,6 @@
}
}
- exports.addAll(tChargingOrders);
// 将chargingSecond 这是以秒为单位存放的总秒数 将其转化为xx小时xx分钟xx秒
int hours = chargingSecond / 3600;
int minutes = (chargingSecond % 3600) / 60;
@@ -317,11 +315,11 @@
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.setCommissionAmount(commissionAmount == null?BigDecimal.ZERO:commissionAmount.setScale(2,BigDecimal.ROUND_DOWN));
chargingBillListVO.setSharingAmount(sharingAmount == null?BigDecimal.ZERO:sharingAmount);
chargingBillListVO.setChargingCapacity(chargingCapacity == null?BigDecimal.ZERO:chargingCapacity);
- chargingBillListVO.setBillMoney(paymentAmount.subtract(refundAmount==null?BigDecimal.ZERO:chargingBillListVO.getRefundAmount()
- .subtract(commissionAmount).subtract(sharingAmount).setScale(2, RoundingMode.HALF_DOWN)));
+ chargingBillListVO.setBillMoney(paymentAmount.subtract(refundAmount==null?BigDecimal.ZERO:refundAmount)
+ .subtract(commissionAmount.setScale(2,BigDecimal.ROUND_DOWN)).subtract(sharingAmount).setScale(2, BigDecimal.ROUND_DOWN));
switch (chargingBillListVO.getType()){
case 1:
chargingBillListVO.setSiteName("全站");
@@ -371,6 +369,7 @@
eq.eq("site_id", chargingBillListVO.getSiteId());
}
List<TChargingOrder> tChargingOrders = chargingOrderList.selectList(eq);
+ tChargingOrders1.addAll(tChargingOrders);
orderCount+=tChargingOrders.size();
chargingBillVO.setCategory("");
chargingBillVO.setExportList(tChargingOrders);
@@ -391,6 +390,10 @@
.eq(TChargingOrderRefund::getRefundStatus, 2).list();
for (TChargingOrderRefund tChargingOrderRefund : list2) {
refundAmountTotal =refundAmountTotal.add(tChargingOrderRefund.getRefundAmount());
+ tChargingOrder.setRefundAmount(tChargingOrderRefund.getRefundAmount());
+ tChargingOrder.setRefundContent(tChargingOrderRefund.getRefundReason());
+ tChargingOrder.setRefundCode(tChargingOrderRefund.getRefundCode());
+ tChargingOrder.setRefundTime1(DateUtils.localDateTimeToString(tChargingOrderRefund.getRefundTime()));
}
// 累加累计服务费
if (tChargingOrder.getServiceCharge()!=null){
@@ -419,16 +422,16 @@
}
}
chargingBillVO.setChargingCapacity(chargingCapacityTotal);
- chargingBillVO.setPaymentAmount(paymentAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
+ chargingBillVO.setPaymentAmount(paymentAmountTotal);
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.setElectrovalence(electrovalenceTotal);
+ chargingBillVO.setServiceCharge(serviceChargeTotal);
chargingBillVO.setOrderCount(orderCount);
- chargingBillVO.setCommissionAmount(commissionAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
- chargingBillVO.setSharingAmount(sharingAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
+ chargingBillVO.setCommissionAmount(commissionAmountTotal);
+ chargingBillVO.setSharingAmount(sharingAmountTotal);
chargingBillVO.setDiscount(discountTotal);
chargingBillVO.setRefundAmount(refundAmountTotal);
-
+ chargingBillVO.setExportList(tChargingOrders1);
pageInfo.setRecords(list);
chargingBillVO.setList(pageInfo);
return chargingBillVO;
@@ -662,12 +665,12 @@
String timeString = String.format("%d小时%d分钟%d秒", hours, minutes, seconds);
chargingBillVO.setChargingTime(timeString);
- chargingBillListVO.setPaymentAmount(orderAmount.subtract(commissionAmount).subtract(sharingAmount).setScale(2,RoundingMode.HALF_DOWN));
+ chargingBillListVO.setPaymentAmount(orderAmount.subtract(commissionAmount).subtract(sharingAmount).setScale(2,BigDecimal.ROUND_DOWN));
chargingBillListVO.setOrderAmount(orderAmount);
chargingBillListVO.setElectrovalence(electrovalence);
- chargingBillListVO.setServiceCharge(serviceCharge.setScale(2,RoundingMode.HALF_DOWN));
- chargingBillListVO.setCommissionAmount(commissionAmount.setScale(2,RoundingMode.HALF_DOWN));
- chargingBillListVO.setSharingAmount(sharingAmount.setScale(2,RoundingMode.HALF_DOWN));
+ chargingBillListVO.setServiceCharge(serviceCharge.setScale(2,BigDecimal.ROUND_DOWN));
+ chargingBillListVO.setCommissionAmount(commissionAmount.setScale(2,BigDecimal.ROUND_DOWN));
+ chargingBillListVO.setSharingAmount(sharingAmount.setScale(2,BigDecimal.ROUND_DOWN));
chargingBillListVO.setChargingCapacity(chargingCapacity);
switch (chargingBillListVO.getType()){
case 1:
@@ -777,14 +780,14 @@
}
}
chargingBillVO.setChargingCapacity(chargingCapacityTotal);
- 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));
+ chargingBillVO.setPaymentAmount(orderAmountTotal.subtract(commissionAmountTotal).subtract(sharingAmountTotal).setScale(2, BigDecimal.ROUND_DOWN));
+ chargingBillVO.setOrderAmount(orderAmountTotal.setScale(2, BigDecimal.ROUND_DOWN));
+ chargingBillVO.setElectrovalence(electrovalenceTotal.setScale(2, BigDecimal.ROUND_DOWN));
+ chargingBillVO.setServiceCharge(serviceChargeTotal.setScale(2, BigDecimal.ROUND_DOWN));
chargingBillVO.setOrderCount(orderCount);
- chargingBillVO.setCommissionAmount(commissionAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
- chargingBillVO.setSharingAmount(sharingAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
- chargingBillVO.setDiscount(discountTotal.setScale(2, RoundingMode.HALF_DOWN));
+ chargingBillVO.setCommissionAmount(commissionAmountTotal.setScale(2, BigDecimal.ROUND_DOWN));
+ chargingBillVO.setSharingAmount(sharingAmountTotal.setScale(2, BigDecimal.ROUND_DOWN));
+ chargingBillVO.setDiscount(discountTotal.setScale(2, BigDecimal.ROUND_DOWN));
pageInfo.setRecords(list);
chargingBillVO.setList(pageInfo);
return chargingBillVO;
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 f82ff76..97cbfec 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
@@ -1298,9 +1298,9 @@
payOrderDto.setFinalAmount(payOrderDto.getOrderAmount());
}
if (payOrderDto.getType()==1&&payOrderDto.getStatus()==3){
- payOrderDto.setFinalAmount(payOrderDto.getRechargeAmount());
- payOrderDto.setOrderAmount(payOrderDto.getRechargeAmount());
- payOrderDto.setPaymentAmount(payOrderDto.getRechargeAmount());
+ payOrderDto.setFinalAmount(payOrderDto.getOrderAmount());
+ payOrderDto.setOrderAmount(payOrderDto.getOrderAmount());
+ payOrderDto.setPaymentAmount(payOrderDto.getOrderAmount());
}
}
pageInfo.setRecords(list);
@@ -2586,6 +2586,7 @@
}
}
+
// 三方交易手续费 三方收费*0.6%
commissionAmount = sharingAmount.multiply(new BigDecimal("0.006"));
// 订单手续费 订单支付金额 - 退款金额*0.6%
@@ -2593,7 +2594,7 @@
tSettlementConfirm.setSharingAmount(sharingAmount.setScale(2, RoundingMode.HALF_DOWN));
tSettlementConfirm.setCommissionAmount(commissionAmount.setScale(2, RoundingMode.HALF_DOWN));
tSettlementConfirm.setElectrovalence(electrovalence.setScale(2, RoundingMode.HALF_DOWN));
- tSettlementConfirm.setServiceCharge(serviceCharge.subtract(commissionAmount).setScale(2, RoundingMode.HALF_DOWN));
+ tSettlementConfirm.setServiceCharge(serviceCharge.subtract(orderCommission).setScale(2, RoundingMode.HALF_DOWN));
tSettlementConfirm.setOrderCommission(orderCommission);
tSettlementConfirm.setVipDiscount(vipDiscount);
tSettlementConfirm.setCouponDiscount(couponDiscount);
@@ -2605,6 +2606,8 @@
tSettlementConfirm.setType(dto.getType());
if (dto.getState() == 2){
+ tSettlementConfirm.setServiceMoney(dto.getServiceCharge().subtract(dto.getVenue()).subtract(dto.getClean())
+ .subtract(dto.getMaintain()).multiply(dto.getServicePartner()));
tSettlementConfirm.setSupplyElectronic(dto.getSupplyElectronic());
tSettlementConfirm.setVenue(dto.getVenue());
tSettlementConfirm.setMetering(dto.getMetering());
@@ -2619,26 +2622,26 @@
tSettlementConfirm.setTotalService(dto.getTotalService());
tSettlementConfirm.setRemark(dto.getRemark());
tSettlementConfirm.setServicePartner(dto.getServicePartner());
- tSettlementConfirm.setServiceMoney(dto.getServiceMoney());
- BigDecimal subtract = new BigDecimal("1").subtract(dto.getProportionPartner().multiply(new BigDecimal("0.01")));
+ BigDecimal subtract = new BigDecimal("1").subtract(dto.getProportionPartner());
+ BigDecimal subtract9 = new BigDecimal("1").subtract(dto.getServicePartner());
// 总电损费用
BigDecimal divide = tSettlementConfirm.getProportionMoney().divide(subtract, 2, RoundingMode.HALF_DOWN);
// 平台承担电损
BigDecimal subtract1 = divide.subtract(tSettlementConfirm.getProportionMoney());
BigDecimal multiply = dto.getServiceMoney().multiply(subtract);
BigDecimal subtract2 = multiply.subtract(subtract1);
- tSettlementConfirm.setNewMoney(subtract2);
+ tSettlementConfirm.setNewMoney(dto.getServiceCharge().subtract(dto.getVenue()).subtract(dto.getClean())
+ .subtract(dto.getMaintain()).multiply(subtract9).subtract(subtract1));
tSettlementConfirm.setTotalService(dto.getTotalService());
tSettlementConfirm.setServiceRemark(dto.getServiceRemark());
tSettlementConfirm.setDistribution(dto.getDistribution());
tSettlementConfirm.setIncome(dto.getElectrovalence().add(dto.getServiceCharge()));
tSettlementConfirm.setCost(dto.getVenue().add(dto.getClean()).add(dto.getMaintain()).add(dto.getSupplyElectronic()));
- BigDecimal divide1 = tSettlementConfirm.getProportionMoney().divide(tSettlementConfirm.getProportionPartner(), 2, RoundingMode.HALF_DOWN);
- tSettlementConfirm.setProfitMoney(tSettlementConfirm.getServiceCharge().multiply(tSettlementConfirm.getServicePartner())
- .subtract(divide1));
- tSettlementConfirm.setNewSettlement(subtract2.subtract(tSettlementConfirm.getCost()));
-
+ tSettlementConfirm.setProfitMoney(tSettlementConfirm.getIncome().subtract(tSettlementConfirm.getCost()));
+ tSettlementConfirm.setNewSettlement(tSettlementConfirm.getProfitMoney().add(tSettlementConfirm.getCost()));
+ tSettlementConfirm.setServiceMoney(dto.getServiceCharge().subtract(dto.getVenue()).subtract(dto.getClean())
+ .subtract(dto.getMaintain()).multiply(dto.getServicePartner()));
tSettlementConfirmMapper.insert(tSettlementConfirm);
}
return tSettlementConfirm;
--
Gitblit v1.7.1