From 8c03ae07df6e094ab3420017d76bcd9ad0a8dac0 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 27 九月 2024 10:44:31 +0800
Subject: [PATCH] 合併代碼
---
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java | 80 ++++++++++++++++++++++++++++++++++++++-
1 files changed, 77 insertions(+), 3 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 f108f25..09bedaa 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
@@ -8,10 +8,9 @@
import com.ruoyi.chargingPile.api.model.TParkingLot;
import com.ruoyi.chargingPile.api.model.TParkingRecord;
import com.ruoyi.chargingPile.api.query.ParkingRecordQuery;
-import com.ruoyi.chargingPile.api.vo.GetParkingRecord;
-import com.ruoyi.chargingPile.api.vo.TParkingRecordPageInfoVO;
-import com.ruoyi.chargingPile.api.vo.TParkingRecordVO;
+import com.ruoyi.chargingPile.api.vo.*;
import com.ruoyi.chargingPile.dto.ParkingRecordPageQuery;
+import com.ruoyi.chargingPile.dto.ParkingRecordQueryDto;
import com.ruoyi.chargingPile.export.TParkingRecordExport;
import com.ruoyi.chargingPile.service.TParkingLotService;
import com.ruoyi.chargingPile.service.TParkingRecordService;
@@ -24,6 +23,7 @@
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;
import io.swagger.annotations.ApiOperation;
import org.apache.poi.ss.usermodel.Workbook;
@@ -34,9 +34,12 @@
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
+import java.math.BigDecimal;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
/**
* <p>
@@ -182,5 +185,76 @@
public void addParkingRecord(@RequestBody TParkingRecord parkingRecord){
parkingRecordService.save(parkingRecord);
}
+
+ @ResponseBody
+ @PostMapping(value = "/parking/data")
+ @ApiOperation(value = "统计", tags = {"管理后台-数据分析-车场运营分析"})
+ public R<TParkLotRecordVO> data(@RequestBody ParkingRecordQueryDto parkingRecordQueryDto){
+ //上方折线图
+ TParkLotRecordVO tParkLotRecordVO = new TParkLotRecordVO();
+
+ if (parkingRecordQueryDto.getDayType()==1) {
+ List<Map<String, Object>> maps = parkingRecordService.parkingData(parkingRecordQueryDto);
+ tParkLotRecordVO.setMaps(maps);
+ }else {
+ List<Map<String, Object>> maps = parkingRecordService.parkingDataByDate(parkingRecordQueryDto);
+ tParkLotRecordVO.setMaps(maps);
+ }
+
+ //车辆类型饼图
+ List<Map<String, Object>> carColor = parkingRecordService.getCarColor(parkingRecordQueryDto);
+
+ //出场类型
+ List<Map<String, Object>> outType = parkingRecordService.getOutType(parkingRecordQueryDto);
+
+ //进场充电占比
+ List<Map<String, Object>> isCharge = parkingRecordService.getIsCharge(parkingRecordQueryDto);
+
+
+ tParkLotRecordVO.setCarColor(carColor);
+ tParkLotRecordVO.setOutType(outType);
+ tParkLotRecordVO.setIsCharge(isCharge);
+ return R.ok(tParkLotRecordVO);
+
+ }
+
+
+ @ResponseBody
+ @PostMapping(value = "/parking/work")
+ @ApiOperation(value = "停车订单统计", tags = {"管理后台-工作台"})
+ public R<TParkLotRecordCountVo> work(@RequestBody ParkingRecordQueryDto parkingRecordQueryDto){
+ List<TParkingRecord> list = parkingRecordService.lambdaQuery().eq(parkingRecordQueryDto.getParkingLotId() != null, TParkingRecord::getParkingLotId, parkingRecordQueryDto.getParkingLotId())
+ .between(TParkingRecord::getCreateTime, parkingRecordQueryDto.getStartTime(), parkingRecordQueryDto.getEndTime()).list();
+ int count1 = list.size();
+ //统计出list中chargingOrderId为null的数据个数
+ int count2 = list.stream().filter(item -> item.getChargingOrderId() == null).collect(Collectors.toList()).size();
+ int count3 = count1-count2;
+ //计算出list中parkingDuration的总和
+ int count4 = 0;
+ for (TParkingRecord tParkingRecord : list) {
+ count4 = count4+tParkingRecord.getParkingDuration();
+ }
+ //计算出list中orderAmount的总和
+ BigDecimal count5 = list.stream().map(TParkingRecord::getOrderAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+
+ TParkLotRecordCountVo tParkLotRecordCountVo = new TParkLotRecordCountVo();
+ tParkLotRecordCountVo.setCount1(count1);
+ tParkLotRecordCountVo.setCount2(count2);
+ tParkLotRecordCountVo.setCount3(count3);
+ tParkLotRecordCountVo.setCount4(count4);
+ tParkLotRecordCountVo.setCount5(count5);
+
+ return R.ok(tParkLotRecordCountVo);
+
+ }
+
+ @ResponseBody
+ @PostMapping(value = "/parking/income")
+ @ApiOperation(value = "停车收入统计", tags = {"管理后台-工作台"})
+ public R income(@RequestBody ParkingRecordQueryDto parkingRecordQueryDto){
+
+ List<Map<String,Object>> maps = parkingRecordService.income(parkingRecordQueryDto);
+ return R.ok(maps);
+ }
}
--
Gitblit v1.7.1