ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TParkingRecordServiceImpl.java
@@ -76,7 +76,8 @@ }else{ tParkingRecordVO.setFeeDuration(tParkingRecordVO.getParkingDuration()-tParkingRecordVO.getFreeDuration()); } tParkingRecordVO.setOrderAmount(tParkingRecordVO.getOrderAmount().add(tParkingRecordVO.getTimeoutAmount())); tParkingRecordVO.setParkingFee(tParkingRecordVO.getOrderAmount()); } pageInfo.setRecords(list); // 查询总数 ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TParkingRecordMapper.xml
@@ -30,7 +30,7 @@ <select id="pageList" resultType="com.ruoyi.chargingPile.api.vo.TParkingRecordVO"> select tpr.id, tpr.code,tpr.app_user_id, tpr.license_plate, tpr.vehicle_color, tpr.charging_order_id, tpr.parking_lot_id, tpr.in_parking_time, tpr.out_parking_time, tpr.parking_duration, tpr.order_amount, tpr.status, tpr.out_parking_type, tpr.create_time,(tpr.order_amount - tpr.timeout_amount) as parkingFee,tpr.timeout_amount, tpr.parking_duration, tpr.order_amount, tpr.status, tpr.out_parking_type, tpr.create_time,(tpr.order_amount + tpr.timeout_amount) as parkingFee,tpr.timeout_amount, tpr.free_duration,(tpr.parking_duration - tpr.free_duration) as feeDuration,ts.name as siteName from t_parking_record tpr left join t_parking_lot tpl on tpr.parking_lot_id = tpl.id ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java
@@ -41,11 +41,9 @@ import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.time.temporal.TemporalAdjusters; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; /** * <p> @@ -66,7 +64,63 @@ private SiteClient siteClient; @Resource private TChargingOrderService chargingOrderService; // @GetMapping(value = "/test") // public R accountAdd() { // TChargingBill tChargingBill = new TChargingBill(); // Random random = new Random(); // String randomDigits = random.ints(10, 0, 10) // 生成10个随机数字,范围在0-9 // .mapToObj(String::valueOf) // .collect(Collectors.joining()); // 将其连接成一个字符串 // tChargingBill.setCode("JSD"+randomDigits ); // tChargingBill.setType(1); // tChargingBill.setSiteId(0); // tChargingBill.setBillTime(LocalDateTime.now().plusDays(1)); // tChargingBill.setStatus(1); // tChargingBill.setOrderState(2); // tChargingBill.setBillType(1); // chargingBillService.save(tChargingBill); // TChargingBill tChargingBill1 = new TChargingBill(); // Random random1 = new Random(); // String randomDigits1 = random1.ints(10, 0, 10) // 生成10个随机数字,范围在0-9 // .mapToObj(String::valueOf) // .collect(Collectors.joining()); // 将其连接成一个字符串 // tChargingBill1.setCode("JSD"+randomDigits1); // tChargingBill1.setType(2); // tChargingBill1.setSiteId(13); // tChargingBill1.setBillTime(LocalDateTime.now().plusDays(1)); // tChargingBill1.setStatus(1); // tChargingBill1.setOrderState(2); // tChargingBill1.setBillType(1); // chargingBillService.save(tChargingBill1); // // TChargingBill tChargingBil3 = new TChargingBill(); // Random random2 = new Random(); // String randomDigits2 = random2.ints(10, 0, 10) // 生成10个随机数字,范围在0-9 // .mapToObj(String::valueOf) // .collect(Collectors.joining()); // 将其连接成一个字符串 // tChargingBil3.setCode("JSD"+randomDigits2 ); // tChargingBil3.setType(1); // tChargingBil3.setSiteId(0); // tChargingBil3.setBillTime(LocalDateTime.now().plusDays(1)); // tChargingBil3.setStatus(1); // tChargingBil3.setOrderState(2); // tChargingBil3.setBillType(2); // chargingBillService.save(tChargingBil3); // TChargingBill tChargingBill14 = new TChargingBill(); // Random random3 = new Random(); // String randomDigits3 = random3.ints(10, 0, 10) // 生成10个随机数字,范围在0-9 // .mapToObj(String::valueOf) // .collect(Collectors.joining()); // 将其连接成一个字符串 // tChargingBill14.setCode("JSD"+randomDigits3); // tChargingBill14.setType(2); // tChargingBill14.setSiteId(13); // tChargingBill14.setBillTime(LocalDateTime.now().plusDays(1)); // tChargingBill14.setStatus(1); // tChargingBill14.setOrderState(2); // tChargingBill14.setBillType(2); // chargingBillService.save(tChargingBill14); // return R.ok(); // } @PostMapping(value = "/accountBillList") @ApiOperation(value = "列表查询", tags = {"管理后台-账户结算账单"}) public R<AccountListVO> accountBillList(@RequestBody ChargingListQuery dto) { @@ -74,8 +128,7 @@ ChargingBillVO res = chargingBillService.chargingBillList1(dto); List<ChargingBillListVO> records = res.getList().getRecords(); accountListVO.setBillCount(records.size()); accountListVO.setTotalAmount(res.getPaymentAmount().subtract(res.getRefundAmount()) .subtract(res.getCommissionAmount().setScale(2,BigDecimal.ROUND_DOWN)).subtract(res.getSharingAmount()).setScale(2, BigDecimal.ROUND_DOWN)); accountListVO.setTotalAmount(res.getPaymentAmount().subtract(res.getRefundAmount()).subtract(res.getCommissionAmount()).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)); @@ -287,6 +340,7 @@ BigDecimal paymentAmount = new BigDecimal("0"); BigDecimal refundAmount = new BigDecimal("0"); BigDecimal commissionAmount = new BigDecimal("0"); BigDecimal sharingAmount = new BigDecimal("0"); List<TChargingOrder> tChargingOrders = chargingOrderService.list(eq); // 累加支付金额 @@ -296,9 +350,9 @@ int i =1; for (TChargingOrder tChargingOrder : tChargingOrders) { // 账单信息 paymentAmount = paymentAmount.add(tChargingOrder.getChargeAmount()); commissionAmount = commissionAmount.add(tChargingOrder.getPaymentAmount().multiply(bigDecimal1).setScale(2, BigDecimal.ROUND_DOWN)) ; paymentAmount = paymentAmount.add(tChargingOrder.getRechargeAmount()); commissionAmount = commissionAmount.add(tChargingOrder.getPaymentAmount().multiply(bigDecimal1).setScale(2, BigDecimal.ROUND_DOWN)); sharingAmount = sharingAmount.add(tChargingOrder.getSharingAmount()); // 退款信息 ChargingBillRefundExport chargingBillRefundExport = new ChargingBillRefundExport(); ChargingBillPayExport chargingBillPayExport = new ChargingBillPayExport(); @@ -342,11 +396,11 @@ 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.getChargeAmount().toString()); chargingBillPayExport.setPaymentAmount(tChargingOrder.getRechargeAmount().toString()); chargingBillPayExport.setTotal(""); chargingBillPayExports.add(chargingBillPayExport); i++; bigDecimal = bigDecimal.add(tChargingOrder.getChargeAmount()); bigDecimal = bigDecimal.add(tChargingOrder.getRechargeAmount()); } if (!chargingBillPayExports.isEmpty()){ chargingBillPayExports.get(0).setTotal(bigDecimal+""); @@ -362,7 +416,8 @@ } chargingBillExport.setPaymentAmount(paymentAmount); chargingBillExport.setRefundAmount(refundAmount); chargingBillExport.setIncome(paymentAmount.subtract(refundAmount).subtract(commissionAmount).setScale(2, BigDecimal.ROUND_DOWN)); chargingBillExport.setIncome(paymentAmount.subtract(refundAmount).subtract(commissionAmount) .subtract(sharingAmount).setScale(2, BigDecimal.ROUND_DOWN)); chargingBillExports.add(chargingBillExport); // 导出 List<Map<String, Object>> sheetsList = new ArrayList<>(); ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
@@ -266,7 +266,7 @@ if (data3!=null)tChargingOrder.setUserName(data3.getName()); // 累加实收金额 支付结算金额 if (tChargingOrder.getChargeAmount()!=null){ paymentAmount = paymentAmount.add(tChargingOrder.getChargeAmount()); paymentAmount = paymentAmount.add(tChargingOrder.getRechargeAmount()); } // 总金额 if (tChargingOrder.getOrderAmount()!=null){ @@ -383,7 +383,7 @@ chargingBillVO.setExportList(tChargingOrders); for (TChargingOrder tChargingOrder : tChargingOrders) { if (tChargingOrder.getOrderAmount()!=null){ paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getChargeAmount()); paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getRechargeAmount()); } // 累加订单金额 @@ -753,9 +753,9 @@ paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount()); } // 累加订单金额 if (tChargingOrder.getOrderAmount()!=null){ orderAmount = orderAmount.add(tChargingOrder.getPaymentAmount()); orderAmountTotal = orderAmountTotal.add(tChargingOrder.getPaymentAmount()); if (tChargingOrder.getRechargeAmount()!=null){ orderAmount = orderAmount.add(tChargingOrder.getRechargeAmount()); orderAmountTotal = orderAmountTotal.add(tChargingOrder.getRechargeAmount()); } // 累加累计电费 if (tChargingOrder.getElectrovalence()!=null){ ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -1216,9 +1216,12 @@ BigDecimal income = new BigDecimal("0"); BigDecimal electronicMoney = new BigDecimal("0"); BigDecimal serviceMoney = new BigDecimal("0"); BigDecimal commissionMoney = new BigDecimal("0"); BigDecimal refundMoney = new BigDecimal("0"); BigDecimal paymentMoney = new BigDecimal("0"); for (ChargingOrderVO chargingOrderVO : list) { chargingOrderVO.setCommissionAmount(chargingOrderVO.getOrderAmount().multiply(new BigDecimal("0.006"))); chargingOrderVO.setPlatFormMoney(chargingOrderVO.getOrderAmount().multiply(new BigDecimal("0.006"))); chargingOrderVO.setCommissionAmount(chargingOrderVO.getOrderAmount()!=null?chargingOrderVO.getOrderAmount().multiply(new BigDecimal("0.006")):new BigDecimal("0")); chargingOrderVO.setPlatFormMoney(chargingOrderVO.getOrderAmount()!=null?chargingOrderVO.getOrderAmount().multiply(new BigDecimal("0.006")).setScale(2,BigDecimal.ROUND_DOWN):new BigDecimal("0")); chargingOrderVO.setUid(chargingOrderVO.getId()+""); TChargingGun data3 = chargingGunClient.getChargingGunById(chargingOrderVO.getChargingGunId()).getData(); TChargingPile data2 = chargingPileClient.getChargingPileById(chargingOrderVO.getChargingPileId()).getData(); @@ -1259,6 +1262,8 @@ } } for (ChargingOrderVO chargingOrderVO : list1) { paymentMoney= paymentMoney.add(chargingOrderVO.getPaymentAmount()!=null?chargingOrderVO.getPaymentAmount():new BigDecimal("0")); commissionMoney = commissionMoney.add(chargingOrderVO.getOrderAmount()!=null?chargingOrderVO.getOrderAmount().multiply(new BigDecimal("0.006")):new BigDecimal("0")); if (chargingOrderVO.getChargingCapacity()!=null){ total = total.add(chargingOrderVO.getElectricity()); } @@ -1271,17 +1276,19 @@ chargingOrderVO.setChargingSecond(l); time+=l; } electronicMoney = electronicMoney.add(chargingOrderVO.getElectrovalence()); serviceMoney = serviceMoney.add(chargingOrderVO.getServiceCharge()); income = income.add(chargingOrderVO.getPaymentAmount()); List<TChargingOrderRefund> list2 = chargingOrderRefundService.lambdaQuery().eq(TChargingOrderRefund::getRefundStatus, 2) .eq(TChargingOrderRefund::getChargingOrderId, chargingOrderVO.getId()).list(); for (TChargingOrderRefund tChargingOrderRefund : list2) { if (tChargingOrderRefund.getRefundStatus()==2){ refundMoney = refundMoney.add(tChargingOrderRefund.getRefundTotalAmount()); } } electronicMoney = electronicMoney.add(chargingOrderVO.getElectrovalence()!=null?chargingOrderVO.getElectrovalence():new BigDecimal("0")); serviceMoney = serviceMoney.add(chargingOrderVO.getServiceCharge()!=null?chargingOrderVO.getServiceCharge():new BigDecimal("0")); } tCharingOrderVO.setTotal(total); tCharingOrderVO.setTime(time); tCharingOrderVO.setIncome(income); tCharingOrderVO.setIncome(income.subtract(commissionMoney)); tCharingOrderVO.setElectronicMoney(electronicMoney); tCharingOrderVO.setServiceMoney(serviceMoney); pageInfo.setRecords(list);