From 529682cbca2ad473324f78a3c34f30bd07e6c2f9 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 21 Jun 2023 16:22:54 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtdev' into jtdev

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.xml |  102 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 102 insertions(+), 0 deletions(-)

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 7cdfb7e..44157d1 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
@@ -121,6 +121,12 @@
         <if test="callTaskResult.waterName!=null and callTaskResult.waterName!=''">
             and arb."name" like concat('%',#{callTaskResult.waterName},'%')
         </if>
+        <if test="callTaskResult.isSmsFill!=null and callTaskResult.isSmsFill=='已反馈'">
+            and scnfr.call_id is not null
+        </if>
+        <if test="callTaskResult.isSmsFill!=null and callTaskResult.isSmsFill=='未反馈'">
+            and scnfr.call_id is null and ctr."call_result"!='200000'
+        </if>
         <if test="callTaskResult.userName!=null and callTaskResult.userName!=''">
             and ctc.userName like concat('%',#{callTaskResult.userName},'%')
         </if>
@@ -361,4 +367,100 @@
         )b where num=3
     </select>
 
+    <!--查询三天都未接通的人员-mysql-->
+    <select id="getNotCallConnectStatisticList" resultType="cn.gistack.sm.intelligentCall.vo.CallTaskStatistic">
+        select  aab."guid",
+        sum(case when ifnull(cc.num,0)='0' then 0 else 1 end) refuseConnectCount,
+        sum(case when ifnull(bb.num,0)='0' then 0 else 1 end) twoNoConnectCount,
+        sum(case when ifnull(aa.num,0)='0' then 0 else 1 end) threeNoConnectCount,
+        aab."ad_name" as adName
+        from SJZT_MD."att_ad_base" aab
+        left join (
+            select b.*,aab."guid",aab."ad_grad",aab."p_ad_code",aab."ad_name" as adName from (
+                select "callee_number",waterCodes,LENGTH(waterCodes)- LENGTH(REPLACE(waterCodes,',','')) num from (
+                    select  ctr."callee_number",WM_Concat(ctc.waterCode) waterCodes from (
+                        select "call_id","task_id",JSON_VALUE("call_task_callee_content",'$."$水库编码$"') as waterCode from "SJZT_ODS"."call_task_callee"
+                    ) ctc join (
+                    select "call_id","callee_number","call_result",date_format("gmt_create",'%Y-%m-%d') "gmt_create" from SJZT_ODS."call_task_result"
+                    where date_format("gmt_create",'%Y-%m-%d') >= #{threeDay.startTime} and date_format("gmt_create",'%Y-%m-%d') &lt;= #{threeDay.endTime}
+                    and "call_result"='200003'
+                    )ctr on ctc."call_id" = ctr."call_id" group by ctr."callee_number"
+                ) a where LENGTH(waterCodes)- LENGTH(REPLACE(waterCodes,',',''))>1
+            )b
+            left join "SJZT_MD"."att_res_base" arb on locate(arb."code",b.waterCodes)>0
+            left join "SJZT_MD"."att_ad_base" aab on aab."guid" = concat(arb."ad_guid",'000000')
+            where aab."ad_name" is not null
+        ) aa
+        <if test="callTaskStatistic.grad==1">
+            on aab."guid" = aa."p_ad_code"
+        </if>
+        <if test="callTaskStatistic.grad==2">
+            on aab."guid" = aa."guid"
+        </if>
+        <if test="callTaskStatistic.grad==3">
+            on aab."guid" = aa."guid"
+        </if>
+        left join (
+            select b.*,aab."guid",aab."ad_grad",aab."p_ad_code",aab."ad_name" as adName from (
+                select "callee_number",waterCodes,LENGTH(waterCodes)- LENGTH(REPLACE(waterCodes,',','')) num from (
+                    select  ctr."callee_number",WM_Concat(ctc.waterCode) waterCodes from (
+                    select "call_id","task_id",JSON_VALUE("call_task_callee_content",'$."$水库编码$"') as waterCode from "SJZT_ODS"."call_task_callee"
+                    ) ctc join (
+                    select "call_id","callee_number","call_result",date_format("gmt_create",'%Y-%m-%d') "gmt_create" from SJZT_ODS."call_task_result"
+                    where date_format("gmt_create",'%Y-%m-%d') >= #{twoDay.startTime} and date_format("gmt_create",'%Y-%m-%d') &lt;= #{twoDay.endTime}
+                    and "call_result"='200003'
+                    )ctr on ctc."call_id" = ctr."call_id" group by ctr."callee_number"
+                ) a where LENGTH(waterCodes)- LENGTH(REPLACE(waterCodes,',',''))=1
+            )b
+            left join "SJZT_MD"."att_res_base" arb on locate(arb."code",b.waterCodes)>0
+            left join "SJZT_MD"."att_ad_base" aab on aab."guid" = concat(arb."ad_guid",'000000')
+            where aab."ad_name" is not null
+        ) bb
+        <if test="callTaskStatistic.grad==1">
+            on aab."guid" = bb."p_ad_code"
+        </if>
+        <if test="callTaskStatistic.grad==2">
+            on aab."guid" = bb."guid"
+        </if>
+        <if test="callTaskStatistic.grad==3">
+            on aab."guid" = bb."guid"
+        </if>
+        left join (
+            select b.*,aab."guid",aab."ad_grad",aab."p_ad_code",aab."ad_name" as adName from (
+                select "callee_number",waterCodes,LENGTH(waterCodes)- LENGTH(REPLACE(waterCodes,',','')) num from (
+                    select  ctr."callee_number",WM_Concat(ctc.waterCode) waterCodes from (
+                    select "call_id","task_id",JSON_VALUE("call_task_callee_content",'$."$水库编码$"') as waterCode from "SJZT_ODS"."call_task_callee"
+                    ) ctc join (
+                    select "call_id","callee_number","call_result",date_format("gmt_create",'%Y-%m-%d') "gmt_create" from SJZT_ODS."call_task_result"
+                    where date_format("gmt_create",'%Y-%m-%d') >= #{oneDay.startTime} and date_format("gmt_create",'%Y-%m-%d') &lt;= #{oneDay.endTime}
+                    and "call_result"='200005'
+                    )ctr on ctc."call_id" = ctr."call_id" group by ctr."callee_number"
+                ) a where 1=1
+            )b
+            left join "SJZT_MD"."att_res_base" arb on locate(arb."code",b.waterCodes)>0
+            left join "SJZT_MD"."att_ad_base" aab on aab."guid" = concat(arb."ad_guid",'000000')
+            where aab."ad_name" is not null
+        ) cc
+        <if test="callTaskStatistic.grad==1">
+            on aab."guid" = cc."p_ad_code"
+        </if>
+        <if test="callTaskStatistic.grad==2">
+            on aab."guid" = cc."guid"
+        </if>
+        <if test="callTaskStatistic.grad==3">
+            on aab."guid" = cc."guid"
+        </if>
+        <if test="callTaskStatistic.grad==1">
+            where aab."p_ad_code" = #{callTaskStatistic.adCode}
+        </if>
+        <if test="callTaskStatistic.grad==2">
+            where aab."p_ad_code" = #{callTaskStatistic.adCode}
+        </if>
+        <if test="callTaskStatistic.grad==3">
+            where aab."ad_code" = #{callTaskStatistic.adCode}
+        </if>
+        group by aab."ad_name",aab."guid"
+        order by aab."guid"
+    </select>
+
 </mapper>

--
Gitblit v1.9.3