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