From 64505cd670b4ca4b8e6c2b28840cc7207dea25ed Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Mon, 14 Aug 2023 14:26:22 +0800
Subject: [PATCH] 智能外呼统计修改,解决省直管无法显示问题

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.xml |   34 ++++++++++++++++++++++++++++++++--
 1 files changed, 32 insertions(+), 2 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 dbd0f85..0932512 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
@@ -238,7 +238,8 @@
                         aab."guid" as "town_code",
                         aab."ad_name" as "town_name",
                         aab."ad_grad" as "town_grad",
-                        aab."p_ad_code" as "county_code"
+                        case when aab."ad_grad" =2 then aab."guid"
+                        else aab."p_ad_code" end as "county_code"
                         from
                         (
                             select ctr.*,waterCode from SJZT_ODS."call_task_result" ctr right join
@@ -266,10 +267,24 @@
                 on aab."guid" = c."city_code" or (aab."guid" = c."county_code" and c."county_grad" = 2) or (aab."guid" = c."county_code" and c."county_grad" = 1)
                 where aab."ad_grad" = 2
             </if>
+            <if test="callTaskStatistic.grad==2">
+                on aab."guid" = c."county_code" or (aab."guid" = c."town_code" and c."county_grad" = 3) or (aab."guid" = c."town_code" and c."county_grad" = 2)
+                where 1=1 and (aab."ad_grad" = 3 or aab."ad_grad" = 2) and aab."p_ad_code" = #{callTaskStatistic.adCode}
+            </if>
+            <if test="callTaskStatistic.grad==3">
+                on aab."guid" = c."town_code"
+                where 1=1 and aab."ad_grad" = 4 and aab."p_ad_code" = #{callTaskStatistic.adCode}
+            </if>
             group by aab."guid",aab."ad_name"
         ) d on d."guid" = aab."ad_code"
         <if test="callTaskStatistic.grad==1">
             where aab."ad_grad" =2
+        </if>
+        <if test="callTaskStatistic.grad==2">
+            where (aab."ad_grad" = 3 or aab."ad_grad" = 2)  and aab."p_ad_code" = #{callTaskStatistic.adCode}
+        </if>
+        <if test="callTaskStatistic.grad==3">
+            where aab."ad_grad" =4 and aab."p_ad_code" = #{callTaskStatistic.adCode}
         </if>
         order by aab."guid"
     </select>
@@ -570,7 +585,8 @@
                         aab."guid" as "town_code",
                         aab."ad_name" as "town_name",
                         aab."ad_grad" as "town_grad",
-                        aab."p_ad_code" as "county_code"
+                        case when aab."ad_grad" =2 then aab."guid"
+                        else aab."p_ad_code" end as "county_code"
                         from
                         (
                             select ctc."gmt_create",ctc."call_id",ctc."task_id",JSON_VALUE(ctc."call_task_callee_content",'$."$水库编码$"') as waterCode,ctr."call_result",scnfr.task_id from "SJZT_ODS"."call_task_callee" ctc
@@ -594,11 +610,25 @@
                 on aab."guid" = c."city_code" or (aab."guid" = c."county_code" and c."county_grad" = 2) or (aab."guid" = c."county_code" and c."county_grad" = 1)
                 where 1=1 and aab."ad_grad" = 2
             </if>
+            <if test="callTaskStatistic.grad==2">
+                on aab."guid" = c."county_code" or (aab."guid" = c."town_code" and c."county_grad" = 3) or (aab."guid" = c."town_code" and c."county_grad" = 2)
+                where 1=1 and (aab."ad_grad" = 3 or aab."ad_grad" = 2) and aab."p_ad_code" = #{callTaskStatistic.adCode}
+            </if>
+            <if test="callTaskStatistic.grad==3">
+                on aab."guid" = c."town_code"
+                where 1=1 and aab."ad_grad" = 4 and aab."p_ad_code" = #{callTaskStatistic.adCode}
+            </if>
             group by aab."guid",aab."ad_name"
         ) d on d."guid" = aab."ad_code"
         <if test="callTaskStatistic.grad==1">
             where aab."ad_grad" =2
         </if>
+        <if test="callTaskStatistic.grad==2">
+            where (aab."ad_grad" = 3 or aab."ad_grad" = 2)  and aab."p_ad_code" = #{callTaskStatistic.adCode}
+        </if>
+        <if test="callTaskStatistic.grad==3">
+            where aab."ad_grad" =4 and aab."p_ad_code" = #{callTaskStatistic.adCode}
+        </if>
         order by aab."guid"
     </select>
 

--
Gitblit v1.9.3