add workflow 泰克客户,dev

This commit is contained in:
root 2024-04-29 11:27:48 +08:00
parent 567ee8cdc1
commit b77775c4b5
2 changed files with 237 additions and 0 deletions

View File

@ -0,0 +1,26 @@
DROP TABLE IF EXISTS p30_common.d_udesk_contact;
CREATE TABLE IF NOT EXISTS p30_common.d_udesk_contact (
udesk_contact VARCHAR(50)
, full_name VARCHAR(20)
, mobile_phone VARCHAR(20)
, prov_name text
, city_name text
, company_name VARCHAR(20)
, responsible_group VARCHAR(20)
, blacklist VARCHAR(20)
, inquiry_content text
,primary key( udesk_contact )
);
COMMENT ON COLUMN p30_common.d_udesk_contact.udesk_contact IS 'Udesk编号';
COMMENT ON COLUMN p30_common.d_udesk_contact.full_name IS '姓名';
COMMENT ON COLUMN p30_common.d_udesk_contact.mobile_phone IS '手机号';
COMMENT ON COLUMN p30_common.d_udesk_contact.prov_name IS '省份';
COMMENT ON COLUMN p30_common.d_udesk_contact.city_name IS '城市';
COMMENT ON COLUMN p30_common.d_udesk_contact.company_name IS '公司';
COMMENT ON COLUMN p30_common.d_udesk_contact.responsible_group IS '责任组';
COMMENT ON COLUMN p30_common.d_udesk_contact.blacklist IS '黑名单';
COMMENT ON COLUMN p30_common.d_udesk_contact.inquiry_content IS '资讯信息';
COMMENT ON TABLE p30_common.d_udesk_contact IS 'Udesk联系信息';

View File

