diff --git a/dev/workflow/TK_Cust/tk_crm/客户联系方式映射/cust_contact_mapping.sql b/dev/workflow/TK_Cust/tk_crm/客户联系方式映射/cust_contact_mapping.sql index 6c1c80a..27e040f 100644 --- a/dev/workflow/TK_Cust/tk_crm/客户联系方式映射/cust_contact_mapping.sql +++ b/dev/workflow/TK_Cust/tk_crm/客户联系方式映射/cust_contact_mapping.sql @@ -14,7 +14,9 @@ CREATE TABLE IF NOT EXISTS p30_common.cust_contact_mapping ( , etl_first_dt timestamp(0) , etl_proc_dt timestamp(0) , etl_tx_dt DATE - , etl_batch_no VARCHAR(50) + , etl_batch_no VARCHAR(50) + , jdy_contact VARCHAR(50) + , partner_contact VARCHAR(50) ,primary key( contact_id ) ); @@ -32,5 +34,7 @@ CREATE TABLE IF NOT EXISTS p30_common.cust_contact_mapping ( COMMENT ON COLUMN p30_common.cust_contact_mapping.etl_proc_dt IS '本次入库时间'; COMMENT ON COLUMN p30_common.cust_contact_mapping.etl_tx_dt IS '作业运行时间'; COMMENT ON COLUMN p30_common.cust_contact_mapping.etl_batch_no IS '作业批次号'; + COMMENT ON COLUMN p30_common.cust_contact_mapping.jdy_contact IS '简道云客户信息'; + COMMENT ON COLUMN p30_common.cust_contact_mapping.partner_contact IS 'partner客户信息'; COMMENT ON TABLE p30_common.cust_contact_mapping IS '客户联系方式映射'; \ No newline at end of file diff --git a/dev/workflow/TK_Cust/tk_crm/客户联系方式映射/cust_contact_mapping_agi.sql b/dev/workflow/TK_Cust/tk_crm/客户联系方式映射/cust_contact_mapping_agi.sql index 8ec0963..12bf82d 100644 --- a/dev/workflow/TK_Cust/tk_crm/客户联系方式映射/cust_contact_mapping_agi.sql +++ b/dev/workflow/TK_Cust/tk_crm/客户联系方式映射/cust_contact_mapping_agi.sql @@ -1,14 +1,14 @@ /***************************************************************************************************/ -/*script in Sql, generate by SdmCreateScript 2020(by Qihang Feng, QF255001@TERADATA.COM) */ +/*script in Sql, generate by SdmCreateScript 2024(by IdgValue, qihang.feng@idgvalue.COM) */ /*VERSION 01.10 revised on 2020-08-25 */ /*Brilliance stems from wisdoms. */ /*************Head Section**************************************************************************/ /*Script Use: Periodically load data to :cust_contact_mapping(客户联系方式映射) */ -/*Create Date:2024-10-25 15:45:54 */ +/*Create Date:2025-10-17 14:12:47 */ /*SDM Developed By: dev */ /*SDM Developed Date: 2024-01-19 */ /*SDM Checked By: dev */ -/*SDM Checked Date: 2024-10-25 */ +/*SDM Checked Date: 2025-10-17 */ /*Script Developed By: dev */ /*Script Checked By: dev */ /*Source table 1: p30_common.d_scrm_contact */ @@ -31,7 +31,7 @@ CREATE TEMPORARY TABLE cust_contact_mapping_agi_CUR_I ( LIKE :COMMDB.cust_contact_mapping) ON COMMIT PRESERVE ROWS; - + /*****************************************************************************************************/ /* GROUP 1:Source Table:d_scrm_contact****************************************************************/ /*****************************************************************************************************/ @@ -51,6 +51,8 @@ INSERT INTO cust_contact_mapping_agi_CUR_I ( ,etl_proc_dt /*本次入库时间*/ ,etl_tx_dt /*作业运行时间*/ ,etl_batch_no /*作业批次号*/ + ,jdy_contact /*简道云客户信息*/ + ,partner_contact /*partner客户信息*/ ) SELECT coalesce(p1.contact_id,'LCON-'||lpad(nextval('p20_pdm.user_id_seq')::text,10,'0')) /*contact_id*/ @@ -67,6 +69,8 @@ SELECT ,current_timestamp(0) /*etl_proc_dt*/ ,TO_DATE(:TXDATE,'YYYYMMDD') /*etl_tx_dt*/ ,0 /*etl_batch_no*/ + ,p0.jdy_contact /*jdy_contact*/ + ,p0.Partner_contact /*partner_contact*/ FROM (select '' contact_id,user_id ,string_agg(case when src_channel='CRM' then crm_contact_account else '' end,',') crm_contact @@ -74,6 +78,8 @@ FROM (select '' contact_id,user_id ,string_agg(case when src_channel='Livechat' then crm_contact_account else '' end,',') livechat_contact ,string_agg(case when src_channel='Udesk' then crm_contact_account else '' end,',') udesk_contact ,string_agg(case when src_channel='SMART CCC' then crm_contact_account else '' end,',') ccc_contact +,string_agg(case when src_channel='JDY' then crm_contact_account else '' end,',') jdy_contact +,string_agg(case when src_channel='Partner' then crm_contact_account else '' end,',') Partner_contact from ( select case when tel ~ '^1[3-9]\d{9}$' then tel when email ~ '[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$' then email @@ -98,7 +104,18 @@ select case when mobile_phone ~ '^1[3-9]\d{9}$' then mobile_phone union all select case when mobile_phone ~ '^1[3-9]\d{9}$' then mobile_phone else full_name - end user_id,udesk_contact,'Udesk' from p30_common.d_udesk_contact)p1 + end user_id,udesk_contact,'Udesk' from p30_common.d_udesk_contact +union all +select case when phone ~ '^1[3-9]\d{9}$' then phone + when email ~ '[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$' then email + else contact_name + end user_id,contact_id::text partner_contact_account,'Partner' src_channel from p30_common.d_partner_contact +union all +select case when phone ~ '^1[3-9]\d{9}$' then phone + when email ~ '[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$' then email + else contact_name + end user_id,jdy_contact_id jdy_contact_account,'JDY' from p30_common.d_jdy_contact_info +where dw_contact_id not like 'LCON-%')p1 where p1.user_id<>'' group by user_id) p0 LEFT JOIN :COMMDB.cust_contact_mapping p1 @@ -108,7 +125,13 @@ LEFT JOIN :COMMDB.cust_contact_mapping p1 ; - +update cust_contact_mapping_agi_CUR_I +set jdy_contact = jdy_contact_id +from (select ccm.contact_id,string_agg(ccm.partner_contact,',')||','||string_agg(jdy_contact_id,',') jdy_contact_id from p30_common.cust_contact_mapping ccm +inner join p30_common.d_jdy_contact_info p2 +on ccm.contact_id =p2.dw_contact_id +group by ccm.contact_id) p1 +where cust_contact_mapping.contact_id=p1.contact_id /*从目标表中删除所有数据 cust_contact_mapping(客户联系方式映射) */ DELETE FROM :COMMDB.cust_contact_mapping WHERE ETL_JOB=:ETLJOB; @@ -122,6 +145,8 @@ WHERE ETL_JOB=:ETLJOB; ,livechat_contact /*Livechat客户信息*/ ,udesk_contact /*Udesk客户信息*/ ,ccc_contact /*ccc客户信息*/ + ,jdy_contact /*简道云客户信息*/ + ,partner_contact /*partner客户信息*/ ,contact_id /*联系编号*/ ,src_sysname /*来源系统*/ ,src_table /*来源表*/ @@ -139,6 +164,8 @@ WHERE ETL_JOB=:ETLJOB; ,P1.livechat_contact /*Livechat客户信息*/ ,P1.udesk_contact /*Udesk客户信息*/ ,P1.ccc_contact /*ccc客户信息*/ + ,P1.jdy_contact /*简道云客户信息*/ + ,P1.partner_contact /*partner客户信息*/ ,P1.contact_id /*联系编号*/ ,P1.src_sysname /*来源系统*/ ,P1.src_table /*来源表*/