| | |
| | | chargingBillVO.setPaymentAmount(BigDecimal.ZERO); |
| | | } |
| | | |
| | | chargingBillListVO.setPaymentAmount(paymentAmount.subtract(sharingAmount)); |
| | | chargingBillListVO.setPaymentAmount(paymentAmount); |
| | | chargingBillListVO.setOrderAmount(refundAmount); |
| | | chargingBillListVO.setRefundAmount(refundAmount == null?BigDecimal.ZERO:refundAmount); |
| | | chargingBillListVO.setElectrovalence(electrovalence == null?BigDecimal.ZERO:electrovalence); |
| | |
| | | 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(orderAmount |
| | | chargingBillListVO.setBillMoney(paymentAmount |
| | | .subtract(commissionAmount.setScale(2,BigDecimal.ROUND_DOWN)).subtract(sharingAmount).setScale(2, BigDecimal.ROUND_DOWN)); |
| | | switch (chargingBillListVO.getType()){ |
| | | case 1: |
| | |
| | | break; |
| | | case 2: |
| | | temp = "各个站点账单"; |
| | | temp1 = data6.stream().filter(e->e.getId().equals(chargingBillListVO.getSiteId())).findFirst().orElse(new Site()).getName(); |
| | | Site site = data6.stream().filter(e -> e.getId().equals(chargingBillListVO.getSiteId())).findFirst().orElse(null); |
| | | if(site!=null){ |
| | | temp1 = site.getName(); |
| | | } |
| | | break; |
| | | } |
| | | chargingBillVO.setCategory(temp); |
| | |
| | | break; |
| | | } |
| | | } |
| | | BigDecimal add = tChargingOrder.getElectrovalence().add(tChargingOrder.getServiceCharge()); |
| | | tChargingOrder.setTotalAmount(add.toString()); |
| | | |
| | | tChargingOrder.setDiscount(tChargingOrder.getCouponDiscountAmount()!=null?tChargingOrder.getCouponDiscountAmount().toString():"0"); |
| | | if (tChargingOrder.getStartTime()!=null && tChargingOrder.getEndTime()!=null){ |
| | | LocalDateTime startTime = tChargingOrder.getStartTime(); |
| | |
| | | BigDecimal electronic_reduce = list4.stream().map(TChargingOrderAccountingStrategy::getPeriodElectricPrice).reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | BigDecimal service_reduce = list4.stream().map(TChargingOrderAccountingStrategy::getPeriodServicePrice).reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | BigDecimal charging_capacity = list4.stream().map(TChargingOrderAccountingStrategy::getChargingCapacity).reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | |
| | | if ( !tChargingOrder.getOrderSource().equals(2)){ |
| | | // 实收 |
| | | paymentAmount = paymentAmount.add(electronic_reduce).add(service_reduce); |
| | | BigDecimal add = electronic_reduce.add(service_reduce); |
| | | tChargingOrder.setTotalAmount(add.toString()); |
| | | } |
| | | // 总金额 |
| | | if (tChargingOrder.getRechargeAmount()!=null){ |
| | |
| | | sharingAmount = sharingAmount.add(service_reduce.multiply(new BigDecimal("0.2")).setScale(2,BigDecimal.ROUND_DOWN)); |
| | | // 累加实收 |
| | | paymentAmount = paymentAmount.add(electronic_reduce).add(service_reduce.multiply(new BigDecimal("0.8")).setScale(2,BigDecimal.ROUND_DOWN)); |
| | | BigDecimal add = electronic_reduce.add(service_reduce.multiply(new BigDecimal("0.8"))); |
| | | tChargingOrder.setTotalAmount(add.toString()); |
| | | }else { |
| | | serviceCharge = serviceCharge.add(service_reduce); |
| | | } |
| | | |
| | | // 累加平台手续费 |
| | | if (tChargingOrder.getRechargeAmount()!=null){ |
| | | commissionAmount = commissionAmount.add(tChargingOrder.getRechargeAmount().multiply(BigDecimal.valueOf(0.006)) |
| | | .setScale(2,BigDecimal.ROUND_DOWN)); |
| | | commissionAmount = commissionAmount.add(tChargingOrder.getRechargeAmount().multiply(BigDecimal.valueOf(0.006)).setScale(2,BigDecimal.ROUND_DOWN)); |
| | | } |
| | | |
| | | // 累加充电度数 |
| | | chargingCapacity = chargingCapacity.add(charging_capacity); |
| | | |
| | | } |
| | | // 将chargingSecond 这是以秒为单位存放的总秒数 将其转化为xx小时xx分钟xx秒 |
| | | int hours = chargingSecond / 3600; |
| | |
| | | } |
| | | for (ChargingBillListVO chargingBillListVO : list1) { |
| | | if (dto.getType() == 1){ |
| | | |
| | | if (chargingBillListVO.getSiteId()!=0){ |
| | | continue; |
| | | } |
| | | }else{ |
| | | if (chargingBillListVO.getSiteId()!=0&&!siteIds.contains(chargingBillListVO.getSiteId())){ |
| | | continue; |
| | |
| | | chargingBillListVO.setUid(chargingBillListVO.getId().toString()); |
| | | // 根据账单的出账时间 查询上个月的充电订单 |
| | | LocalDateTime localDate = chargingBillListVO.getBillTime().minusMonths(1); |
| | | // LocalDateTime localDate = chargingBillListVO.getBillTime().minusDays(1); |
| | | // 账单周期 |
| | | chargingBillListVO.setBillWeek(localDate.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM"))); |
| | | // 获取 LocalDate 对象 |
| | |
| | | // 累加平台手续费 |
| | | if (tChargingOrder.getOrderAmount()!=null){ |
| | | commissionAmount = commissionAmount.add(tChargingOrder.getRechargeAmount().multiply(new BigDecimal("0.006")).setScale(2,BigDecimal.ROUND_DOWN)); |
| | | commissionAmountTotal = commissionAmountTotal.add(tChargingOrder.getRechargeAmount().multiply(new BigDecimal("0.006")) |
| | | .setScale(2,BigDecimal.ROUND_DOWN)); |
| | | commissionAmountTotal = commissionAmountTotal.add(tChargingOrder.getRechargeAmount().multiply(new BigDecimal("0.006")).setScale(2,BigDecimal.ROUND_DOWN)); |
| | | } |
| | | |
| | | // 累加充电度数 |