From c2e5784caa774f85beca897700f14f36219edb73 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Fri, 5 May 2023 16:46:43 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E8=AE=A2=E5=8D=95=E8=AF=A6=E6=83=85?= =?UTF-8?q?=20new=E6=94=B6=E8=B4=B9=E6=98=8E=E7=BB=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jsowell/service/OrderService.java | 36 ++++++++++++++++++ .../pile/vo/web/OrderDetailInfoVO.java | 13 ++++++- .../src/views/order/order/orderDetail.vue | 38 +++++++++++++++++++ 3 files changed, 86 insertions(+), 1 deletion(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java index e0af62f28..7b239062d 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java @@ -15,6 +15,7 @@ import com.jsowell.common.core.redis.RedisCache; import com.jsowell.common.enums.InvoiceRecordEnum; import com.jsowell.common.enums.MemberWalletEnum; import com.jsowell.common.enums.ykc.ActionTypeEnum; +import com.jsowell.common.enums.ykc.BillingTimeEnum; import com.jsowell.common.enums.ykc.OrderPayModeEnum; import com.jsowell.common.enums.ykc.OrderPayRecordEnum; import com.jsowell.common.enums.ykc.OrderStatusEnum; @@ -796,6 +797,41 @@ public class OrderService { OrderDetailInfoVO.BillingDetails billingDetails = new OrderDetailInfoVO.BillingDetails(); BeanUtils.copyBeanProp(billingDetails, orderDetail); vo.setBillingDetails(billingDetails); + + // new 收费明细 + OrderDetailInfoVO.ChargeDetail sharp = new OrderDetailInfoVO.ChargeDetail(); + sharp.setPeriodType(BillingTimeEnum.SHARP.getLabel()); + sharp.setElectricityPrice(orderDetail.getSharpElectricityPrice()); + sharp.setServicePrice(orderDetail.getSharpServicePrice()); + sharp.setUsedElectricity(orderDetail.getSharpUsedElectricity()); + sharp.setElectricityAmount(sharp.getElectricityPrice().multiply(sharp.getUsedElectricity())); + sharp.setServiceAmount(sharp.getServicePrice().multiply(sharp.getUsedElectricity())); + + OrderDetailInfoVO.ChargeDetail peak = new OrderDetailInfoVO.ChargeDetail(); + peak.setPeriodType(BillingTimeEnum.PEAK.getLabel()); + peak.setElectricityPrice(orderDetail.getPeakElectricityPrice()); + peak.setServicePrice(orderDetail.getPeakServicePrice()); + peak.setUsedElectricity(orderDetail.getPeakUsedElectricity()); + peak.setElectricityAmount(peak.getElectricityPrice().multiply(peak.getUsedElectricity())); + peak.setServiceAmount(peak.getServicePrice().multiply(peak.getUsedElectricity())); + + OrderDetailInfoVO.ChargeDetail flat = new OrderDetailInfoVO.ChargeDetail(); + flat.setPeriodType(BillingTimeEnum.PEAK.getLabel()); + flat.setElectricityPrice(orderDetail.getFlatElectricityPrice()); + flat.setServicePrice(orderDetail.getFlatServicePrice()); + flat.setUsedElectricity(orderDetail.getFlatUsedElectricity()); + flat.setElectricityAmount(flat.getElectricityPrice().multiply(flat.getUsedElectricity())); + flat.setServiceAmount(flat.getServicePrice().multiply(flat.getUsedElectricity())); + + OrderDetailInfoVO.ChargeDetail valley = new OrderDetailInfoVO.ChargeDetail(); + valley.setPeriodType(BillingTimeEnum.PEAK.getLabel()); + valley.setElectricityPrice(orderDetail.getValleyElectricityPrice()); + valley.setServicePrice(orderDetail.getValleyServicePrice()); + valley.setUsedElectricity(orderDetail.getValleyUsedElectricity()); + valley.setElectricityAmount(valley.getElectricityPrice().multiply(valley.getUsedElectricity())); + valley.setServiceAmount(valley.getServicePrice().multiply(valley.getUsedElectricity())); + + vo.setChargeDetails(Lists.newArrayList(sharp, peak, flat, valley)); } // 用户信息 diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/OrderDetailInfoVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/OrderDetailInfoVO.java index 32fd2ec15..f131762ca 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/OrderDetailInfoVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/OrderDetailInfoVO.java @@ -35,7 +35,18 @@ public class OrderDetailInfoVO { private RealTimeMonitorData lastMonitorData; - // billingDetails + // 收费明细 + private List chargeDetails; + + @Data + public static class ChargeDetail{ + private String periodType; // 时段类型 + private BigDecimal usedElectricity; // 用电量 + private BigDecimal electricityPrice; // 电费单价 + private BigDecimal servicePrice; // 服务费单价 + private BigDecimal electricityAmount; // 电费金额 + private BigDecimal serviceAmount; // 服务费金额 + } @Data public static class BillingDetails{ diff --git a/jsowell-ui/src/views/order/order/orderDetail.vue b/jsowell-ui/src/views/order/order/orderDetail.vue index 25bb0cb28..0ed4cb331 100644 --- a/jsowell-ui/src/views/order/order/orderDetail.vue +++ b/jsowell-ui/src/views/order/order/orderDetail.vue @@ -117,6 +117,19 @@
+ +

收费明细new

+ + + + + + + + +
+
+

实时订单数据

@@ -225,12 +238,36 @@ export default { chargingAmount: null, chargingDegree: null, }, + tableData: [] }; }, created() { this.getOrderDetail(); }, methods: { + getSummaries(param) { + const { columns, data } = param; + const sums = []; + columns.forEach((column, index) => { + if (index === 0) { + sums[index] = '总价'; + return; + } + const values = data.map(item => Number(item[column.property])); + if (column.property === 'usedElectricity' ||column.property ==='electricityAmount' || column.property==='serviceAmount' ) { + sums[index] = values.reduce((prev, curr) => { + const value = Number(curr); + if (!isNaN(value)) { + return prev + curr; + } else { + return prev; + } + }, 0); + sums[index]; + } + }); + return sums; + }, clickManualSettlement() { this.dialogVisible = true; }, @@ -264,6 +301,7 @@ export default { console.log("this.pileIn", this.pileIn); this.orderRealTimeInfo = [data.orderRealTimeInfo]; this.orderDetail = [data.billingDetails]; + this.tableData = data.chargeDetails; this.lastMonitorData = data.lastMonitorData; }, },