From 2bd8d8e259059b9da355f7f00eab2c8941b5aa20 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期一, 04 十一月 2024 15:12:32 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 50 insertions(+), 8 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 a663380..b071b25 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 @@ -37,6 +37,7 @@ import java.math.BigDecimal; import java.net.URLEncoder; import java.time.LocalDate; +import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.HashMap; @@ -63,16 +64,28 @@ @ApiOperation(tags = {"后台-订单管理-停车记录"},value = "列表") @PostMapping(value = "/page") public R<Page<TParkingRecord>> page(@RequestBody ParkingRecordPageQuery query) { - Page<TParkingRecord> page = parkingRecordService.lambdaQuery().ge(query.getStart() != null, TParkingRecord::getCreateTime, query.getStart()) - .le(query.getEnd() != null, TParkingRecord::getCreateTime, query.getEnd()) + String s1 = ""; + String s2 = ""; + if (query.getTimePeriod()!=null){ + s1 = query.getTimePeriod().split(" - ")[0]; + s2 = query.getTimePeriod().split(" - ")[1]; + } + Page<TParkingRecord> page = parkingRecordService.lambdaQuery() .like(query.getLicensePlate() != null, TParkingRecord::getLicensePlate, query.getLicensePlate()) .eq(query.getStatus() != null, TParkingRecord::getStatus, query.getStatus()) .eq(query.getOutParkingType() != null, TParkingRecord::getOutParkingType, query.getOutParkingType()) + .between(query.getTimePeriod()!=null,TParkingRecord::getInParkingTime,s1,s2) + .or() + .between(query.getTimePeriod()!=null,TParkingRecord::getOutParkingTime,s1,s2) + .orderByDesc(TParkingRecord::getCreateTime) .page(Page.of(query.getPageCurr(), query.getPageSize())); for (TParkingRecord record : page.getRecords()) { - record.setName(parkingLotService.getById(record.getParkingLotId()).getName()); + TParkingLot byId = parkingLotService.getById(record.getParkingLotId()); record.setUid(record.getId().toString()); + if (byId!=null) { + record.setParkName(byId.getName()); + } } return R.ok(page); } @@ -139,6 +152,7 @@ public R out(Long id) { TParkingRecord byId = parkingRecordService.getById(id); byId.setStatus(2); + byId.setOutParkingTime(LocalDateTime.now()); parkingRecordService.updateById(byId); return R.ok(); @@ -201,7 +215,7 @@ List<Map<String, Object>> charMap = new ArrayList<>(); - // 生成从 "00:00" 到 "23:00" 的时间数据 + // 生成从 "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); @@ -294,12 +308,40 @@ @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(); + List<TParkingRecord> list = parkingRecordService.lambdaQuery().isNotNull(TParkingRecord::getOutParkingType).eq(parkingRecordQueryDto.getParkingLotId() != null, TParkingRecord::getParkingLotId, parkingRecordQueryDto.getParkingLotId()) + .ge(parkingRecordQueryDto.getStartTime()!=null,TParkingRecord::getCreateTime, parkingRecordQueryDto.getStartTime()) + .le(parkingRecordQueryDto.getEndTime()!=null,TParkingRecord::getCreateTime, parkingRecordQueryDto.getEndTime().plusDays(1)).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; + int count2 = list.stream().filter(item -> item.getChargingOrderId() != null).collect(Collectors.toList()).size(); + int count3 = list.stream().filter(item -> item.getOutParkingType() == 2).collect(Collectors.toList()).size(); + //计算出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/work1") + @ApiOperation(value = "停车订单统计", tags = {"管理后台-工作台"}) + public R<TParkLotRecordCountVo> work1(@RequestBody ParkingRecordQueryDto parkingRecordQueryDto){ + List<TParkingRecord> list = parkingRecordService.lambdaQuery().isNotNull(TParkingRecord::getOutParkingType).eq(parkingRecordQueryDto.getParkingLotId() != null, TParkingRecord::getParkingLotId, parkingRecordQueryDto.getParkingLotId()).list(); + int count1 = list.size(); + //统计出list中chargingOrderId为null的数据个数 + int count2 = list.stream().filter(item -> item.getChargingOrderId() != null).collect(Collectors.toList()).size(); + int count3 = list.stream().filter(item -> item.getOutParkingType() == 2).collect(Collectors.toList()).size(); //计算出list中parkingDuration的总和 int count4 = 0; for (TParkingRecord tParkingRecord : list) { -- Gitblit v1.7.1