@ -0,0 +1,211 @@
/***************************************************************************************************/
/*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 :d_udesk_contact(Udesk联系信息) */
/*Create Date:2024-04-29 11:26:48 */
/*SDM Developed By: dev */
/*SDM Developed Date: 2024-04-29 */
/*SDM Checked By: dev */
/*SDM Checked Date: 2024-04-29 */
/*Script Developed By: dev */
/*Script Checked By: dev */
/*Source table 1: .t01_udesk_record */
/*Job Type: Inbound transform (Tier 1 to Tier 2) */
/*Target Table:d_udesk_contact */
/*ETL Job Name:d_udesk_contact */
/*ETL Frequency:Daily */
/*ETL Policy:F2 */
/********************************************************************************************/
/*******Main Section**************************************************************************/
\set ON_ERROR_STOP on
\set AUTOCOMMIT on
\timing on
/*创建临时表加载当前数据 */
CREATE TEMPORARY TABLE d_udesk_contact_agi_CUR_I
( LIKE :COMMDB.d_udesk_contact)
ON COMMIT PRESERVE ROWS;
/*创建临时表加载不同数据 */
CREATE TEMPORARY TABLE d_udesk_contact_agi_INS
( LIKE :COMMDB.d_udesk_contact)
ON COMMIT PRESERVE ROWS;
/*****************************************************************************************************/
/* GROUP 1:Source Table:t01_udesk_record**************************************************************/
/*****************************************************************************************************/
INSERT INTO d_udesk_contact_agi_CUR_I (
udesk_contact /*Udesk编号*/
,full_name /*姓名*/
,mobile_phone /*手机号*/
,prov_name /*省份*/
,city_name /*城市*/
,company_name /*公司*/
,responsible_group /*责任组*/
,blacklist /*黑名单*/
,inquiry_content /*资讯信息*/
,etl_batch_no /*作业批次号*/
,etl_first_dt /*最初入库时间*/
,etl_job /*作业名称*/
,etl_proc_dt /*本次入库时间*/
,etl_tx_dt /*作业运行时间*/
,src_sysname /*来源系统*/
,src_table /*来源表*/
)
SELECT
COALESCE(TRIM(p0.call_id),'') /*udesk_contact*/
,COALESCE(TRIM(p0.cust),'') /*full_name*/
,COALESCE(TRIM(p0.mobile_phone),'') /*mobile_phone*/
,split_part(p0.call_origin_location,' ',1) /*prov_name*/
,split_part(p0.call_origin_location,' ',2) /*city_name*/
,COALESCE(TRIM(p0.company_name),'') /*company_name*/
,COALESCE(TRIM(p0.responsible_group),'') /*responsible_group*/
,COALESCE(TRIM(p0.blacklist),'') /*blacklist*/
,COALESCE(TRIM(p0.inquiry_content),'') /*inquiry_content*/
,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 (select distinct on (call_id) * from :PDMDB.t01_udesk_contact) p0
;
/*将不同数据插入到临时表 */
;INSERT INTO d_udesk_contact_agi_INS (
full_name /*姓名*/
,mobile_phone /*手机号*/
,prov_name /*省份*/
,city_name /*城市*/
,company_name /*公司*/
,responsible_group /*责任组*/
,blacklist /*黑名单*/
,inquiry_content /*资讯信息*/
,udesk_contact /*Udesk编号*/
,etl_batch_no /*作业批次号*/
,etl_first_dt /*最初入库时间*/
,etl_job /*作业名称*/
,etl_proc_dt /*本次入库时间*/
,etl_tx_dt /*作业运行时间*/
,src_sysname /*来源系统*/
,src_table /*来源表*/
)
SELECT
P1.full_name /*姓名*/
,P1.mobile_phone /*手机号*/
,P1.prov_name /*省份*/
,P1.city_name /*城市*/
,P1.company_name /*公司*/
,P1.responsible_group /*责任组*/
,P1.blacklist /*黑名单*/
,P1.inquiry_content /*资讯信息*/
,P1.udesk_contact /*Udesk编号*/
,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 d_udesk_contact_agi_CUR_I P1
LEFT JOIN :COMMDB.d_udesk_contact P2
ON P1.full_name = P2.full_name
AND P1.mobile_phone = P2.mobile_phone
AND P1.prov_name = P2.prov_name
AND P1.city_name = P2.city_name
AND P1.company_name = P2.company_name
AND P1.responsible_group = P2.responsible_group
AND P1.blacklist = P2.blacklist
AND P1.inquiry_content = P2.inquiry_content
AND P1.udesk_contact = P2.udesk_contact
WHERE P2.full_name IS NULL
OR P2.mobile_phone IS NULL
OR P2.prov_name IS NULL
OR P2.city_name IS NULL
OR P2.company_name IS NULL
OR P2.responsible_group IS NULL
OR P2.blacklist IS NULL
OR P2.inquiry_content IS NULL
OR P2.udesk_contact IS NULL
;
/*将新增数据插入到目标表 */
;INSERT INTO :COMMDB.d_udesk_contact (
full_name /*姓名*/
,mobile_phone /*手机号*/
,prov_name /*省份*/
,city_name /*城市*/
,company_name /*公司*/
,responsible_group /*责任组*/
,blacklist /*黑名单*/
,inquiry_content /*资讯信息*/
,udesk_contact /*Udesk编号*/
,etl_batch_no /*作业批次号*/
,etl_first_dt /*最初入库时间*/
,etl_job /*作业名称*/
,etl_proc_dt /*本次入库时间*/
,etl_tx_dt /*作业运行时间*/
,src_sysname /*来源系统*/
,src_table /*来源表*/
)
SELECT
P1.full_name /*姓名*/
,P1.mobile_phone /*手机号*/
,P1.prov_name /*省份*/
,P1.city_name /*城市*/
,P1.company_name /*公司*/
,P1.responsible_group /*责任组*/
,P1.blacklist /*黑名单*/
,P1.inquiry_content /*资讯信息*/
,P1.udesk_contact /*Udesk编号*/
,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 d_udesk_contact_agi_INS P1
ON CONFLICT ( udesk_contact)
DO UPDATE SET
udesk_contact=excluded.udesk_contact
,full_name=excluded.full_name
,mobile_phone=excluded.mobile_phone
,prov_name=excluded.prov_name
,city_name=excluded.city_name
,company_name=excluded.company_name
,responsible_group=excluded.responsible_group
,blacklist=excluded.blacklist
,inquiry_content=excluded.inquiry_content
,etl_batch_no=excluded.etl_batch_no
,etl_first_dt=excluded.etl_first_dt
,etl_job=excluded.etl_job
,etl_proc_dt=excluded.etl_proc_dt
,etl_tx_dt=excluded.etl_tx_dt
,src_sysname=excluded.src_sysname
,src_table=excluded.src_table
;
/*****程序结束退出 */
\q