add workflow 天润Smart-ccc通话记录,dev
This commit is contained in:
parent
3f945ffe0a
commit
cc02dbf2cc
|
@ -0,0 +1,28 @@
|
|||
|
||||
DROP TABLE IF EXISTS p60_mart.cust_call_record_info;
|
||||
CREATE TABLE IF NOT EXISTS p60_mart.cust_call_record_info (
|
||||
call_id VARCHAR(50)
|
||||
, call_channel text
|
||||
, start_time timestamp(0)
|
||||
, bridge_duration numeric (0,0)
|
||||
, call_qname VARCHAR(20)
|
||||
, service_group VARCHAR(0)
|
||||
, customer_number VARCHAR(20)
|
||||
, name VARCHAR(20)
|
||||
, email VARCHAR(0)
|
||||
, company VARCHAR(0)
|
||||
|
||||
);
|
||||
|
||||
COMMENT ON COLUMN p60_mart.cust_call_record_info.call_id IS '通话编号';
|
||||
COMMENT ON COLUMN p60_mart.cust_call_record_info.call_channel IS '通话渠道';
|
||||
COMMENT ON COLUMN p60_mart.cust_call_record_info.start_time IS '开始时间';
|
||||
COMMENT ON COLUMN p60_mart.cust_call_record_info.bridge_duration IS '持续时间';
|
||||
COMMENT ON COLUMN p60_mart.cust_call_record_info.call_qname IS '通话队列名称';
|
||||
COMMENT ON COLUMN p60_mart.cust_call_record_info.service_group IS '服务组';
|
||||
COMMENT ON COLUMN p60_mart.cust_call_record_info.customer_number IS '客户电话';
|
||||
COMMENT ON COLUMN p60_mart.cust_call_record_info.name IS '姓名';
|
||||
COMMENT ON COLUMN p60_mart.cust_call_record_info.email IS '邮箱';
|
||||
COMMENT ON COLUMN p60_mart.cust_call_record_info.company IS '公司';
|
||||
|
||||
COMMENT ON TABLE p60_mart.cust_call_record_info IS 'ccc客户通话记录信息';
|
|
@ -0,0 +1,150 @@
|
|||
/***************************************************************************************************/
|
||||
/*script in Sql, generate by SdmCreateScript 2020(by Qihang Feng, QF255001@TERADATA.COM) */
|
||||
/*VERSION 01.10 revised on 2020-08-25 */
|
||||
/*Brilliance stems from wisdoms. */
|
||||
/*************Head Section**************************************************************************/
|
||||
/*Script Use: Periodically load data to :cust_call_record_info(ccc客户通话记录信息) */
|
||||
/*Create Date:2024-09-19 19:37:16 */
|
||||
/*SDM Developed By: dev */
|
||||
/*SDM Developed Date: 2024-09-19 */
|
||||
/*SDM Checked By: dev */
|
||||
/*SDM Checked Date: 2024-09-19 */
|
||||
/*Script Developed By: dev */
|
||||
/*Script Checked By: dev */
|
||||
/*Source table 1: :COMMDB.d_ccc_cust_info */
|
||||
/*Source table 2: :PDMDB.t01_udesk_record */
|
||||
/*Source table 3: :COMMDB.cust_call_ccc_record */
|
||||
/*Job Type: Inbound transform (Tier 1 to Tier 2) */
|
||||
/*Target Table:cust_call_record_info */
|
||||
/*ETL Job Name:cust_call_record_info */
|
||||
/*ETL Frequency:None */
|
||||
/*ETL Policy:F1 */
|
||||
/********************************************************************************************/
|
||||
/*******Main Section**************************************************************************/
|
||||
\set ON_ERROR_STOP on
|
||||
\set AUTOCOMMIT on
|
||||
\timing on
|
||||
|
||||
|
||||
|
||||
/*创建临时表加载当前数据 */
|
||||
CREATE TEMPORARY TABLE cust_call_record_info_agi_CUR_I
|
||||
( LIKE :MARTDB.cust_call_record_info)
|
||||
ON COMMIT PRESERVE ROWS;
|
||||
|
||||
|
||||
/*****************************************************************************************************/
|
||||
/* GROUP 1:Source Table:cust_call_ccc_record**********************************************************/
|
||||
/*****************************************************************************************************/
|
||||
|
||||
INSERT INTO cust_call_record_info_agi_CUR_I (
|
||||
call_id /*通话编号*/
|
||||
,call_channel /*通话渠道*/
|
||||
,start_time /*开始时间*/
|
||||
,bridge_duration /*持续时间*/
|
||||
,call_qname /*通话队列名称*/
|
||||
,service_group /*服务组*/
|
||||
,customer_number /*客户电话*/
|
||||
,name /*姓名*/
|
||||
,email /*邮箱*/
|
||||
,company /*公司*/
|
||||
)
|
||||
SELECT
|
||||
COALESCE(TRIM(p0.call_id),'') /*call_id*/
|
||||
,'Smart CCC' /*call_channel*/
|
||||
,COALESCE(p0.start_time,TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*start_time*/
|
||||
,COALESCE(CAST(p0.bridge_duration AS numeric (24,3)),0) /*bridge_duration*/
|
||||
,COALESCE(TRIM(p0.call_qname),'') /*call_qname*/
|
||||
,case when p0.call_qname in ('选型报价','选型报价统计','TW销售服务') then '产品报价'
|
||||
when p0.call_qname in ('售前技术','售后技术','技术支持统计') then '技术支持'
|
||||
when p0.call_qname in ('保内维修','保外维修与计量','维修计量统计') then '维修与校准'
|
||||
when p0.call_qname in ('其他咨询','其他支持统计') then '其他'
|
||||
when p0.call_qname in ('') then ''
|
||||
else '其他' end /*service_group*/
|
||||
,COALESCE(TRIM(p0.customer_number),'') /*customer_number*/
|
||||
,coalesce(p1."name",'无') /*name*/
|
||||
,coalesce(p1.email,'') /*email*/
|
||||
,coalesce(p1.company,'') /*company*/
|
||||
|
||||
FROM :COMMDB.cust_call_ccc_record p0
|
||||
LEFT JOIN :COMMDB.d_ccc_cust_info p1
|
||||
ON p0.customer_number =p1.tel
|
||||
where p0.hotline_name in ('400呼入','Inbound','SG-TSC')
|
||||
|
||||
;
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************************************/
|
||||
/* GROUP 2:Source Table:t01_udesk_record**************************************************************/
|
||||
/*****************************************************************************************************/
|
||||
INSERT INTO cust_call_record_info_agi_CUR_I (
|
||||
call_id /*通话编号*/
|
||||
,call_channel /*通话渠道*/
|
||||
,start_time /*开始时间*/
|
||||
,bridge_duration /*持续时间*/
|
||||
,call_qname /*通话队列名称*/
|
||||
,service_group /*服务组*/
|
||||
,customer_number /*客户电话*/
|
||||
,name /*姓名*/
|
||||
,email /*邮箱*/
|
||||
,company /*公司*/
|
||||
)
|
||||
SELECT
|
||||
COALESCE(TRIM(p0.call_id),'') /*call_id*/
|
||||
,'Udesk' /*call_channel*/
|
||||
,p0.record_time /*start_time*/
|
||||
,extract (epoch from p0.duration::time) /*bridge_duration*/
|
||||
,p0.udesk_source /*call_qname*/
|
||||
,case when udesk_source ='队列: IAM' then '产品报价'
|
||||
when udesk_source in ('队列: TSC-KEI','队列: TSC-TEK') then '技术支持'
|
||||
when udesk_source ='队列: SSO-TEK' then '维修与校准'
|
||||
when udesk_source ='' then ''
|
||||
else '其他' end /*service_group*/
|
||||
,COALESCE(TRIM(p0.mobile_phone),'') /*customer_number*/
|
||||
,cust /*name*/
|
||||
,'' /*email*/
|
||||
,COALESCE(TRIM(CAST(p0.company_name AS VARCHAR(200))),'') /*company*/
|
||||
|
||||
FROM :PDMDB.t01_udesk_record p0
|
||||
;
|
||||
|
||||
|
||||
|
||||
/*从目标表中删除所有数据 cust_call_record_info(ccc客户通话记录信息) */
|
||||
DELETE FROM :MARTDB.cust_call_record_info
|
||||
;
|
||||
|
||||
|
||||
/*将新增数据插入到目标表 */
|
||||
;INSERT INTO :MARTDB.cust_call_record_info (
|
||||
call_id /*通话编号*/
|
||||
,call_channel /*通话渠道*/
|
||||
,start_time /*开始时间*/
|
||||
,bridge_duration /*持续时间*/
|
||||
,call_qname /*通话队列名称*/
|
||||
,service_group /*服务组*/
|
||||
,customer_number /*客户电话*/
|
||||
,name /*姓名*/
|
||||
,email /*邮箱*/
|
||||
,company /*公司*/
|
||||
|
||||
)
|
||||
SELECT
|
||||
P1.call_id /*通话编号*/
|
||||
,P1.call_channel /*通话渠道*/
|
||||
,P1.start_time /*开始时间*/
|
||||
,P1.bridge_duration /*持续时间*/
|
||||
,P1.call_qname /*通话队列名称*/
|
||||
,P1.service_group /*服务组*/
|
||||
,P1.customer_number /*客户电话*/
|
||||
,P1.name /*姓名*/
|
||||
,P1.email /*邮箱*/
|
||||
,P1.company /*公司*/
|
||||
|
||||
FROM cust_call_record_info_agi_CUR_I P1
|
||||
|
||||
;
|
||||
/*****程序结束退出 */
|
||||
\q
|
||||
|
|
@ -155,6 +155,14 @@ params={'my_param':"cust_call_ccc_record_agi"},
|
|||
depends_on_past=False,
|
||||
retries=3,
|
||||
dag=dag)
|
||||
cust_call_record_info = SSHOperator(
|
||||
ssh_hook=sshHook,
|
||||
task_id='cust_call_record_info',
|
||||
command='/data/airflow/etl/MART/run_psql.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ',
|
||||
params={'my_param':"cust_call_record_info_agi"},
|
||||
depends_on_past=False,
|
||||
retries=3,
|
||||
dag=dag)
|
||||
cc_cdr_ib_agent_list_load >> tr_cc_cdr_ib_agent_list_9092
|
||||
cc_cdr_ib_list_load >> tr_cc_cdr_ib_list_9521
|
||||
cc_cdr_ob_list_load >> tr_cc_cdr_ob_list_4070
|
||||
|
@ -165,4 +173,5 @@ tr_cc_cdr_ob_list_4070 >> t01_ccc_ob_record
|
|||
tr_cc_cdr_ob_detail_5097 >> t01_ccc_ob_record
|
||||
t01_ccc_ib_record >> cust_call_ccc_record
|
||||
t01_ccc_ob_record >> cust_call_ccc_record
|
||||
cust_call_ccc_record >> task_failed
|
||||
cust_call_ccc_record >> cust_call_record_info
|
||||
cust_call_record_info >> task_failed
|
||||
|
|
Loading…
Reference in New Issue