| | |
| | | import java.math.RoundingMode; |
| | | import java.net.URLEncoder; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.time.temporal.ChronoUnit; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | List<TChargingOrderExport> tChargingOrderExports = new ArrayList<>(); |
| | | List<ChargingOrderListVO> exportList = res.getExportList(); |
| | | int i = 0; |
| | | List<Site> data9 = siteClient.getSiteAll().getData(); |
| | | List<TChargingGun> data = chargingGunClient.getAllGun().getData(); |
| | | List<TAppUser> data6 = appUserClient.getAllUser().getData(); |
| | | List<Partner> data7 = siteClient.getAllPartner().getData(); |
| | | List<AccountingStrategyOrder> listAll = accountingStrategyOrderService.lambdaQuery() |
| | | .list(); |
| | | List<TChargingOrderAccountingStrategy> stageCostAll = tChargingOrderAccountingStrategyService.list( |
| | | ); |
| | | for (ChargingOrderListVO chargingOrderListVO : exportList) { |
| | | TChargingOrderExport tChargingOrderExport = new TChargingOrderExport(); |
| | | |
| | | List<Site> data = siteClient.getSiteByIds(Arrays.asList(chargingOrderListVO.getSiteId())).getData(); |
| | | TAppUser data3 = appUserClient.getUserById(chargingOrderListVO.getAppUserId()).getData(); |
| | | TChargingGun data4 = chargingGunClient.getChargingGunById(chargingOrderListVO.getChargingGunId()).getData(); |
| | | if (data!=null&&(!data.isEmpty())){ |
| | | tChargingOrderExport.setSiteCode(data.get(0).getCode()); |
| | | Site site = data9.stream().filter(e -> e.getId().equals(chargingOrderListVO.getSiteId())).findFirst().orElse(null); |
| | | TAppUser data3 = data6.stream().filter(e->e.getId().equals(chargingOrderListVO.getAppUserId())).findFirst().orElse(null); |
| | | TChargingGun data4 = data.stream().filter(e->e.getId().equals(chargingOrderListVO.getChargingGunId())).findFirst().orElse(null); |
| | | if (site!=null){ |
| | | tChargingOrderExport.setSiteCode(site.getCode()); |
| | | tChargingOrderExport.setSiteName(chargingOrderListVO.getSiteName()); |
| | | tChargingOrderExport.setCity(data.get(0).getCity()); |
| | | tChargingOrderExport.setCityName(data.get(0).getDistricts()); |
| | | tChargingOrderExport.setSiteType(data.get(0).getSiteType()); |
| | | tChargingOrderExport.setStatus(data.get(0).getStatus()+""); |
| | | Partner data2 = siteClient.getPartnerR(data.get(0).getPartnerId()).getData(); |
| | | tChargingOrderExport.setCity(site.getCity()); |
| | | tChargingOrderExport.setCityName(site.getDistricts()); |
| | | tChargingOrderExport.setSiteType(site.getSiteType()); |
| | | tChargingOrderExport.setStatus(site.getStatus()+""); |
| | | Partner data2 = data7.stream().filter(e->e.getId().equals(site.getPartnerId())).findFirst().orElse(null); |
| | | if (data2!=null){ |
| | | tChargingOrderExport.setPartner(data2.getName()); |
| | | } |
| | |
| | | tChargingOrderExport.setCode(chargingOrderListVO.getCode()); |
| | | tChargingOrderExport.setTerminalName(chargingOrderListVO.getTerminalName()); |
| | | // 查询这笔订单的计费策略名称 |
| | | List<AccountingStrategyOrder> list = accountingStrategyOrderService.lambdaQuery() |
| | | .eq(AccountingStrategyOrder::getChargingOrderId, chargingOrderListVO.getId()) |
| | | .list(); |
| | | List<AccountingStrategyOrder> list = listAll.stream().filter(e -> e.getChargingOrderId().equals(chargingOrderListVO.getId())).collect(Collectors.toList()); |
| | | |
| | | |
| | | if (!list.isEmpty()){ |
| | | tChargingOrderExport.setName(list.get(0).getName()); |
| | | } |
| | |
| | | tChargingOrderExport.setServiceCharge(chargingOrderListVO.getServiceCharge()+""); |
| | | tChargingOrderExport.setTotal(chargingOrderListVO.getPaymentAmount()+""); |
| | | tChargingOrderExport.setChargingCapacity(chargingOrderListVO.getElectricity()+""); |
| | | List<TChargingOrderAccountingStrategy> stageCost = tChargingOrderAccountingStrategyService.list( |
| | | new LambdaQueryWrapper<TChargingOrderAccountingStrategy>() |
| | | .eq(TChargingOrderAccountingStrategy::getChargingOrderId, chargingOrderListVO.getId())); |
| | | List<TChargingOrderAccountingStrategy> stageCost = stageCostAll.stream().filter(e -> e.getChargingOrderId().equals(chargingOrderListVO.getId())).collect(Collectors.toList()); |
| | | if (!stageCost.isEmpty()){ |
| | | // 累加时段电费单价 取平均值 |
| | | BigDecimal bigDecimal1 = new BigDecimal("0"); |
| | |
| | | tChargingOrderExport.setServiceChargePrice(divide2+""); |
| | | tChargingOrderExport.setServiceChargePriceLook(divide3+""); |
| | | } |
| | | // 获取充电时间 |
| | | UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrderListVO.getCode()).getData(); |
| | | if (data5!=null){ |
| | | if (data5.getTime_remaining()!=null){ |
| | | tChargingOrderExport.setCumulativeChargingTime(data5.getCumulative_charging_time()+""); |
| | | } |
| | | if (chargingOrderListVO.getStartTime()!=null && chargingOrderListVO.getEndTime()!=null){ |
| | | LocalDateTime startTime = chargingOrderListVO.getStartTime(); |
| | | LocalDateTime endTime = chargingOrderListVO.getEndTime(); |
| | | // 计算时间差 单位秒 |
| | | long between = ChronoUnit.SECONDS.between(startTime, endTime); |
| | | tChargingOrderExport.setCumulativeChargingTime((between*60)+""); |
| | | } |
| | | tChargingOrderExport.setStartSoc(chargingOrderListVO.getStartSoc()); |
| | | tChargingOrderExport.setEndtSoc(chargingOrderListVO.getEndSoc()); |
| | |
| | | tChargingOrderExport.setIsSocType(""); |
| | | tChargingOrderExport.setIsSocNum("0"); |
| | | tChargingOrderExport.setUserType("普通个人用户"); |
| | | TAppUser data2 = appUserClient.getUserById(chargingOrderListVO.getAppUserId()).getData(); |
| | | if (data2!=null&&data2.getVipId()!=null){ |
| | | TVip data1 = vipClient.getInfo1(data2.getVipId()).getData(); |
| | | if (data3!=null&&data3.getVipId()!=null){ |
| | | TVip data1 = vipClient.getInfo1(data3.getVipId()).getData(); |
| | | if (data1!=null){ |
| | | tChargingOrderExport.setVipType(data1.getName()); |
| | | } |