From b37bdc2060e6bd7bf8cb2b2d844fe45a549d210a Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 21 Jun 2023 12:25:58 +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 | 91 ++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 80 insertions(+), 11 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 73ada6c..7cdfb7e 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
@@ -12,14 +12,15 @@
date_format(ct."task_schedule_time",'%Y-%m-%d %H:%i:%s') as executeTime,
ctr."calling_number" as callingNumber,
ctra."callee_number_count" as calleeNumberCount,
- ctra."connection_count" as connectionCount,
- ctra."failure_count" as failureCount,
+ if(ifnull(scnfr.task_id,0)='0',ctra."connection_count",(ctra."connection_count"+scnfr.num)) as connectionCount,
+ if(ifnull(scnfr.task_id,0)='0',ctra."failure_count",(ctra."failure_count"-scnfr.num)) as failureCount,
ctra."other_status_count" as otherStatusCount,
cs."call_scenes_name" as callScenesName
from "SJZT_ODS"."call_task" ct
left join (select * from "SJZT_ODS"."call_scenes" where "is_deleted" = 0) cs on ct."scene_id" = cs."id"
left join (select DISTINCT "task_id","calling_number" from "SJZT_ODS"."call_task_result") ctr on ctr."task_id" = ct."id"
left join "SJZT_ODS"."call_task_result_analyse" ctra on ctra."task_id" = ct."id"
+ left join (select task_id,count(*)as num from "YWXT".sm_call_not_fill_record group by task_id) scnfr on scnfr.task_id = ctr."task_id"
where 1=1 and ct."is_deleted" = 0
<if test="callTask.taskName!=null and callTask.taskName!=''">
and ct."task_name" like concat(concat('%',#{callTask.taskName}),'%')
@@ -56,7 +57,13 @@
ctr."is_deleted" as isDeleted,
ctc.waterCode,
aab."ad_name" as areaName,
- cas."tag_title" as tagTitle,
+ case when ctr."call_result"!='200000' then concat(
+ if(ifnull(scnfr.is_danger,0)='0','',if(scnfr.is_danger='是','发现险情,','未发现险情,')),
+ if(ifnull(scnfr.is_patrol_person,0)='0','',if(scnfr.is_patrol_person='是','是巡查责任人,','不是巡查责任人,')) ,
+ if(ifnull(scnfr.is_patrol,0)='0','',if(scnfr.is_patrol='是','已巡查,','未巡查,')),
+ if(ifnull(scnfr.is_over,0)='0','',if(scnfr.is_over='是','超汛限','未超汛限'))
+ )
+ else cas."tag_title" end as tagTitle,
ctc.userName,
arb."name" as waterName,
arb."res_reg_code" resRegCode,
@@ -65,10 +72,15 @@
arb."rv_name" rvName,
REGEXP_SUBSTR (arb."res_loc",'[^-]+',1,2) as cityName,
REGEXP_SUBSTR (arb."res_loc",'[^-]+',1,3) as countyName,
- if(ifnull(cas."tag_title",0)>'0',if(instr(cas."tag_title",'未发现险情')>0,1,if(instr(cas."tag_title",'发现险情')>0,2,0)),0) isDange,
- if(ifnull(cas."tag_title",0)>'0',if(instr(cas."tag_title",'是否巡查责任人-未识别')>0,0,if(instr(cas."tag_title",'不是巡查责任人')>0,1,if(instr(cas."tag_title",'是巡查责任人')>0,2,0))),0) isMan,
- if(ifnull(cas."tag_title",0)>'0',if(instr(cas."tag_title",'是否巡查-未识别')>0,0,if(instr(cas."tag_title",'未巡查')>0,1,if(instr(cas."tag_title",'已巡查')>0,2,0))),0) isPatrol,
- if(ifnull(cas."tag_title",0)>'0',if(instr(cas."tag_title",'是否超汛限-未识别')>0,0,if(instr(cas."tag_title",'未超汛限')>0,1,if(instr(cas."tag_title",'超汛限')>0,2,0))),0) isOver
+ if(ifnull(scnfr.call_id,0)='0','','已反馈') isSmsFill,
+ case when ctr."call_result"!='200000' then if(ifnull(scnfr.is_danger,0)>'0',if(scnfr.is_danger='是',2,1),0)
+ else if(ifnull(cas."tag_title",0)>'0',if(instr(cas."tag_title",'未发现险情')>0,1,if(instr(cas."tag_title",'发现险情')>0,2,0)),0) end as isDange,
+ case when ctr."call_result"!='200000' then if(ifnull(scnfr.is_patrol_person,0)>'0',if(scnfr.is_patrol_person='是',2,1),0)
+ else if(ifnull(cas."tag_title",0)>'0',if(instr(cas."tag_title",'是否巡查责任人-未识别')>0,0,if(instr(cas."tag_title",'不是巡查责任人')>0,1,if(instr(cas."tag_title",'是巡查责任人')>0,2,0))),0) end as isMan,
+ case when ctr."call_result"!='200000' then if(ifnull(scnfr.is_patrol,0)>'0',if(scnfr.is_patrol='是',2,1),0)
+ else if(ifnull(cas."tag_title",0)>'0',if(instr(cas."tag_title",'是否巡查-未识别')>0,0,if(instr(cas."tag_title",'未巡查')>0,1,if(instr(cas."tag_title",'已巡查')>0,2,0))),0) end as isPatrol,
+ case when ctr."call_result"!='200000' then if(ifnull(scnfr.is_over,0)>'0',if(scnfr.is_over='是',2,1),0)
+ else if(ifnull(cas."tag_title",0)>'0',if(instr(cas."tag_title",'是否超汛限-未识别')>0,0,if(instr(cas."tag_title",'未超汛限')>0,1,if(instr(cas."tag_title",'超汛限')>0,2,0))),0) end as isOver
from "SJZT_ODS"."call_task_result" ctr
left join
(
@@ -89,6 +101,7 @@
) cas
on cas."call_id" = ctr."call_id"
left join "SJZT_ODS"."call_task" ct on ct."id" = ctr."task_id"
+ left join "YWXT".sm_call_not_fill_record scnfr on scnfr.call_id = ctr."call_id"
where 1=1
<if test="callTaskResult.taskId!=null and callTaskResult.taskId!=''">
and ctr."task_id" = #{callTaskResult.taskId}
@@ -190,12 +203,13 @@
aab."ad_name" as adName,
createTime,
ifnull(sum(totalCount),0) calleeNumberCount,
- ifnull(sum(connectCount),0) connectionCount
+ ifnull(sum(connectCount),0) + ifnull(sum(isSmsFillCount),0) connectionCount
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,
+ ifnull(sum(case when scnfr.task_id!='' then 1 else 0 end),0)as isSmsFillCount,
DATE_FORMAT(ctr."gmt_create",'%Y-%m-%d') as createTime,
aab."guid",
aab."ad_grad",
@@ -208,6 +222,7 @@
) 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')
+ left join "YWXT".sm_call_not_fill_record scnfr on scnfr.call_id = ctr."call_id"
where 1=1 and aab."ad_name" is not null
<if test="callTaskStatistic.createTime!=null and callTaskStatistic.createTime!=''">
and date_format(ctr."gmt_create",'%Y-%m-%d') = #{callTaskStatistic.createTime}
@@ -241,12 +256,13 @@
aab."ad_name" as adName,
createTime,
ifnull(sum(totalCount),0) calleeNumberCount,
- ifnull(sum(connectCount),0) connectionCount
+ ifnull(sum(connectCount),0) + ifnull(sum(isSmsFillCount),0) connectionCount
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,
+ ifnull(sum(case when scnfr.task_id!='' then 1 else 0 end),0)as isSmsFillCount,
DATE_FORMAT(ctr."gmt_create",'%Y-%m-%d') as createTime,
aab."guid",
aab."ad_grad",
@@ -259,6 +275,7 @@
) 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')
+ left join "YWXT".sm_call_not_fill_record scnfr on scnfr.call_id = ctr."call_id"
where 1=1 and aab."ad_name" is not null
<if test="callTaskStatistic.createTime!=null and callTaskStatistic.createTime!=''">
and date_format(ctr."gmt_create",'%Y-%m-%d') = #{callTaskStatistic.createTime}
@@ -285,11 +302,63 @@
) b
</select>
- <!--查询外呼多少天内已呼叫过的人员手机号集合信息-并只取接通的号码-->
+ <!--查询外呼多少天内已呼叫过的人员手机号集合信息-->
<select id="getCallUserPhoneByParam" resultType="java.lang.String">
select "callee_number" from SJZT_ODS."call_task_result"
where date_format("gmt_create",'%Y-%m-%d') >= #{params.startTime}
and date_format("gmt_create",'%Y-%m-%d') <= #{params.endTime}
- and "call_result" = '200000'
</select>
+
+ <!--查询外呼多少天内已呼叫过的人员手机号集合信息-并只取接通的号码-->
+<!-- <select id="getCallUserPhoneByParam" resultType="java.lang.String">-->
+<!-- select "callee_number" from SJZT_ODS."call_task_result"-->
+<!-- where date_format("gmt_create",'%Y-%m-%d') >= #{params.startTime}-->
+<!-- and date_format("gmt_create",'%Y-%m-%d') <= #{params.endTime}-->
+<!-- and "call_result" = '200000'-->
+<!-- </select>-->
+
+ <!--通过任务名称查询taskId-mysql-->
+ <select id="getTaskIdByTaskName" resultType="java.lang.String">
+ select id from call_task where task_name = #{taskName}
+ </select>
+
+ <!--通过任务名称查询taskId-mysql-->
+ <select id="getBeforeOneDayCallNotConnect" resultType="cn.gistack.sm.intelligentCall.entity.Scene">
+ select ctc.callee_number as phone,ctc.callee_number as userId,
+ TRIM(BOTH '"' FROM JSON_EXTRACT(ctc.call_task_callee_content,'$."$水库编码$"')) as waterCode,
+ TRIM(BOTH '"' FROM JSON_EXTRACT(ctc.call_task_callee_content,'$."$水库名称$"')) as waterName,
+ TRIM(BOTH '"' FROM JSON_EXTRACT(ctc.call_task_callee_content,'$."$用户名$"')) as username
+ from call_task_callee ctc
+ join (
+ select call_id,callee_number,call_result from call_task_result
+ where date_format(gmt_create,'%Y-%m-%d') >= #{params.startTime}
+ and date_format(gmt_create,'%Y-%m-%d') < #{params.endTime}
+ ) ctr on ctc.call_id = ctr.call_id
+ and ctc.call_status = 4 and ctr.call_result!='200000'
+ </select>
+
+ <!--查询前一天已填报的人员-达梦-->
+ <select id="getFillRecordList" resultType="java.lang.String">
+ select tel from sm_call_not_fill_record
+ where date_format(create_time,'%Y-%m-%d') >= #{params.startTime}
+ and date_format(create_time ,'%Y-%m-%d') < #{params.endTime}
+ </select>
+
+
+ <!--查询三天都未接通的人员-mysql-->
+ <select id="getBeforeThreeDayCallNotConnect" resultType="java.lang.String">
+ select callee_number from (
+ select callee_number,count(*) num from (
+ select ctc.callee_number,ctr.gmt_create
+ from call_task_callee ctc
+ join (
+ select call_id,callee_number,call_result,date_format(gmt_create,'%Y-%m-%d') gmt_create from call_task_result
+ where date_format(gmt_create,'%Y-%m-%d') >= #{params.startTime}
+ and date_format(gmt_create,'%Y-%m-%d') < #{params.endTime}
+ ) ctr on ctc.call_id = ctr.call_id
+ and ctc.call_status = 4 and ctr.call_result!='200000' GROUP BY ctc.callee_number,ctr.gmt_create
+ )a GROUP BY callee_number
+ )b where num=3
+ </select>
+
</mapper>
--
Gitblit v1.9.3