From 0e06fd9184c0cda32a8c55ed1f4a295305d647fd Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 29 Jun 2023 11:43:41 +0800
Subject: [PATCH] 智能外呼为接同短信通知修改,外呼统计查询修改
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java | 62 ++++++++++++++++++++++++++++++-
1 files changed, 60 insertions(+), 2 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java
index efcc550..018cd35 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java
@@ -8,6 +8,9 @@
import cn.gistack.sm.intelligentCall.service.CallService;
import cn.gistack.sm.intelligentCall.vo.CallTaskResultVO;
import cn.gistack.sm.intelligentCall.vo.CallTaskStatistic;
+import cn.gistack.sm.sjztmd.entity.AttAdBase;
+import cn.gistack.sm.sjztmd.service.IAttAdBaseService;
+import cn.gistack.sm.sjztmd.vo.AttAdBaseVO;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
@@ -24,6 +27,7 @@
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
+import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
@@ -40,6 +44,9 @@
@Autowired
private CallTaskMapper callTaskMapper;
+
+ @Autowired
+ private IAttAdBaseService attAdBaseService;
@Autowired
private RestTemplate restTemplate;
@@ -302,13 +309,17 @@
CompletableFuture.allOf(callTaskStatisticCompletableFuture,threeDayNotCallConnect,twoDayNotCallConnect,oneDayNotCallConnect).get();
// 数据处理
List<CallTaskStatistic> callTaskStatistics = getCallTaskStatistics(callTaskStatisticCompletableFuture, oneDay, threeDayNotCallConnect, twoDayNotCallConnect, oneDayNotCallConnect);
+ // 取当前行政区总数据
+ List<CallTaskStatistic> totalList = getTotalCallTaskStatistics(callTaskStatistics,callTaskStatistic);
// 排序
callTaskStatistics = getCallTaskStatisticsByOrder(callTaskStatistic, callTaskStatistics);
+ // 合并数据
+ totalList.addAll(callTaskStatistics);
// 返回数据
if (null!= callTaskStatistic.getIsPage()) {
- return callTaskStatistics;
+ return totalList;
}else {
- return page.setRecords(callTaskStatistics);
+ return page.setRecords(totalList);
}
} catch (InterruptedException e) {
e.printStackTrace();
@@ -317,6 +328,52 @@
}
// 返回
return null;
+ }
+
+ /**
+ * 获取当前行政区总数据
+ * @param callTaskStatistics
+ * @param callTaskStatisticEntity
+ * @return
+ */
+ private List<CallTaskStatistic> getTotalCallTaskStatistics(List<CallTaskStatistic> callTaskStatistics,CallTaskStatistic callTaskStatisticEntity) {
+ List<CallTaskStatistic> statistics = new ArrayList<>();
+ CallTaskStatistic callTaskStatistic = new CallTaskStatistic();
+ Integer totalCalleeNumberCount = 0;
+ Integer totalConnectionCount = 0;
+ Integer totalThreeNoConnectCount = 0;
+ Integer totalTwoNoConnectCount = 0;
+ Integer totalRefuseConnectCount = 0;
+ // 遍历
+ for (CallTaskStatistic taskStatistic : callTaskStatistics) {
+ totalCalleeNumberCount += Integer.parseInt(taskStatistic.getCalleeNumberCount());
+ totalConnectionCount += Integer.parseInt(taskStatistic.getConnectionCount());
+ totalThreeNoConnectCount += taskStatistic.getThreeNoConnectCount();
+ totalTwoNoConnectCount += taskStatistic.getTwoNoConnectCount();
+ totalRefuseConnectCount += taskStatistic.getRefuseConnectCount();
+ }
+ // 设置数据
+ callTaskStatistic.setCalleeNumberCount(totalCalleeNumberCount.toString());
+ callTaskStatistic.setConnectionCount(totalConnectionCount.toString());
+ callTaskStatistic.setThreeNoConnectCount(totalThreeNoConnectCount);
+ callTaskStatistic.setTwoNoConnectCount(totalTwoNoConnectCount);
+ callTaskStatistic.setRefuseConnectCount(totalRefuseConnectCount);
+ callTaskStatistic.setCreateTime(callTaskStatistics.get(0).getCreateTime());
+ // 查询当前行政区名称
+ AttAdBase attAdBase = new AttAdBase();
+ attAdBase.setGuid(callTaskStatisticEntity.getAdCode());
+ AttAdBaseVO detail = attAdBaseService.getDetail(attAdBase);
+ callTaskStatistic.setAdCode(callTaskStatisticEntity.getAdCode());
+ if (null != detail){
+ callTaskStatistic.setAdName(detail.getAdName());
+ }
+ // 计算比例
+ //格式化小数
+ DecimalFormat df = new DecimalFormat("0.00");
+ callTaskStatistic.setCallCompletingRate(df.format((float)totalConnectionCount/totalCalleeNumberCount*100));
+ statistics.add(callTaskStatistic);
+ // 返回
+ return statistics;
}
/**
@@ -366,6 +423,7 @@
List<CallTaskStatistic> outgoingStatisticList = new ArrayList<>();
// 判断是否分页
if (null!= callTaskStatistic.getIsPage()){
+ // 不分页
outgoingStatisticList = callTaskMapper.getOutgoingStatisticList(null,callTaskStatistic,null);
}else {
// 按天查询数据
--
Gitblit v1.9.3