From 5df9beddb0e8f7bca303a50f59b960d3d8f1346a Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 16 十月 2024 10:05:15 +0800
Subject: [PATCH] 修改bug
---
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java | 78 ++++++++++++++++++++++++++++++++++++++-
1 files changed, 76 insertions(+), 2 deletions(-)
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java
index dc6ca04..a663380 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java
@@ -21,6 +21,7 @@
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.log.enums.OperatorType;
import com.ruoyi.order.api.query.TOrderInvoiceQuery;
import com.ruoyi.order.api.vo.TCharingUserEquimentVO;
import com.ruoyi.order.api.vo.TOrderInvoiceVO;
@@ -35,7 +36,10 @@
import java.io.IOException;
import java.math.BigDecimal;
import java.net.URLEncoder;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -80,6 +84,7 @@
}
@ApiOperation(tags = {"后台-订单管理-停车记录"},value = "导出")
@PutMapping("/export")
+ @Log(title = "【停车记录】导出停车记录", businessType = BusinessType.EXPORT,operatorType = OperatorType.MANAGE)
public void export(@RequestBody ParkingRecordQuery query)
{
List<TParkingRecordVO> records = parkingRecordService.pageList(query).getParkingRecordVOS().getRecords();
@@ -130,6 +135,7 @@
@ApiOperation(tags = {"后台-订单管理-停车记录"},value = "出场")
@GetMapping(value = "/out")
+ @Log(title = "【停车记录】修改出场状态", businessType = BusinessType.UPDATE,operatorType = OperatorType.MANAGE)
public R out(Long id) {
TParkingRecord byId = parkingRecordService.getById(id);
byId.setStatus(2);
@@ -192,9 +198,62 @@
if (parkingRecordQueryDto.getDayType()==1) {
List<Map<String, Object>> maps = parkingRecordService.parkingData(parkingRecordQueryDto);
- tParkLotRecordVO.setMaps(maps);
+
+
+ List<Map<String, Object>> charMap = new ArrayList<>();
+ // 生成从 "00:00" 到 "23:00" 的时间数据
+ for (int hour = 0; hour < 24; hour++) {
+ String time = String.format("%02d:00", hour);
+ Map<String, Object> mapWithTimeValue = findMapWithTimeValue(maps, time);
+ if (mapWithTimeValue!=null){
+ charMap.add(mapWithTimeValue);
+ }else {
+ Map<String, Object> timeMap = new HashMap<>();
+ timeMap.put("time", time); // 初始化值为 null
+ timeMap.put("orders", 0);
+ timeMap.put("timeoutAmount", 0);
+
+ charMap.add(timeMap);
+ }
+ }
+
+ tParkLotRecordVO.setMaps(charMap);
}else {
List<Map<String, Object>> maps = parkingRecordService.parkingDataByDate(parkingRecordQueryDto);
+ if(parkingRecordQueryDto.getDayType()==2||parkingRecordQueryDto.getDayType()==3){
+ //按日
+ // 解析 startTime 和 endTime 为 LocalDate
+ LocalDate startDate = parkingRecordQueryDto.getStartTime();
+ LocalDate endDate = parkingRecordQueryDto.getEndTime();
+
+ List<Map<String, Object>> dateRangeStatistics = new ArrayList<>();
+
+ // 遍历日期范围
+ while (!startDate.isAfter(endDate)) {
+ String formattedDate = startDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+ Map<String, Object> dailyStats = findMapWithDateValue(maps, formattedDate);
+
+ if (dailyStats != null) {
+ dateRangeStatistics.add(dailyStats);
+ } else {
+ Map<String, Object> dateMap = new HashMap<>();
+ dateMap.put("time", formattedDate);
+ dateMap.put("electrovalence", 0);
+ dateMap.put("orderCount", 0);
+ dateMap.put("servicecharge", 0);
+ dateMap.put("electricity", 0);
+ dateRangeStatistics.add(dateMap);
+ }
+
+ // 移动到下一天
+ startDate = startDate.plusDays(1);
+ }
+ tParkLotRecordVO.setMaps(dateRangeStatistics);
+
+ }else {
+
+ }
+
tParkLotRecordVO.setMaps(maps);
}
@@ -214,8 +273,23 @@
return R.ok(tParkLotRecordVO);
}
+ private static Map<String, Object> findMapWithTimeValue(List<Map<String, Object>> charMap1,String timeValue) {
+ for (Map<String, Object> map : charMap1) {
+ if (map.containsKey("time") && map.get("time").equals(timeValue)) {
+ return map;
+ }
+ }
+ return null; // 如果没有找到,返回 null
+ }
-
+ private Map<String, Object> findMapWithDateValue(List<Map<String, Object>> list, String date) {
+ for (Map<String, Object> map : list) {
+ if (date.equals(map.get("time"))) {
+ return map;
+ }
+ }
+ return null;
+ }
@ResponseBody
@PostMapping(value = "/parking/work")
@ApiOperation(value = "停车订单统计", tags = {"管理后台-工作台"})
--
Gitblit v1.7.1