add workflow 天润Smart-ccc通话记录,dev

This commit is contained in:
root 2025-06-30 10:55:22 +08:00
parent 68a3ad29ed
commit f88589aea3
1 changed files with 50 additions and 8 deletions

View File

@ -4,7 +4,7 @@
/*Brilliance stems from wisdoms. */ /*Brilliance stems from wisdoms. */
/*************Head Section**************************************************************************/ /*************Head Section**************************************************************************/
/*Script Use: Periodically load data to :cust_call_record_info(ccc客户通话记录信息) */ /*Script Use: Periodically load data to :cust_call_record_info(ccc客户通话记录信息) */
/*Create Date:2025-06-30 10:25:24 */ /*Create Date:2025-06-30 10:54:55 */
/*SDM Developed By: dev */ /*SDM Developed By: dev */
/*SDM Developed Date: 2024-09-19 */ /*SDM Developed Date: 2024-09-19 */
/*SDM Checked By: dev */ /*SDM Checked By: dev */
@ -38,7 +38,7 @@ ON COMMIT PRESERVE ROWS;
/*****************************************************************************************************/ /*****************************************************************************************************/
INSERT INTO cust_call_record_info_agi_CUR_I ( INSERT INTO cust_call_record_info_agi_CUR_I (
call_id /*通话编号*/ call_unique_id /*通话编号*/
,call_channel /*通话渠道*/ ,call_channel /*通话渠道*/
,start_time /*开始时间*/ ,start_time /*开始时间*/
,bridge_duration /*持续时间*/ ,bridge_duration /*持续时间*/
@ -48,9 +48,16 @@ INSERT INTO cust_call_record_info_agi_CUR_I (
,name /*姓名*/ ,name /*姓名*/
,email /*邮箱*/ ,email /*邮箱*/
,company /*公司*/ ,company /*公司*/
,etl_batch_no /*作业批次号*/
,etl_first_dt /*最初入库时间*/
,etl_job /*作业名称*/
,etl_proc_dt /*本次入库时间*/
,etl_tx_dt /*作业运行时间*/
,src_sysname /*来源系统*/
,src_table /*来源表*/
) )
SELECT SELECT
coalesce(p0.unique_id,'') /*call_id*/ coalesce(p0.unique_id,'') /*call_unique_id*/
,'Smart CCC' /*call_channel*/ ,'Smart CCC' /*call_channel*/
,COALESCE(p0.start_time,TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*start_time*/ ,COALESCE(p0.start_time,TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*start_time*/
,COALESCE(CAST(p0.bridge_duration AS numeric (24,3)),0) /*bridge_duration*/ ,COALESCE(CAST(p0.bridge_duration AS numeric (24,3)),0) /*bridge_duration*/
@ -65,6 +72,13 @@ SELECT
,coalesce(p1."name",'') /*name*/ ,coalesce(p1."name",'') /*name*/
,coalesce(p1.email,'') /*email*/ ,coalesce(p1.email,'') /*email*/
,coalesce(p1.company,'') /*company*/ ,coalesce(p1.company,'') /*company*/
,0 /*etl_batch_no*/
,TO_DATE(:TXDATE,'YYYYMMDD') /*etl_first_dt*/
,:ETLJOB /*etl_job*/
,current_timestamp(0) /*etl_proc_dt*/
,TO_DATE(:TXDATE,'YYYYMMDD') /*etl_tx_dt*/
,Substr('cust_call_ccc_record',1,3) /*src_sysname*/
,'cust_call_ccc_record' /*src_table*/
FROM :COMMDB.cust_call_ccc_record p0 FROM :COMMDB.cust_call_ccc_record p0
LEFT JOIN (select distinct on (tel) * from p30_common.d_ccc_cust_info) p1 LEFT JOIN (select distinct on (tel) * from p30_common.d_ccc_cust_info) p1
@ -80,7 +94,7 @@ group by 1,2,3,4,5,6,7,8,9,10
/*****************************************************************************************************/ /*****************************************************************************************************/
INSERT INTO cust_call_record_info_agi_CUR_I ( INSERT INTO cust_call_record_info_agi_CUR_I (
call_id /*通话编号*/ call_unique_id /*通话编号*/
,call_channel /*通话渠道*/ ,call_channel /*通话渠道*/
,start_time /*开始时间*/ ,start_time /*开始时间*/
,bridge_duration /*持续时间*/ ,bridge_duration /*持续时间*/
@ -90,9 +104,16 @@ INSERT INTO cust_call_record_info_agi_CUR_I (
,name /*姓名*/ ,name /*姓名*/
,email /*邮箱*/ ,email /*邮箱*/
,company /*公司*/ ,company /*公司*/
,etl_batch_no /*作业批次号*/
,etl_first_dt /*最初入库时间*/
,etl_job /*作业名称*/
,etl_proc_dt /*本次入库时间*/
,etl_tx_dt /*作业运行时间*/
,src_sysname /*来源系统*/
,src_table /*来源表*/
) )
SELECT SELECT
COALESCE(TRIM(p0.call_id),'') /*call_id*/ COALESCE(TRIM(p0.call_id),'') /*call_unique_id*/
,'Udesk' /*call_channel*/ ,'Udesk' /*call_channel*/
,p0.record_time /*start_time*/ ,p0.record_time /*start_time*/
,extract (epoch from duration::time) /*bridge_duration*/ ,extract (epoch from duration::time) /*bridge_duration*/
@ -106,6 +127,13 @@ else '其他' end /*service_group*/
,cust /*name*/ ,cust /*name*/
,'' /*email*/ ,'' /*email*/
,company_name /*company*/ ,company_name /*company*/
,0 /*etl_batch_no*/
,TO_DATE(:TXDATE,'YYYYMMDD') /*etl_first_dt*/
,:ETLJOB /*etl_job*/
,current_timestamp(0) /*etl_proc_dt*/
,TO_DATE(:TXDATE,'YYYYMMDD') /*etl_tx_dt*/
,Substr('t01_udesk_record',1,3) /*src_sysname*/
,'t01_udesk_record' /*src_table*/
FROM :PDMDB.t01_udesk_record p0 FROM :PDMDB.t01_udesk_record p0
where p0.type = '呼入' and p0.relay_number not like '%MKT%' and p0.relay_number not like '%Fluke%' and record_time ::date >='2024-01-01' where p0.type = '呼入' and p0.relay_number not like '%MKT%' and p0.relay_number not like '%Fluke%' and record_time ::date >='2024-01-01'
@ -118,12 +146,12 @@ and udesk_source in ('队列: IAM','队列: SSO-TEK','队列: TSC-KEI','队列:
/*从目标表中删除所有数据 cust_call_record_info(ccc客户通话记录信息) */ /*从目标表中删除所有数据 cust_call_record_info(ccc客户通话记录信息) */
DELETE FROM :MARTDB.cust_call_record_info DELETE FROM :MARTDB.cust_call_record_info
; WHERE ETL_JOB=:ETLJOB;
/*将新增数据插入到目标表 */ /*将新增数据插入到目标表 */
;INSERT INTO :MARTDB.cust_call_record_info ( ;INSERT INTO :MARTDB.cust_call_record_info (
call_id /*通话编号*/ call_unique_id /*通话编号*/
,call_channel /*通话渠道*/ ,call_channel /*通话渠道*/
,start_time /*开始时间*/ ,start_time /*开始时间*/
,bridge_duration /*持续时间*/ ,bridge_duration /*持续时间*/
@ -133,10 +161,17 @@ DELETE FROM :MARTDB.cust_call_record_info
,name /*姓名*/ ,name /*姓名*/
,email /*邮箱*/ ,email /*邮箱*/
,company /*公司*/ ,company /*公司*/
,etl_batch_no /*作业批次号*/
,etl_first_dt /*最初入库时间*/
,etl_job /*作业名称*/
,etl_proc_dt /*本次入库时间*/
,etl_tx_dt /*作业运行时间*/
,src_sysname /*来源系统*/
,src_table /*来源表*/
) )
SELECT SELECT
P1.call_id /*通话编号*/ P1.call_unique_id /*通话编号*/
,P1.call_channel /*通话渠道*/ ,P1.call_channel /*通话渠道*/
,P1.start_time /*开始时间*/ ,P1.start_time /*开始时间*/
,P1.bridge_duration /*持续时间*/ ,P1.bridge_duration /*持续时间*/
@ -146,6 +181,13 @@ DELETE FROM :MARTDB.cust_call_record_info
,P1.name /*姓名*/ ,P1.name /*姓名*/
,P1.email /*邮箱*/ ,P1.email /*邮箱*/
,P1.company /*公司*/ ,P1.company /*公司*/
,P1.etl_batch_no /*作业批次号*/
,P1.etl_first_dt /*最初入库时间*/
,P1.etl_job /*作业名称*/
,P1.etl_proc_dt /*本次入库时间*/
,P1.etl_tx_dt /*作业运行时间*/
,P1.src_sysname /*来源系统*/
,P1.src_table /*来源表*/
FROM cust_call_record_info_agi_CUR_I P1 FROM cust_call_record_info_agi_CUR_I P1