From 0ae58361b572a82a8ff1be2256c0d25fa5ec3ea4 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Tue, 28 May 2024 19:43:04 +0800
Subject: [PATCH] 通过E呼即办数据统计
---
src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcOrderServiceImpl.java | 78 ++++++++++++++++++++++++++++++++++++++
1 files changed, 77 insertions(+), 1 deletions(-)
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcOrderServiceImpl.java b/src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcOrderServiceImpl.java
index c2a9d18..761f83e 100644
--- a/src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcOrderServiceImpl.java
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcOrderServiceImpl.java
@@ -6,7 +6,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.core.tool.utils.BeanUtil;
-import org.springblade.modules.eCallEventTwo.dto.EcOrderDTO;
+import org.springblade.modules.eCallEventTwo.dto.*;
import org.springblade.modules.eCallEventTwo.entity.ECallEventTwoEntity;
import org.springblade.modules.eCallEventTwo.entity.EcOrder;
import org.springblade.modules.eCallEventTwo.mapper.EcOrderMapper;
@@ -15,8 +15,12 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* EcOrderService业务层处理
@@ -115,4 +119,76 @@
System.out.println("更新第" + pageNum + "页" + b);
}
}
+
+ /**
+ * 统计办结率
+ */
+ public Map<String, String> getCount(Map<String, String> map) {
+ // 统计订单
+ EcOrderDTO ecOrderDTO = new EcOrderDTO();
+ int i = baseMapper.selectEcOrderCount(ecOrderDTO);
+ // 统计派发
+ EcDispatchDTO ecDispatchDTO = new EcDispatchDTO();
+ int i1 = baseMapper.selectEcDispatchCount(ecDispatchDTO);
+ // 统计处理
+ EcHandleDTO ecHandleDTO = new EcHandleDTO();
+ int i2 = baseMapper.selectEcHandleCount(ecHandleDTO);
+ // 统计回访
+ EcOrderCheckDTO ecOrderCheckDTO = new EcOrderCheckDTO();
+ int i3 = baseMapper.selectEcOrderCheckCount(ecOrderCheckDTO);
+ // 统计办结
+ EcOrderDoneDTO ecOrderDoneDTO = new EcOrderDoneDTO();
+ int i4 = baseMapper.selectEcOrderDoneCount(ecOrderDoneDTO);
+ // 统计答复
+ EcOrderRespDTO ecOrderRespDTO = new EcOrderRespDTO();
+ int i5 = baseMapper.selectEcOrderRespCount(ecOrderRespDTO);
+ // 统计核实
+ EcOrderReviewDTO ecOrderReviewDTO = new EcOrderReviewDTO();
+ int i6 = baseMapper.selectEcOrderReviewCount(ecOrderReviewDTO);
+ // 统计督办
+ EcOrderSuperviseDTO ecOrderSuperviseDTO = new EcOrderSuperviseDTO();
+ int i7 = baseMapper.selectEcOrderSuperviseCount(ecOrderSuperviseDTO);
+ // 工单数 派发单数 办理单数(率) 办结单数(率) 答复单数(率) 回访单数(率) 核实单数 督办单数
+ Map<String, String> result = new HashMap<>();
+ // 工单数
+ result.put("order", String.valueOf(i));
+ // 派发单数(率)
+ result.put("dispatchRate", getRate(i1, i));
+ // 办理单数(率)
+ result.put("handRate", getRate(i2, i));
+ // 办结单数(率)
+ result.put("checkRate", getRate(i3, i));
+ // 答复单数(率)
+ result.put("doneRate", getRate(i4, i));
+ // 回访单数(率)
+ result.put("respRate", getRate(i5, i));
+ // 核实单数(率)
+ result.put("reviewRate", getRate(i6, i));
+ // 督办单数
+ result.put("supervise", String.valueOf(i7));
+ // 返回结果
+ return result;
+
+ }
+
+ public static void main(String[] args) {
+ String rate = getRate(10, 3);
+ System.out.println(rate);
+ }
+
+ public static String getRate(int dividend, int divisor) {
+ // int dividend = 10; // 被除数
+ // int divisor = 3; // 除数
+
+ // 将int转换为BigDecimal
+ BigDecimal bdDividend = BigDecimal.valueOf(dividend);
+ BigDecimal bdDivisor = BigDecimal.valueOf(divisor);
+ // 执行除法操作,设置精度(scale)和舍入模式(RoundingMode)
+ int scale = 2; // 保留两位小数
+ RoundingMode roundingMode = RoundingMode.HALF_UP; // 四舍五入
+ // 进行除法运算
+ BigDecimal result = bdDividend.divide(bdDivisor, scale, roundingMode);
+ return result.toString();
+ }
+
}
--
Gitblit v1.9.3