| | |
| | | this.save(chargingOrder); |
| | | |
| | | //添加订单的计费策略 |
| | | TAccountingStrategy accountingStrategy = accountingStrategyClient.getAccountingStrategyById(tChargingGun.getAccountingStrategyId()).getData(); |
| | | List<TAccountingStrategyDetail> strategyDetailList = accountingStrategyDetailClient.getListByAccountingStrategyId(tChargingGun.getAccountingStrategyId()).getData(); |
| | | Integer accountingStrategyId = tChargingGun.getAccountingStrategyId(); |
| | | if(null == accountingStrategyId){ |
| | | //查询站点上面的计费策略 |
| | | Site site = siteClient.getSiteByIds(Arrays.asList(tChargingGun.getSiteId())).getData().get(0); |
| | | accountingStrategyId = site.getAccountingStrategyId(); |
| | | } |
| | | TAccountingStrategy accountingStrategy = accountingStrategyClient.getAccountingStrategyById(accountingStrategyId).getData(); |
| | | List<TAccountingStrategyDetail> strategyDetailList = accountingStrategyDetailClient.getListByAccountingStrategyId(accountingStrategyId).getData(); |
| | | AccountingStrategyOrder accountingStrategyOrder = new AccountingStrategyOrder(); |
| | | BeanUtils.copyProperties(accountingStrategy, accountingStrategyOrder); |
| | | accountingStrategyOrder.setChargingOrderId(chargingOrder.getId()); |
| | |
| | | BigDecimal paymentAmount = new BigDecimal("0"); |
| | | for (TChargingOrder tChargingOrder : tChargingOrders) { |
| | | // 累加充电总度数 |
| | | chargingElectronic = chargingElectronic.add(tChargingOrder.getChargingCapacity()); |
| | | if (tChargingOrder.getChargingCapacity()!=null){ |
| | | chargingElectronic = chargingElectronic.add(tChargingOrder.getChargingCapacity()); |
| | | |
| | | } |
| | | // 累加分佣 |
| | | sharingAmount = sharingAmount.add(tChargingOrder.getSharingAmount()); |
| | | if (tChargingOrder.getSharingAmount()!=null) { |
| | | sharingAmount = sharingAmount.add(tChargingOrder.getSharingAmount()); |
| | | } |
| | | // 累加电费 |
| | | if (tChargingOrder.getElectrovalence()!=null) { |
| | | electrovalence = electrovalence.add(tChargingOrder.getElectrovalence()); |
| | | } |
| | | // 累加服务费 |
| | | serviceCharge = serviceCharge.add(tChargingOrder.getServiceCharge()); |
| | | if (tChargingOrder.getServiceCharge()!=null){ |
| | | serviceCharge = serviceCharge.add(tChargingOrder.getServiceCharge()); |
| | | |
| | | } |
| | | // 累加会员折扣 |
| | | if (tChargingOrder.getVipDiscountAmount()!=null){ |
| | | vipDiscount = vipDiscount.add(tChargingOrder.getVipDiscountAmount()); |
| | |
| | | if (tChargingOrder.getCouponDiscountAmount()!=null){ |
| | | couponDiscount = couponDiscount.add(tChargingOrder.getCouponDiscountAmount()); |
| | | } |
| | | if (tChargingOrder.getRefundStatus() == 2){ |
| | | if (tChargingOrder.getRefundStatus()!=null &&tChargingOrder.getRefundStatus() == 2){ |
| | | // 如果成功退款 那么减去退款金额 |
| | | paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount().subtract(tChargingOrder.getRefundAmount())); |
| | | }else{ |
| | | paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount()); |
| | | if (tChargingOrder.getPaymentAmount()!=null){ |
| | | paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount()); |
| | | } |
| | | } |
| | | } |
| | | // 三方交易手续费 三方收费*0.6% |
| | |
| | | tSettlementConfirm.setVipDiscount(vipDiscount); |
| | | tSettlementConfirm.setCouponDiscount(couponDiscount); |
| | | tSettlementConfirm.setSiteId(dto.getSiteId()); |
| | | tSettlementConfirm.setMeteringElectronic(dto.getData().getMeteringElectronic()); |
| | | tSettlementConfirm.setChargingElectronic(chargingElectronic); |
| | | tSettlementConfirm.setLossElectronic(dto.getData().getLossElectronic()); |
| | | tSettlementConfirm.setIncome(chargingElectronic.add(serviceCharge)); |
| | | tSettlementConfirm.setVenue(dto.getData().getVenue()); |
| | | tSettlementConfirm.setMetering(dto.getData().getMetering()); |
| | | tSettlementConfirm.setClean(dto.getData().getClean()); |
| | | tSettlementConfirm.setMaintain(dto.getData().getMaintain()); |
| | | tSettlementConfirm.setCost(dto.getData().getVenue().add(dto.getData().getClean()).add(dto.getData().getMaintain())); |
| | | tSettlementConfirm.setProfitMoney(new BigDecimal("0")); |
| | | tSettlementConfirm.setNewMoney(new BigDecimal("0")); |
| | | tSettlementConfirm.setNewSettlement(new BigDecimal("0")); |
| | | tSettlementConfirm.setVipDiscount(vipDiscount); |
| | | tSettlementConfirm.setCouponDiscount(couponDiscount); |
| | | tSettlementConfirm.setSupplyElectronic(dto.getData().getSupplyElectronic()); |
| | | tSettlementConfirm.setType(dto.getType()); |
| | | tSettlementConfirm.setProportionPartner(dto.getData().getProportionPartner()); |
| | | tSettlementConfirm.setProportionMoney(dto.getData().getProportionMoney()); |
| | | tSettlementConfirm.setTotalElectronic(dto.getData().getTotalElectronic()); |
| | | tSettlementConfirm.setTotalService(dto.getData().getTotalService()); |
| | | tSettlementConfirm.setRemark(dto.getData().getRemark()); |
| | | tSettlementConfirm.setServicePartner(dto.getData().getServicePartner()); |
| | | tSettlementConfirm.setServiceMoney(dto.getData().getServiceMoney()); |
| | | tSettlementConfirm.setTotalService(dto.getData().getTotalService()); |
| | | tSettlementConfirm.setServiceRemark(dto.getData().getServiceRemark()); |
| | | tSettlementConfirm.setDistribution(dto.getData().getDistribution()); |
| | | tSettlementConfirm.setIncome(dto.getData().getElectrovalence().add(dto.getData().getServiceCharge())); |
| | | |
| | | if (dto.getState() == 2){ |
| | | tSettlementConfirm.setSupplyElectronic(dto.getData().getSupplyElectronic()); |
| | | tSettlementConfirm.setVenue(dto.getData().getVenue()); |
| | | tSettlementConfirm.setMetering(dto.getData().getMetering()); |
| | | tSettlementConfirm.setClean(dto.getData().getClean()); |
| | | tSettlementConfirm.setLossElectronic(dto.getData().getLossElectronic()); |
| | | tSettlementConfirm.setMaintain(dto.getData().getMaintain()); |
| | | |
| | | tSettlementConfirm.setMeteringElectronic(dto.getData().getMeteringElectronic()); |
| | | tSettlementConfirm.setProportionPartner(dto.getData().getProportionPartner()); |
| | | tSettlementConfirm.setProportionMoney(dto.getData().getProportionMoney()); |
| | | tSettlementConfirm.setTotalElectronic(dto.getData().getTotalElectronic()); |
| | | tSettlementConfirm.setTotalService(dto.getData().getTotalService()); |
| | | tSettlementConfirm.setRemark(dto.getData().getRemark()); |
| | | tSettlementConfirm.setServicePartner(dto.getData().getServicePartner()); |
| | | tSettlementConfirm.setServiceMoney(dto.getData().getServiceMoney()); |
| | | tSettlementConfirm.setTotalService(dto.getData().getTotalService()); |
| | | tSettlementConfirm.setServiceRemark(dto.getData().getServiceRemark()); |
| | | tSettlementConfirm.setDistribution(dto.getData().getDistribution()); |
| | | tSettlementConfirm.setIncome(dto.getData().getElectrovalence().add(dto.getData().getServiceCharge())); |
| | | tSettlementConfirm.setCost(dto.getData().getVenue().add(dto.getData().getClean()).add(dto.getData().getMaintain())); |
| | | tSettlementConfirmMapper.insert(tSettlementConfirm); |
| | | } |
| | | return tSettlementConfirm; |