From 93a3a1de1d52c014368a1200139fa46969a80c66 Mon Sep 17 00:00:00 2001 From: kongdeqiang <123456> Date: 星期五, 10 二月 2023 17:11:30 +0800 Subject: [PATCH] 增加功能 --- xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/ISignCountServiceImpl.java | 30 +++++++++++++++++++++++++++--- 1 files changed, 27 insertions(+), 3 deletions(-) diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/ISignCountServiceImpl.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/ISignCountServiceImpl.java index 34fd295..ca87496 100644 --- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/ISignCountServiceImpl.java +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/ISignCountServiceImpl.java @@ -6,6 +6,7 @@ import cn.exrick.xboot.your.entity.SignCount; import cn.exrick.xboot.your.service.ISignCountService; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import jodd.util.StringUtil; @@ -13,10 +14,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.StringUtils; import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * 鐘舵�佺粺璁¤〃鎺ュ彛瀹炵幇 @@ -41,9 +43,31 @@ page.setSize(-1); } if(StringUtil.isNotBlank(orderStatusCount.getStatisticalType())){ + IPage<OrderStatusCount> orderStatusCountIPage = this.signCountMapper.signCounts(orderStatusCount, page); + List<OrderStatusCount> records = orderStatusCountIPage.getRecords(); + Map<String, List<OrderStatusCount>> collect = records.stream().collect(Collectors.groupingBy(OrderStatusCount::getCarName)); + for (Map.Entry<String, List<OrderStatusCount>> stringListEntry : collect.entrySet()) { + for (Map.Entry<String, List<OrderStatusCount>> listEntry : stringListEntry.getValue().stream().collect(Collectors.groupingBy(OrderStatusCount::getBatch)).entrySet()) { + for (Map.Entry<String, List<OrderStatusCount>> listEntry1 : listEntry.getValue().stream().collect(Collectors.groupingBy(OrderStatusCount::getSendDate)).entrySet()) { + if(listEntry1.getValue().size() > 0){ + List<OrderStatusCount> value = listEntry1.getValue(); + OrderStatusCount orderStatusCount1 = value.get(0); + Double prodouble = value.stream().collect(Collectors.averagingInt(OrderStatusCount::getProportionInt)); + prodouble = (double)Math.round(prodouble*100)/100; + orderStatusCount1.setProportion(prodouble + "%"); + value.clear(); + value.add(orderStatusCount1); + listEntry1.setValue(value); + } + } - return this.signCountMapper.signCounts(orderStatusCount,page); + } + + } + List<OrderStatusCount> collect1 = records.stream().filter(f -> f.getProportion() != null).collect(Collectors.toList()); + orderStatusCountIPage.setRecords(collect1); + return orderStatusCountIPage; } return this.signCountMapper.signCount(orderStatusCount,page); } -} \ No newline at end of file +} -- Gitblit v1.9.1