From b69882bdf56305be94a361525342987fe3c64385 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 12 九月 2024 09:19:01 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile --- 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