From 4a29ac61806d52ae9e8f512d48d769f567f3791d Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 15 May 2023 15:31:58 +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 |   10 +++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/controller/CallController.java    |   11 +++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskStatistic.java         |    5 ++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.xml         |   33 ++++++++++++++++
 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        |    8 ++++
 6 files changed, 74 insertions(+), 0 deletions(-)

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 6479943..3010962 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
@@ -97,4 +97,15 @@
 		return R.data(callService.getOutgoingStatisticList(Condition.getPage(query),callTaskStatistic));
 	}
 
+	/**
+	 * 查询智能外呼统计数据-行政区统计
+	 * @param callTaskStatistic
+	 * @return
+	 */
+	@GetMapping("/getOutgoingStatisticByArea")
+	public R getOutgoingStatisticByArea(CallTaskStatistic callTaskStatistic){
+		// 返回
+		return R.data(callService.getOutgoingStatisticByArea(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 9e333f1..82a79a0 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
@@ -73,4 +73,12 @@
 	List<CallTaskStatistic> getOutgoingStatisticList(@Param("page") IPage<CallTaskStatistic> page,
 													 @Param("callTaskStatistic") CallTaskStatistic callTaskStatistic,
 													 @Param("list") List<String> list);
+
+	/**
+	 * 查询智能外呼统计数据-行政区统计
+	 * @param callTaskStatistic
+	 * @return
+	 */
+	@DS("zt")
+	List<CallTaskStatistic> getOutgoingStatisticByArea(@Param("callTaskStatistic") CallTaskStatistic callTaskStatistic);
 }
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 5fda664..6f2a7d0 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
@@ -179,4 +179,37 @@
         ) a
         order by createTime desc,callCompletingRate desc
     </select>
+
+    <!--查询智能外呼统计数据-行政区统计-->
+    <select id="getOutgoingStatisticByArea" resultType="cn.gistack.sm.intelligentCall.vo.CallTaskStatistic">
+        select b.*,case when b.totalCount>0 then round(b.connectCount/b.totalCount*100,2) else 0 end callCompletingRate from(
+            select  aab."guid",
+                    aab."ad_name" as adName,
+                    ifnull(sum(totalCount),0) totalCount,
+                    ifnull(sum(connectCount),0) connectCount
+                    from SJZT_MD."att_ad_base"  aab
+            left join (
+                select
+                count(*) as totalCount,
+                ifnull(sum(case when ctr."call_result"='200000' then 1 else 0 end),0) as connectCount,
+                DATE_FORMAT(ctr."gmt_create",'%Y-%m-%d') as createTime,
+                aab."guid",
+                aab."ad_grad",
+                aab."p_ad_code",
+                aab."ad_name" as adName
+                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
+                group by DATE_FORMAT(ctr."gmt_create",'%Y-%m-%d'),aab."ad_name",aab."guid",aab."ad_grad",aab."p_ad_code"
+            ) a
+            on aab."guid" = a."p_ad_code" where aab."p_ad_code" = #{callTaskStatistic.adCode}
+            group by aab."ad_name",aab."guid"
+            order by aab."guid"
+        ) b
+    </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 107d341..0d54e4b 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
@@ -54,4 +54,11 @@
 	 * @return
 	 */
     Object getOutgoingStatisticList(IPage<CallTaskStatistic> page,CallTaskStatistic callTaskStatistic);
+
+	/**
+	 * 查询智能外呼统计数据-行政区统计
+	 * @param callTaskStatistic
+	 * @return
+	 */
+    Object getOutgoingStatisticByArea(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 eb16ec6..d329fef 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
@@ -275,6 +275,16 @@
 	}
 
 	/**
+	 * 查询智能外呼统计数据-行政区统计
+	 * @param callTaskStatistic
+	 * @return
+	 */
+	@Override
+	public Object getOutgoingStatisticByArea(CallTaskStatistic callTaskStatistic) {
+		return callTaskMapper.getOutgoingStatisticByArea(callTaskStatistic);
+	}
+
+	/**
 	 * 查询所有下级区域
 	 * @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 bc94602..e7b2852 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
@@ -109,5 +109,10 @@
 	 */
 	private String ids;
 
+	/**
+	 * 区域id
+	 */
+	private String adCode;
+
 
 }

--
Gitblit v1.9.3