From 95cd9efed9c2861b0d266530eaec0666013ece10 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 20 三月 2025 17:41:03 +0800
Subject: [PATCH] 修改报表bug

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java |   91 ++++++++++++++++++---------------------------
 1 files changed, 37 insertions(+), 54 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
index 15274c2..faa6696 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -1131,7 +1131,7 @@
     @ResponseBody
     @PostMapping(value = "/watch/chargingOrder")
     @ApiOperation(value = "监控订单", tags = {"管理后台-订单管理"})
-    public R watchChargingOrder(@RequestBody MongoChargingOrderQuery mongoChargingOrderQuery) {
+    public R watchChargingOrder(@RequestBody MongoChargingOrderQuery query) {
         Set<Integer> ids = null;
         //校验合作商权限
         SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData();
@@ -1154,61 +1154,44 @@
                 ids = new HashSet<>(data);
             }
         }
-        mongoChargingOrderQuery.setSiteIds(ids);
-        mongoChargingOrderQuery.setPageSize(10);
-        R<UploadRealTimeMonitoringPageData> all = uploadRealTimeMonitoringDataClient.getAll(mongoChargingOrderQuery);
-        UploadRealTimeMonitoringPageData data1 = all.getData();
-
-        List<ChargingOrderAndUploadRealTimeMonitoringDataDto> dtos = new ArrayList<>();
-        Map<String,ChargingOrderVO> map  = new HashMap<>();
-
-        for (UploadRealTimeMonitoringData uploadRealTimeMonitoringData : data1.getRecords()) {
-            if (roleType==2){
-                List<Boolean> data = partnerClient.watchChargingOrder(sysUser.getObjectId(), uploadRealTimeMonitoringData.getSiteId()).getData();
-                uploadRealTimeMonitoringData.setAuthInfo(data.get(0));
-                uploadRealTimeMonitoringData.setAuthDelete(data.get(1));
-            }
-            ChargingOrderAndUploadRealTimeMonitoringDataDto dataDto = new ChargingOrderAndUploadRealTimeMonitoringDataDto();
-            ChargingOrderQuery dto = new ChargingOrderQuery();
-            dto.setCode(uploadRealTimeMonitoringData.getTransaction_serial_number());
-
-            if (map.get(uploadRealTimeMonitoringData.getTransaction_serial_number())==null) {
-                TCharingOrderVO vo = chargingOrderService.chargingOrder(dto);
-                map.put(uploadRealTimeMonitoringData.getTransaction_serial_number(),vo.getList().getRecords().get(0));
-                if (!vo.getList().getRecords().isEmpty()) {
-                    ChargingOrderVO chargingOrderVO = vo.getList().getRecords().get(0);
-                    if (chargingOrderVO != null) {
-                        BeanUtils.copyProperties(chargingOrderVO, dataDto);
-                    }
-
-                    BeanUtils.copyProperties(uploadRealTimeMonitoringData, dataDto);
-                    if (chargingOrderVO != null && chargingOrderVO.getOrderSource()==2){
-                        dataDto.setPeriod_service_price(uploadRealTimeMonitoringData.getPeriod_service_price().multiply(new BigDecimal("0.2").setScale(2,BigDecimal.ROUND_DOWN)));
-                    }
-                    dataDto.setStartTime(uploadRealTimeMonitoringData.getStartTime());
-                    dataDto.setEndTime(uploadRealTimeMonitoringData.getEndTime() == null ? null : uploadRealTimeMonitoringData.getEndTime());
-                    dataDto.setStatus(uploadRealTimeMonitoringData.getStatus());
-                    dtos.add(dataDto);
-                }
-            }else {
-                ChargingOrderVO vo = map.get(uploadRealTimeMonitoringData.getTransaction_serial_number());
-                BeanUtils.copyProperties(vo, dataDto);
-                BeanUtils.copyProperties(uploadRealTimeMonitoringData, dataDto);
-                dataDto.setStartTime(uploadRealTimeMonitoringData.getStartTime());
-                dataDto.setEndTime(uploadRealTimeMonitoringData.getEndTime() == null ? null : uploadRealTimeMonitoringData.getEndTime());
-                dataDto.setStatus(uploadRealTimeMonitoringData.getStatus());
-                dtos.add(dataDto);
-            }
+    
+        LambdaQueryWrapper<TChargingOrder> queryWrapper = new LambdaQueryWrapper<TChargingOrder>().like(StringUtils.isNotEmpty(query.getCode()), TChargingOrder::getCode, query.getCode())
+                .eq(null != query.getOrderType(), TChargingOrder::getOrderType, query.getOrderType())
+                .eq(null != query.getSiteId(), TChargingOrder::getSiteId, query.getSiteId())
+                .eq(null != query.getPileId(), TChargingOrder::getChargingPileId, query.getPileId())
+                .eq(null != query.getGunId(), TChargingOrder::getChargingGunId, query.getGunId())
+                .eq(null != query.getStatus(), TChargingOrder::getStatus, query.getStatus())
+                .eq(TChargingOrder::getDelFlag, 0).eq(TChargingOrder::getRechargePaymentStatus, 2)
+                .in(null != ids && ids.size() > 0, TChargingOrder::getSiteId, ids);
+        if(StringUtils.isNotEmpty(query.getCreateTime())){
+            String[] split = query.getCreateTime().split(" - ");
+            queryWrapper.between(TChargingOrder::getStartTime, split[0], split[1]);
         }
-        for (int i = 0; i < dtos.size(); i++) {
-            dtos.get(i).setIndex(i);
+        if(StringUtils.isNotEmpty(query.getLastTime())){
+            String[] split = query.getLastTime().split(" - ");
+            queryWrapper.between(TChargingOrder::getEndTime, split[0], split[1]);
         }
-
-        PageChargingOrderAndUploadRealTimeMonitoringDataDto page = new PageChargingOrderAndUploadRealTimeMonitoringDataDto();
-        page.setTotal(data1.getCount());
-        page.setRecords(dtos);
-
-        return R.ok(page);
+        PageInfo<TChargingOrder> pageInfo = new PageInfo<>(query.getPageCurr(), query.getPageSize());
+        PageInfo<TChargingOrder> orderPageInfo = chargingOrderService.page(pageInfo, queryWrapper.orderByDesc(TChargingOrder::getCreateTime));
+        List<Site> siteList = siteClient.getSiteAll().getData();
+        
+        for (TChargingOrder record : orderPageInfo.getRecords()) {
+            record.setIdStr(record.getId().toString());
+            Site site = siteList.stream().filter(s->s.getId().equals(record.getSiteId())).findFirst().get();
+            record.setSiteName(site.getName());
+            TChargingPile chargingPile = chargingPileClient.getChargingPileById(record.getChargingPileId()).getData();
+            record.setTerminalName(chargingPile.getName());
+            TChargingGun chargingGun = chargingGunClient.getChargingGunById(record.getChargingGunId()).getData();
+            record.setTerminalCode(chargingGun.getName());
+            
+            if(null != record.getStartTime() && null != record.getEndTime()){
+                long time = record.getEndTime().toEpochSecond(ZoneOffset.UTC) - record.getStartTime().toEpochSecond(ZoneOffset.UTC);
+                record.setChargingTime(time + "");
+            }
+            long count = chargingOrderAccountingStrategyService.count(new LambdaQueryWrapper<TChargingOrderAccountingStrategy>().eq(TChargingOrderAccountingStrategy::getChargingOrderId, record.getId()));
+            record.setTimeFrame(count);
+        }
+        return R.ok(orderPageInfo);
     }
     
     

--
Gitblit v1.7.1