From 12c684efe62b0adf7a8b125c81da4d6b657aa06e Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 15 May 2023 11:48:30 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtdev' into jtdev
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/impl/CallServiceImpl.java | 23 +++++++++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java | 12 ++++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskStatistic.java | 25 ++++++++++++
skjcmanager/skjcmanager-service/skjcmanager-sm/pom.xml | 1
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.xml | 35 +++++++++++++++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/CallService.java | 7 +++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.java | 10 +++++
7 files changed, 113 insertions(+), 0 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/pom.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/pom.xml
index 8ba6931..d12d19a 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/pom.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/pom.xml
@@ -56,6 +56,7 @@
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
+ <version>2.1.2</version>
</dependency>
</dependencies>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java
index 5c83f22..6479943 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java
@@ -85,4 +85,16 @@
return R.data(callService.getCallTaskResultList(callTaskResult));
}
+ /**
+ * 查询智能外呼统计数据-按日期-行政区统计
+ * @param callTaskStatistic
+ * @param query
+ * @return
+ */
+ @GetMapping("/getOutgoingStatisticList")
+ public R getOutgoingStatisticList(CallTaskStatistic callTaskStatistic, Query query){
+ // 返回
+ return R.data(callService.getOutgoingStatisticList(Condition.getPage(query),callTaskStatistic));
+ }
+
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.java
index 75c1e88..9e333f1 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.java
@@ -63,4 +63,14 @@
*/
@DS("zt")
List<String> getAllChildrenAreaByAreaCode(@Param("areaCode") String areaCode);
+
+ /**
+ * 查询智能外呼统计数据-按日期-行政区统计
+ * @param callTaskStatistic
+ * @return
+ */
+ @DS("zt")
+ List<CallTaskStatistic> getOutgoingStatisticList(@Param("page") IPage<CallTaskStatistic> page,
+ @Param("callTaskStatistic") CallTaskStatistic callTaskStatistic,
+ @Param("list") List<String> list);
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.xml
index 12fda72..5fda664 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.xml
@@ -144,4 +144,39 @@
start with "ad_code" = #{areaCode}
CONNECT BY PRIOR "ad_code" = "p_ad_code"
</select>
+
+ <!--查询智能外呼统计数据-按日期-行政区统计-->
+ <select id="getOutgoingStatisticList" resultType="cn.gistack.sm.intelligentCall.vo.CallTaskStatistic">
+ select a.*,round(a.connectionCount/a.calleeNumberCount*100,2) callCompletingRate from
+ (
+ select
+ count(*) as calleeNumberCount,
+ ifnull(sum(case when ctr."call_result"='200000' then 1 else 0 end),0) as connectionCount,
+ DATE_FORMAT(ctr."gmt_create",'%Y-%m-%d') as createTime,
+ aab."ad_name" as adName,
+ aab."guid"
+ from "SJZT_ODS"."call_task_result" ctr
+ left join
+ (
+ select "call_id","task_id",JSON_VALUE("call_task_callee_content",'$."$水库编码$"') as waterCode from "SJZT_ODS"."call_task_callee"
+ ) ctc on ctr."call_id" = ctc."call_id"
+ left join "SJZT_MD"."att_res_base" arb on ctc.waterCode = arb."code"
+ left join "SJZT_MD"."att_ad_base" aab on aab."guid" = concat(arb."ad_guid",'000000')
+ where 1=1 and aab."ad_name" is not null
+ <if test="callTaskStatistic.startTime!=null and callTaskStatistic.startTime!=''">
+ and date_format(ctr."gmt_create",'%Y-%m-%d') >= #{callTaskStatistic.startTime}
+ </if>
+ <if test="callTaskStatistic.endTime!=null and callTaskStatistic.endTime!=''">
+ and date_format(ctr."gmt_create",'%Y-%m-%d') <= #{callTaskStatistic.endTime}
+ </if>
+ <if test="list != null and list.size()>0">
+ and aab."ad_code" in
+ <foreach collection="list" item="adCode" separator ="," open="(" close=")">
+ #{adCode}
+ </foreach>
+ </if>
+ group by DATE_FORMAT(ctr."gmt_create",'%Y-%m-%d'),aab."ad_name",aab."guid"
+ ) a
+ order by createTime desc,callCompletingRate desc
+ </select>
</mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/CallService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/CallService.java
index df05a57..107d341 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/CallService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/service/CallService.java
@@ -47,4 +47,11 @@
* @return
*/
Object getCallTaskResultList(CallTaskResultVO callTaskResult);
+
+ /**
+ * 查询智能外呼统计数据-按日期-行政区统计
+ * @param callTaskStatistic
+ * @return
+ */
+ Object getOutgoingStatisticList(IPage<CallTaskStatistic> page,CallTaskStatistic callTaskStatistic);
}
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 9ad7a0d..eb16ec6 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
@@ -252,6 +252,29 @@
}
/**
+ * 查询智能外呼统计数据-按日期-行政区统计
+ * @param callTaskStatistic
+ * @return
+ */
+ @Override
+ public Object getOutgoingStatisticList(IPage<CallTaskStatistic> page,CallTaskStatistic callTaskStatistic) {
+ List<String> list = new ArrayList<>();
+ if (null!= callTaskStatistic.getAdName() && !callTaskStatistic.getAdName().equals("")){
+ // 查询所有下级区域code
+ list = getAllChildrenAreaByAreaCode(callTaskStatistic.getAdName());
+ }
+ // 勾选导出行政区 id 组装
+ if (null!= callTaskStatistic.getIds() && !callTaskStatistic.getIds().equals("")){
+ list = Arrays.asList(callTaskStatistic.getIds().split(","));
+ }
+ // 判断是否分页
+ if (null!= callTaskStatistic.getIsPage()){
+ return callTaskMapper.getOutgoingStatisticList(null,callTaskStatistic,list);
+ }
+ return page.setRecords(callTaskMapper.getOutgoingStatisticList(page,callTaskStatistic,list));
+ }
+
+ /**
* 查询所有下级区域
* @param areaCode
* @return
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskStatistic.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskStatistic.java
index f74782d..bc94602 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskStatistic.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskStatistic.java
@@ -84,5 +84,30 @@
*/
private String endTime;
+ /**
+ * 区域名称
+ */
+ private String adName;
+
+ /**
+ * 区域guid
+ */
+ private String guid;
+
+ /**
+ * 接通率
+ */
+ private String callCompletingRate;
+
+ /**
+ * 是否分页 1:是 (不为空代表不分页,查询导出全部)
+ */
+ private Integer isPage;
+
+ /**
+ * 导出勾选的区域id
+ */
+ private String ids;
+
}
--
Gitblit v1.9.3