From 9c7ff52aef5dc4845b2d507d530c6c5cf18f2491 Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期一, 13 二月 2023 17:16:07 +0800
Subject: [PATCH] 增加功能
---
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/ISignCountServiceImpl.java | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 54 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..c8640f4 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,12 @@
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.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
/**
* 鐘舵�佺粺璁¤〃鎺ュ彛瀹炵幇
@@ -41,9 +44,57 @@
page.setSize(-1);
}
if(StringUtil.isNotBlank(orderStatusCount.getStatisticalType())){
+ IPage<OrderStatusCount> orderStatusCountIPage = this.signCountMapper.signCount(orderStatusCount, page);
+ List<OrderStatusCount> records = orderStatusCountIPage.getRecords();
+ List<OrderStatusCount> recordsLast = new ArrayList<>();
+ Map<String, List<OrderStatusCount>> collect = records.stream().collect(Collectors.groupingBy(OrderStatusCount::getCarName));
+ for (Map.Entry<String, List<OrderStatusCount>> stringListEntry : collect.entrySet()) {
+ List<OrderStatusCount> recordsNew = new ArrayList<>();
+ for (OrderStatusCount statusCount : stringListEntry.getValue()) {
+ statusCount.setSendDate(statusCount.getSendMonth());
+ recordsNew.add(statusCount);
+ }
- return this.signCountMapper.signCounts(orderStatusCount,page);
+ for (Map.Entry<String, List<OrderStatusCount>> listEntry : recordsNew.stream().collect(Collectors.groupingBy(OrderStatusCount::getBatch)).entrySet()) {
+ for (Map.Entry<String, List<OrderStatusCount>> listEntry1 : listEntry.getValue().stream().collect(Collectors.groupingBy(OrderStatusCount::getSendMonth)).entrySet()) {
+ if(listEntry1.getValue().size() > 0){
+ List<OrderStatusCount> value = listEntry1.getValue();
+ Integer amount = 0;
+ Integer notSignCount = 0;
+ Integer abnormalSign = 0;
+ Integer signCount= 0;
+ OrderStatusCount orderStatusCount1 = value.get(0);
+ for (OrderStatusCount statusCount : value) {
+ amount += Integer.parseInt(statusCount.getAmount());
+ notSignCount += Integer.parseInt(statusCount.getNotSignCount());
+ if(statusCount.getAbnormalSign() != null){
+ abnormalSign += Integer.parseInt(statusCount.getAbnormalSign());
+ }else {
+ abnormalSign = 0;
+ }
+ signCount += Integer.parseInt(statusCount.getSignCount());
+ }
+ DecimalFormat df = new DecimalFormat("0.00");
+ String maerialRatio = df.format((float)signCount/amount);
+ double v = Double.parseDouble(maerialRatio)*100;
+ orderStatusCount1.setProportion(v+"%");
+ orderStatusCount1.setAmount(amount+"");
+ orderStatusCount1.setNotSignCount(notSignCount+"");
+ orderStatusCount1.setAbnormalSign(abnormalSign+"");
+ orderStatusCount1.setSignCount(signCount+"");
+ value.clear();
+ value.add(orderStatusCount1);
+ listEntry1.setValue(value);
+ recordsLast.add(orderStatusCount1);
+ }
+ }
+
+ }
+ stringListEntry.setValue(recordsNew);
+ }
+ orderStatusCountIPage.setRecords(recordsLast);
+ return orderStatusCountIPage;
}
return this.signCountMapper.signCount(orderStatusCount,page);
}
-}
\ No newline at end of file
+}
--
Gitblit v1.9.1