From 4c276799ada4b947a3afb22cacde2c00f068b2dd Mon Sep 17 00:00:00 2001 From: root Date: Wed, 21 Feb 2024 19:44:14 +0800 Subject: [PATCH] =?UTF-8?q?add=20workflow=20=E6=B3=B0=E5=85=8B=E5=AE=A2?= =?UTF-8?q?=E6=88=B7,dev?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tk_cust/CRM原始线索/t01_crm_raw_leads.sql | 44 ++ .../CRM原始线索/t01_crm_raw_leads_agi.sql | 226 ++++++ .../dev/tk_cust/CRM联系方式/d_crm_contact.sql | 138 ++++ .../tk_cust/CRM联系方式/d_crm_contact_agi.sql | 652 ++++++++++++++++++ .../dev/tk_cust/SCRM线索/t01_scrm_leads.sql | 46 ++ .../tk_cust/SCRM线索/t01_scrm_leads_agi.sql | 238 +++++++ .../SCRM线索历史/t01_scrm_leads_his.sql | 30 + .../SCRM线索历史/t01_scrm_leads_his_agi.sql | 166 +++++ .../tk_cust/SCRM联系方式/T01_SCRM_CONTACT.sql | 42 ++ .../SCRM联系方式/T01_SCRM_CONTACT_agi.sql | 220 ++++++ .../SCRM联系方式历史/t01_scrm_contact_his.sql | 54 ++ .../t01_scrm_contact_his_agi.sql | 271 ++++++++ .../t01_scrm_contact_update.sql | 42 ++ .../t01_scrm_contact_update_agi.sql | 220 ++++++ .../t01_scrm_contact_merge.sql | 52 ++ .../t01_scrm_contact_merge_agi.sql | 265 +++++++ .../tk_cust/Udesk记录/t01_udesk_record.sql | 48 ++ .../Udesk记录/t01_udesk_record_agi.sql | 258 +++++++ .../tk_cust/china_city/S98_S_china_city.sql | 58 ++ .../tk_cust/china_city/sa_foreign_tables.sql | 21 + TK_Cust/dev/tk_cust/china_city/sa_tables.sql | 55 ++ .../tk_cust/country_cde/S98_S_country_cde.sql | 50 ++ .../tk_cust/country_cde/sa_foreign_tables.sql | 19 + TK_Cust/dev/tk_cust/country_cde/sa_tables.sql | 47 ++ .../crm_raw_leads/S98_S_crm_raw_leads.sql | 66 ++ .../crm_raw_leads/sa_foreign_tables.sql | 23 + .../dev/tk_cust/crm_raw_leads/sa_tables.sql | 63 ++ .../dev/tk_cust/livechat/S98_S_livechat.sql | 410 +++++++++++ .../tk_cust/livechat/sa_foreign_tables.sql | 109 +++ TK_Cust/dev/tk_cust/livechat/sa_tables.sql | 407 +++++++++++ .../S98_S_scrm_contact_af0912.sql | 62 ++ .../scrm_contact_af0912/sa_foreign_tables.sql | 22 + .../tk_cust/scrm_contact_af0912/sa_tables.sql | 59 ++ .../S98_S_scrm_contact_bf0912.sql | 86 +++ .../scrm_contact_bf0912/sa_foreign_tables.sql | 28 + .../tk_cust/scrm_contact_bf0912/sa_tables.sql | 83 +++ .../S98_S_scrm_contact_merge_af0912.sql | 82 +++ .../sa_foreign_tables.sql | 27 + .../scrm_contact_merge_af0912/sa_tables.sql | 79 +++ .../S98_S_scrm_contact_update_af0912.sql | 62 ++ .../sa_foreign_tables.sql | 22 + .../scrm_contact_update_af0912/sa_tables.sql | 59 ++ .../S98_S_scrm_leads_af0912.sql | 70 ++ .../scrm_leads_af0912/sa_foreign_tables.sql | 24 + .../tk_cust/scrm_leads_af0912/sa_tables.sql | 67 ++ .../S98_S_scrm_leads_bf0912.sql | 38 + .../scrm_leads_bf0912/sa_foreign_tables.sql | 16 + .../tk_cust/scrm_leads_bf0912/sa_tables.sql | 35 + .../udesk_record/S98_S_udesk_record.sql | 102 +++ .../udesk_record/sa_foreign_tables.sql | 32 + .../dev/tk_cust/udesk_record/sa_tables.sql | 99 +++ .../中国城市信息/t00_china_city_info.sql | 40 ++ .../中国城市信息/t00_china_city_info_agi.sql | 211 ++++++ .../即时聊天记录/t01_livechat_record.sql | 216 ++++++ .../dev/tk_cust/国家信息/t00_country_info.sql | 36 + .../tk_cust/国家信息/t00_country_info_agi.sql | 190 +++++ .../dev/tk_cust/泰克客户/wf_dag_tk_cust.py | 370 ++++++++++ 57 files changed, 6557 insertions(+) create mode 100644 TK_Cust/dev/tk_cust/CRM原始线索/t01_crm_raw_leads.sql create mode 100644 TK_Cust/dev/tk_cust/CRM原始线索/t01_crm_raw_leads_agi.sql create mode 100644 TK_Cust/dev/tk_cust/CRM联系方式/d_crm_contact.sql create mode 100644 TK_Cust/dev/tk_cust/CRM联系方式/d_crm_contact_agi.sql create mode 100644 TK_Cust/dev/tk_cust/SCRM线索/t01_scrm_leads.sql create mode 100644 TK_Cust/dev/tk_cust/SCRM线索/t01_scrm_leads_agi.sql create mode 100644 TK_Cust/dev/tk_cust/SCRM线索历史/t01_scrm_leads_his.sql create mode 100644 TK_Cust/dev/tk_cust/SCRM线索历史/t01_scrm_leads_his_agi.sql create mode 100644 TK_Cust/dev/tk_cust/SCRM联系方式/T01_SCRM_CONTACT.sql create mode 100644 TK_Cust/dev/tk_cust/SCRM联系方式/T01_SCRM_CONTACT_agi.sql create mode 100644 TK_Cust/dev/tk_cust/SCRM联系方式历史/t01_scrm_contact_his.sql create mode 100644 TK_Cust/dev/tk_cust/SCRM联系方式历史/t01_scrm_contact_his_agi.sql create mode 100644 TK_Cust/dev/tk_cust/SCRM联系方式变更/t01_scrm_contact_update.sql create mode 100644 TK_Cust/dev/tk_cust/SCRM联系方式变更/t01_scrm_contact_update_agi.sql create mode 100644 TK_Cust/dev/tk_cust/SCRM联系方式合并/t01_scrm_contact_merge.sql create mode 100644 TK_Cust/dev/tk_cust/SCRM联系方式合并/t01_scrm_contact_merge_agi.sql create mode 100644 TK_Cust/dev/tk_cust/Udesk记录/t01_udesk_record.sql create mode 100644 TK_Cust/dev/tk_cust/Udesk记录/t01_udesk_record_agi.sql create mode 100644 TK_Cust/dev/tk_cust/china_city/S98_S_china_city.sql create mode 100644 TK_Cust/dev/tk_cust/china_city/sa_foreign_tables.sql create mode 100644 TK_Cust/dev/tk_cust/china_city/sa_tables.sql create mode 100644 TK_Cust/dev/tk_cust/country_cde/S98_S_country_cde.sql create mode 100644 TK_Cust/dev/tk_cust/country_cde/sa_foreign_tables.sql create mode 100644 TK_Cust/dev/tk_cust/country_cde/sa_tables.sql create mode 100644 TK_Cust/dev/tk_cust/crm_raw_leads/S98_S_crm_raw_leads.sql create mode 100644 TK_Cust/dev/tk_cust/crm_raw_leads/sa_foreign_tables.sql create mode 100644 TK_Cust/dev/tk_cust/crm_raw_leads/sa_tables.sql create mode 100644 TK_Cust/dev/tk_cust/livechat/S98_S_livechat.sql create mode 100644 TK_Cust/dev/tk_cust/livechat/sa_foreign_tables.sql create mode 100644 TK_Cust/dev/tk_cust/livechat/sa_tables.sql create mode 100644 TK_Cust/dev/tk_cust/scrm_contact_af0912/S98_S_scrm_contact_af0912.sql create mode 100644 TK_Cust/dev/tk_cust/scrm_contact_af0912/sa_foreign_tables.sql create mode 100644 TK_Cust/dev/tk_cust/scrm_contact_af0912/sa_tables.sql create mode 100644 TK_Cust/dev/tk_cust/scrm_contact_bf0912/S98_S_scrm_contact_bf0912.sql create mode 100644 TK_Cust/dev/tk_cust/scrm_contact_bf0912/sa_foreign_tables.sql create mode 100644 TK_Cust/dev/tk_cust/scrm_contact_bf0912/sa_tables.sql create mode 100644 TK_Cust/dev/tk_cust/scrm_contact_merge_af0912/S98_S_scrm_contact_merge_af0912.sql create mode 100644 TK_Cust/dev/tk_cust/scrm_contact_merge_af0912/sa_foreign_tables.sql create mode 100644 TK_Cust/dev/tk_cust/scrm_contact_merge_af0912/sa_tables.sql create mode 100644 TK_Cust/dev/tk_cust/scrm_contact_update_af0912/S98_S_scrm_contact_update_af0912.sql create mode 100644 TK_Cust/dev/tk_cust/scrm_contact_update_af0912/sa_foreign_tables.sql create mode 100644 TK_Cust/dev/tk_cust/scrm_contact_update_af0912/sa_tables.sql create mode 100644 TK_Cust/dev/tk_cust/scrm_leads_af0912/S98_S_scrm_leads_af0912.sql create mode 100644 TK_Cust/dev/tk_cust/scrm_leads_af0912/sa_foreign_tables.sql create mode 100644 TK_Cust/dev/tk_cust/scrm_leads_af0912/sa_tables.sql create mode 100644 TK_Cust/dev/tk_cust/scrm_leads_bf0912/S98_S_scrm_leads_bf0912.sql create mode 100644 TK_Cust/dev/tk_cust/scrm_leads_bf0912/sa_foreign_tables.sql create mode 100644 TK_Cust/dev/tk_cust/scrm_leads_bf0912/sa_tables.sql create mode 100644 TK_Cust/dev/tk_cust/udesk_record/S98_S_udesk_record.sql create mode 100644 TK_Cust/dev/tk_cust/udesk_record/sa_foreign_tables.sql create mode 100644 TK_Cust/dev/tk_cust/udesk_record/sa_tables.sql create mode 100644 TK_Cust/dev/tk_cust/中国城市信息/t00_china_city_info.sql create mode 100644 TK_Cust/dev/tk_cust/中国城市信息/t00_china_city_info_agi.sql create mode 100644 TK_Cust/dev/tk_cust/即时聊天记录/t01_livechat_record.sql create mode 100644 TK_Cust/dev/tk_cust/国家信息/t00_country_info.sql create mode 100644 TK_Cust/dev/tk_cust/国家信息/t00_country_info_agi.sql create mode 100644 TK_Cust/dev/tk_cust/泰克客户/wf_dag_tk_cust.py diff --git a/TK_Cust/dev/tk_cust/CRM原始线索/t01_crm_raw_leads.sql b/TK_Cust/dev/tk_cust/CRM原始线索/t01_crm_raw_leads.sql new file mode 100644 index 0000000..42008ff --- /dev/null +++ b/TK_Cust/dev/tk_cust/CRM原始线索/t01_crm_raw_leads.sql @@ -0,0 +1,44 @@ + +DROP TABLE IF EXISTS p20_pdm.t01_crm_raw_leads; +CREATE TABLE IF NOT EXISTS p20_pdm.t01_crm_raw_leads ( + crm_contact_account varchar(20) + , lead_number varchar(20) + , name varchar(50) + , create_time varchar(20) + , company_name varchar(50) + , email varchar(50) + , mobile_phone varchar(20) + , mql_time varchar(20) + , campaign_name varchar(50) + , industry varchar(20) + , market_type varchar(20) + , Etl_Batch_No varchar(50) + , Etl_First_Dt timestamp(0) + , Etl_Job varchar(50) + , Etl_Proc_Dt timestamp(0) + , Etl_Tx_Dt timestamp(0) + , Src_Sysname varchar(50) + , Src_Table varchar(50) + ,primary key( crm_contact_account,lead_number ) +); + + COMMENT ON COLUMN p20_pdm.t01_crm_raw_leads.crm_contact_account IS 'CRM_CONTACT账号'; + COMMENT ON COLUMN p20_pdm.t01_crm_raw_leads.lead_number IS 'lead_number'; + COMMENT ON COLUMN p20_pdm.t01_crm_raw_leads.name IS '姓名'; + COMMENT ON COLUMN p20_pdm.t01_crm_raw_leads.create_time IS '创建时间'; + COMMENT ON COLUMN p20_pdm.t01_crm_raw_leads.company_name IS '公司名称'; + COMMENT ON COLUMN p20_pdm.t01_crm_raw_leads.email IS '电子邮箱'; + COMMENT ON COLUMN p20_pdm.t01_crm_raw_leads.mobile_phone IS '手机号'; + COMMENT ON COLUMN p20_pdm.t01_crm_raw_leads.mql_time IS 'mql时间'; + COMMENT ON COLUMN p20_pdm.t01_crm_raw_leads.campaign_name IS '活动名称'; + COMMENT ON COLUMN p20_pdm.t01_crm_raw_leads.industry IS '行业'; + COMMENT ON COLUMN p20_pdm.t01_crm_raw_leads.market_type IS '市场类型'; + COMMENT ON COLUMN p20_pdm.t01_crm_raw_leads.Etl_Batch_No IS '作业批次号'; + COMMENT ON COLUMN p20_pdm.t01_crm_raw_leads.Etl_First_Dt IS '最初入库时间'; + COMMENT ON COLUMN p20_pdm.t01_crm_raw_leads.Etl_Job IS '作业名称'; + COMMENT ON COLUMN p20_pdm.t01_crm_raw_leads.Etl_Proc_Dt IS '本次入库时间'; + COMMENT ON COLUMN p20_pdm.t01_crm_raw_leads.Etl_Tx_Dt IS '作业运行时间'; + COMMENT ON COLUMN p20_pdm.t01_crm_raw_leads.Src_Sysname IS '来源系统'; + COMMENT ON COLUMN p20_pdm.t01_crm_raw_leads.Src_Table IS '来源表'; + +COMMENT ON TABLE p20_pdm.t01_crm_raw_leads IS 'CRM原始线索'; \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/CRM原始线索/t01_crm_raw_leads_agi.sql b/TK_Cust/dev/tk_cust/CRM原始线索/t01_crm_raw_leads_agi.sql new file mode 100644 index 0000000..7d8c2b2 --- /dev/null +++ b/TK_Cust/dev/tk_cust/CRM原始线索/t01_crm_raw_leads_agi.sql @@ -0,0 +1,226 @@ +/***************************************************************************************************/ +/*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 :t01_crm_raw_leads(CRM原始线索) */ +/*Create Date:2024-02-21 19:43:42 */ +/*SDM Developed By: dev */ +/*SDM Developed Date: 2024-01-12 */ +/*SDM Checked By: dev */ +/*SDM Checked Date: 2024-02-21 */ +/*Script Developed By: dev */ +/*Script Checked By: dev */ +/*Source table 1: p10_sa.s98_s_crm_raw_leads */ +/*Job Type: Inbound transform (Tier 1 to Tier 2) */ +/*Target Table:t01_crm_raw_leads */ +/*ETL Job Name:t01_crm_raw_leads */ +/*ETL Frequency:Daily */ +/*ETL Policy:F2 */ +/********************************************************************************************/ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on + + + +/*创建临时表加载当前数据 */ +CREATE TEMPORARY TABLE t01_crm_raw_leads_agi_CUR_I + ( LIKE :PDMDB.t01_crm_raw_leads) +ON COMMIT PRESERVE ROWS; + + + +/*创建临时表加载不同数据 */ +CREATE TEMPORARY TABLE t01_crm_raw_leads_agi_INS +( LIKE :PDMDB.t01_crm_raw_leads) +ON COMMIT PRESERVE ROWS; + + +/*****************************************************************************************************/ +/* GROUP 1:Source Table:s98_s_crm_raw_leads***********************************************************/ +/*****************************************************************************************************/ +INSERT INTO t01_crm_raw_leads_agi_CUR_I ( + crm_contact_account /*CRM_CONTACT账号*/ + ,lead_number /*lead_number*/ + ,name /*姓名*/ + ,create_time /*创建时间*/ + ,company_name /*公司名称*/ + ,email /*电子邮箱*/ + ,mobile_phone /*手机号*/ + ,mql_time /*mql时间*/ + ,campaign_name /*活动名称*/ + ,industry /*行业*/ + ,market_type /*市场类型*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + ) +SELECT + COALESCE(TRIM(CAST(p0.tek_contactnumber AS varchar(20))),'') /*crm_contact_account*/ + ,COALESCE(TRIM(CAST(p0.tek_leadnumber AS varchar(20))),'') /*lead_number*/ + ,COALESCE(TRIM(CAST(p0.fullname AS varchar(50))),'') /*name*/ + ,COALESCE(TO_TIMESTAMP(CAST(p0.createdon AS VARCHAR(19)),'YYYY-MM-DD HH24:mi:ss'),TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*create_time*/ + ,COALESCE(TRIM(CAST(p0.companyname AS varchar(50))),'') /*company_name*/ + ,COALESCE(TRIM(CAST(p0.emailaddress1 AS varchar(50))),'') /*email*/ + ,COALESCE(TRIM(CAST(p0.mobilephone AS varchar(20))),'') /*mobile_phone*/ + ,COALESCE(TRIM(CAST(p0.tek_mqldate AS varchar(20))),'') /*mql_time*/ + ,COALESCE(TRIM(CAST(p0.campaignidname AS varchar(50))),'') /*campaign_name*/ + ,COALESCE(TRIM(CAST(p0.tek_industry2idname AS varchar(20))),'') /*industry*/ + ,COALESCE(TRIM(CAST(p0.tek_marketing_program_type_idname AS varchar(20))),'') /*market_type*/ + ,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('s98_s_crm_raw_leads',1,3) /*Src_Sysname*/ + ,'s98_s_crm_raw_leads' /*Src_Table*/ + +FROM p10_sa.s98_s_crm_raw_leads p0 +; + + + +/*将不同数据插入到临时表 */ +;INSERT INTO t01_crm_raw_leads_agi_INS ( + name /*姓名*/ + ,create_time /*创建时间*/ + ,company_name /*公司名称*/ + ,email /*电子邮箱*/ + ,mobile_phone /*手机号*/ + ,mql_time /*mql时间*/ + ,campaign_name /*活动名称*/ + ,industry /*行业*/ + ,market_type /*市场类型*/ + ,crm_contact_account /*CRM_CONTACT账号*/ + ,lead_number /*lead_number*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) + SELECT + P1.name /*姓名*/ + ,P1.create_time /*创建时间*/ + ,P1.company_name /*公司名称*/ + ,P1.email /*电子邮箱*/ + ,P1.mobile_phone /*手机号*/ + ,P1.mql_time /*mql时间*/ + ,P1.campaign_name /*活动名称*/ + ,P1.industry /*行业*/ + ,P1.market_type /*市场类型*/ + ,P1.crm_contact_account /*CRM_CONTACT账号*/ + ,P1.lead_number /*lead_number*/ + ,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 t01_crm_raw_leads_agi_CUR_I P1 +LEFT JOIN :PDMDB.t01_crm_raw_leads P2 +ON P1.name = P2.name + AND P1.create_time = P2.create_time + AND P1.company_name = P2.company_name + AND P1.email = P2.email + AND P1.mobile_phone = P2.mobile_phone + AND P1.mql_time = P2.mql_time + AND P1.campaign_name = P2.campaign_name + AND P1.industry = P2.industry + AND P1.market_type = P2.market_type + AND P1.crm_contact_account = P2.crm_contact_account + AND P1.lead_number = P2.lead_number + +WHERE P2.name IS NULL + OR P2.create_time IS NULL + OR P2.company_name IS NULL + OR P2.email IS NULL + OR P2.mobile_phone IS NULL + OR P2.mql_time IS NULL + OR P2.campaign_name IS NULL + OR P2.industry IS NULL + OR P2.market_type IS NULL + OR P2.crm_contact_account IS NULL + OR P2.lead_number IS NULL + +; +/*将新增数据插入到目标表 */ +;INSERT INTO :PDMDB.t01_crm_raw_leads ( + name /*姓名*/ + ,create_time /*创建时间*/ + ,company_name /*公司名称*/ + ,email /*电子邮箱*/ + ,mobile_phone /*手机号*/ + ,mql_time /*mql时间*/ + ,campaign_name /*活动名称*/ + ,industry /*行业*/ + ,market_type /*市场类型*/ + ,crm_contact_account /*CRM_CONTACT账号*/ + ,lead_number /*lead_number*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) +SELECT + P1.name /*姓名*/ + ,P1.create_time /*创建时间*/ + ,P1.company_name /*公司名称*/ + ,P1.email /*电子邮箱*/ + ,P1.mobile_phone /*手机号*/ + ,P1.mql_time /*mql时间*/ + ,P1.campaign_name /*活动名称*/ + ,P1.industry /*行业*/ + ,P1.market_type /*市场类型*/ + ,P1.crm_contact_account /*CRM_CONTACT账号*/ + ,P1.lead_number /*lead_number*/ + ,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 t01_crm_raw_leads_agi_INS P1 +ON CONFLICT ( crm_contact_account,lead_number) +DO UPDATE SET + crm_contact_account=excluded.crm_contact_account + ,lead_number=excluded.lead_number + ,name=excluded.name + ,create_time=excluded.create_time + ,company_name=excluded.company_name + ,email=excluded.email + ,mobile_phone=excluded.mobile_phone + ,mql_time=excluded.mql_time + ,campaign_name=excluded.campaign_name + ,industry=excluded.industry + ,market_type=excluded.market_type + ,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 + diff --git a/TK_Cust/dev/tk_cust/CRM联系方式/d_crm_contact.sql b/TK_Cust/dev/tk_cust/CRM联系方式/d_crm_contact.sql new file mode 100644 index 0000000..db634e1 --- /dev/null +++ b/TK_Cust/dev/tk_cust/CRM联系方式/d_crm_contact.sql @@ -0,0 +1,138 @@ + +DROP TABLE IF EXISTS p30_common.d_crm_contact; +CREATE TABLE IF NOT EXISTS p30_common.d_crm_contact ( + crm_contact_account VARCHAR(20) + , company_name VARCHAR(50) + , account_name VARCHAR(50) + , owner_id VARCHAR(30) + , full_name VARCHAR(50) + , mobile_phone VARCHAR(20) + , mobile_phone_data_ind char(1) + , mobile_phone_availabilty char(1) + , email VARCHAR(50) + , email_data_ind char(1) + , eamil_availabilty char(1) + , cust_dept VARCHAR(50) + , cust_title VARCHAR(50) + , job_function VARCHAR(50) + , suffix_info VARCHAR(50) + , address_detail VARCHAR(50) + , city_name VARCHAR(20) + , prov_name VARCHAR(20) + , post_cd VARCHAR(20) + , country_name VARCHAR(20) + , ccp_app VARCHAR(200) + , product_interst VARCHAR(200) + , acq_time timestamp(0) + , active_leads_count int4 + , app_count int4 + , ccp_record_count int4 + , gen_product_interst_count int4 + , sub_app_count int4 + , acq_campaign_name VARCHAR(200) + , create_time timestamp(0) + , create_person VARCHAR(50) + , modify_time timestamp(0) + , modify_person VARCHAR(50) + , industry VARCHAR(50) + , sub_industry VARCHAR(50) + , msr_visibility VARCHAR(20) + , privacy_policy_ind VARCHAR(20) + , contact_score int4 + , contact_stage VARCHAR(50) + , contact_type VARCHAR(20) + , collect_personal_info_ind VARCHAR(20) + , collect_personal_info_time timestamp(0) + , phone_ind VARCHAR(20) + , bulk_postalmail_ind VARCHAR(20) + , fax_ind VARCHAR(20) + , track_ind VARCHAR(20) + , set_up_ind VARCHAR(20) + , bulk_email_ind VARCHAR(20) + , email_permission_time timestamp(0) + , sms_ind VARCHAR(20) + , sms_permission_time timestamp(0) + , telmarker_permission_time timestamp(0) + , industry_or_application_info VARCHAR(20) + , last_activity VARCHAR(20) + , market_ind VARCHAR(20) + , marketing_consent VARCHAR(20) + , marketing_consent_time timestamp(0) + , state VARCHAR(20) + , Etl_Batch_No varchar(50) + , Etl_First_Dt timestamp(0) + , Etl_Job varchar(50) + , Etl_Proc_Dt timestamp(0) + , Etl_Tx_Dt timestamp(0) + , Src_Sysname varchar(50) + , Src_Table varchar(50) + ,primary key( crm_contact_account ) +); + + COMMENT ON COLUMN p30_common.d_crm_contact.crm_contact_account IS 'CRM_CONTACT账号'; + COMMENT ON COLUMN p30_common.d_crm_contact.company_name IS '公司名称'; + COMMENT ON COLUMN p30_common.d_crm_contact.account_name IS '账号名称'; + COMMENT ON COLUMN p30_common.d_crm_contact.owner_id IS '责任人'; + COMMENT ON COLUMN p30_common.d_crm_contact.full_name IS '姓名'; + COMMENT ON COLUMN p30_common.d_crm_contact.mobile_phone IS '手机号'; + COMMENT ON COLUMN p30_common.d_crm_contact.mobile_phone_data_ind IS '手机号有数据标志'; + COMMENT ON COLUMN p30_common.d_crm_contact.mobile_phone_availabilty IS '手机号有效标志'; + COMMENT ON COLUMN p30_common.d_crm_contact.email IS '电子邮箱'; + COMMENT ON COLUMN p30_common.d_crm_contact.email_data_ind IS '电子邮箱数据标志'; + COMMENT ON COLUMN p30_common.d_crm_contact.eamil_availabilty IS '电子邮箱有效性标志'; + COMMENT ON COLUMN p30_common.d_crm_contact.cust_dept IS '部门'; + COMMENT ON COLUMN p30_common.d_crm_contact.cust_title IS '职位'; + COMMENT ON COLUMN p30_common.d_crm_contact.job_function IS '工作领域'; + COMMENT ON COLUMN p30_common.d_crm_contact.suffix_info IS '附加信息'; + COMMENT ON COLUMN p30_common.d_crm_contact.address_detail IS '详细地址'; + COMMENT ON COLUMN p30_common.d_crm_contact.city_name IS '城市'; + COMMENT ON COLUMN p30_common.d_crm_contact.prov_name IS '省份'; + COMMENT ON COLUMN p30_common.d_crm_contact.post_cd IS '邮编'; + COMMENT ON COLUMN p30_common.d_crm_contact.country_name IS '国家'; + COMMENT ON COLUMN p30_common.d_crm_contact.ccp_app IS 'CCP应用'; + COMMENT ON COLUMN p30_common.d_crm_contact.product_interst IS '产品偏好'; + COMMENT ON COLUMN p30_common.d_crm_contact.acq_time IS '购买时间'; + COMMENT ON COLUMN p30_common.d_crm_contact.active_leads_count IS '活动线索数'; + COMMENT ON COLUMN p30_common.d_crm_contact.app_count IS '应用数'; + COMMENT ON COLUMN p30_common.d_crm_contact.ccp_record_count IS 'CCP记录数'; + COMMENT ON COLUMN p30_common.d_crm_contact.gen_product_interst_count IS '通用产品偏好数'; + COMMENT ON COLUMN p30_common.d_crm_contact.sub_app_count IS '子应用数'; + COMMENT ON COLUMN p30_common.d_crm_contact.acq_campaign_name IS '购买项目名'; + COMMENT ON COLUMN p30_common.d_crm_contact.create_time IS '创建时间'; + COMMENT ON COLUMN p30_common.d_crm_contact.create_person IS '创建人'; + COMMENT ON COLUMN p30_common.d_crm_contact.modify_time IS '修改时间'; + COMMENT ON COLUMN p30_common.d_crm_contact.modify_person IS '修改人'; + COMMENT ON COLUMN p30_common.d_crm_contact.industry IS '行业'; + COMMENT ON COLUMN p30_common.d_crm_contact.sub_industry IS '子行业'; + COMMENT ON COLUMN p30_common.d_crm_contact.msr_visibility IS 'msr关注度'; + COMMENT ON COLUMN p30_common.d_crm_contact.privacy_policy_ind IS '隐私政策同意标志'; + COMMENT ON COLUMN p30_common.d_crm_contact.contact_score IS '联系评分'; + COMMENT ON COLUMN p30_common.d_crm_contact.contact_stage IS '联系层次'; + COMMENT ON COLUMN p30_common.d_crm_contact.contact_type IS '联系类型'; + COMMENT ON COLUMN p30_common.d_crm_contact.collect_personal_info_ind IS '个人信息收集标志'; + COMMENT ON COLUMN p30_common.d_crm_contact.collect_personal_info_time IS '个人信息收集时间'; + COMMENT ON COLUMN p30_common.d_crm_contact.phone_ind IS '电话标志'; + COMMENT ON COLUMN p30_common.d_crm_contact.bulk_postalmail_ind IS '群发邮件标志'; + COMMENT ON COLUMN p30_common.d_crm_contact.fax_ind IS '传真标志'; + COMMENT ON COLUMN p30_common.d_crm_contact.track_ind IS '追踪标志'; + COMMENT ON COLUMN p30_common.d_crm_contact.set_up_ind IS '创建标志'; + COMMENT ON COLUMN p30_common.d_crm_contact.bulk_email_ind IS '群发电子邮件标志'; + COMMENT ON COLUMN p30_common.d_crm_contact.email_permission_time IS '电子邮件权限时间'; + COMMENT ON COLUMN p30_common.d_crm_contact.sms_ind IS '短信标志'; + COMMENT ON COLUMN p30_common.d_crm_contact.sms_permission_time IS '短信权限时间'; + COMMENT ON COLUMN p30_common.d_crm_contact.telmarker_permission_time IS '电话营销权限时间'; + COMMENT ON COLUMN p30_common.d_crm_contact.industry_or_application_info IS '行业或应用标志'; + COMMENT ON COLUMN p30_common.d_crm_contact.last_activity IS '最近活跃'; + COMMENT ON COLUMN p30_common.d_crm_contact.market_ind IS '市场营销标志'; + COMMENT ON COLUMN p30_common.d_crm_contact.marketing_consent IS '营销同意书'; + COMMENT ON COLUMN p30_common.d_crm_contact.marketing_consent_time IS '营销同意时间'; + COMMENT ON COLUMN p30_common.d_crm_contact.state IS '状态'; + COMMENT ON COLUMN p30_common.d_crm_contact.Etl_Batch_No IS '作业批次号'; + COMMENT ON COLUMN p30_common.d_crm_contact.Etl_First_Dt IS '最初入库时间'; + COMMENT ON COLUMN p30_common.d_crm_contact.Etl_Job IS '作业名称'; + COMMENT ON COLUMN p30_common.d_crm_contact.Etl_Proc_Dt IS '本次入库时间'; + COMMENT ON COLUMN p30_common.d_crm_contact.Etl_Tx_Dt IS '作业运行时间'; + COMMENT ON COLUMN p30_common.d_crm_contact.Src_Sysname IS '来源系统'; + COMMENT ON COLUMN p30_common.d_crm_contact.Src_Table IS '来源表'; + +COMMENT ON TABLE p30_common.d_crm_contact IS 'CRM联系方式'; \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/CRM联系方式/d_crm_contact_agi.sql b/TK_Cust/dev/tk_cust/CRM联系方式/d_crm_contact_agi.sql new file mode 100644 index 0000000..6d9f5da --- /dev/null +++ b/TK_Cust/dev/tk_cust/CRM联系方式/d_crm_contact_agi.sql @@ -0,0 +1,652 @@ +/***************************************************************************************************/ +/*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_crm_contact(CRM联系方式) */ +/*Create Date:2024-01-26 13:30:26 */ +/*SDM Developed By: dev */ +/*SDM Developed Date: 2024-01-18 */ +/*SDM Checked By: dev */ +/*SDM Checked Date: 2024-01-26 */ +/*Script Developed By: dev */ +/*Script Checked By: dev */ +/*Source table 1: p20_pdm.t01_crm_contact */ +/*Job Type: Inbound transform (Tier 1 to Tier 2) */ +/*Target Table:d_crm_contact */ +/*ETL Job Name:d_crm_contact */ +/*ETL Frequency:Daily */ +/*ETL Policy:F2 */ +/********************************************************************************************/ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on + + + +/*创建临时表加载当前数据 */ +CREATE TEMPORARY TABLE d_crm_contact_agi_CUR_I + ( LIKE :PDMDB.d_crm_contact) +ON COMMIT PRESERVE ROWS; + + + +/*创建临时表加载不同数据 */ +CREATE TEMPORARY TABLE d_crm_contact_agi_INS +( LIKE :PDMDB.d_crm_contact) +ON COMMIT PRESERVE ROWS; + + +/*****************************************************************************************************/ +/* GROUP 1:Source Table:t01_crm_contact***************************************************************/ +/*****************************************************************************************************/ +INSERT INTO d_crm_contact_agi_CUR_I ( + crm_contact_account /*CRM_CONTACT账号*/ + ,company_name /*公司名称*/ + ,account_name /*账号名称*/ + ,owner_id /*责任人*/ + ,full_name /*姓名*/ + ,mobile_phone /*手机号*/ + ,mobile_phone_data_ind /*手机号有数据标志*/ + ,mobile_phone_availabilty /*手机号有效标志*/ + ,email /*电子邮箱*/ + ,email_data_ind /*电子邮箱数据标志*/ + ,eamil_availabilty /*电子邮箱有效性标志*/ + ,cust_dept /*部门*/ + ,cust_title /*职位*/ + ,job_function /*工作领域*/ + ,suffix_info /*附加信息*/ + ,address_detail /*详细地址*/ + ,city_name /*城市*/ + ,prov_name /*省份*/ + ,post_cd /*邮编*/ + ,country_name /*国家*/ + ,ccp_app /*CCP应用*/ + ,product_interst /*产品偏好*/ + ,acq_time /*购买时间*/ + ,active_leads_count /*活动线索数*/ + ,app_count /*应用数*/ + ,ccp_record_count /*CCP记录数*/ + ,gen_product_interst_count /*通用产品偏好数*/ + ,sub_app_count /*子应用数*/ + ,acq_campaign_name /*购买项目名*/ + ,create_time /*创建时间*/ + ,create_person /*创建人*/ + ,modify_time /*修改时间*/ + ,modify_person /*修改人*/ + ,industry /*行业*/ + ,sub_industry /*子行业*/ + ,msr_visibility /*msr关注度*/ + ,privacy_policy_ind /*隐私政策同意标志*/ + ,contact_score /*联系评分*/ + ,contact_stage /*联系层次*/ + ,contact_type /*联系类型*/ + ,collect_personal_info_ind /*个人信息收集标志*/ + ,collect_personal_info_time /*个人信息收集时间*/ + ,phone_ind /*电话标志*/ + ,bulk_postalmail_ind /*群发邮件标志*/ + ,fax_ind /*传真标志*/ + ,track_ind /*追踪标志*/ + ,set_up_ind /*创建标志*/ + ,bulk_email_ind /*群发电子邮件标志*/ + ,email_permission_time /*电子邮件权限时间*/ + ,sms_ind /*短信标志*/ + ,sms_permission_time /*短信权限时间*/ + ,telmarker_permission_time /*电话营销权限时间*/ + ,industry_or_application_info /*行业或应用标志*/ + ,last_activity /*最近活跃*/ + ,market_ind /*市场营销标志*/ + ,marketing_consent /*营销同意书*/ + ,marketing_consent_time /*营销同意时间*/ + ,state /*状态*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + ) +SELECT + COALESCE(TRIM(p0.crm_contact_account),'') /*crm_contact_account*/ + ,COALESCE(TRIM(p0.company_name),'') /*company_name*/ + ,COALESCE(TRIM(p0.account_name),'') /*account_name*/ + ,COALESCE(TRIM(p0.owner_id),'') /*owner_id*/ + ,COALESCE(TRIM(CAST(p0.first_name AS VARCHAR(50))),'') /*full_name*/ + ,case when mobile_phone ~ '^1[3-9]\d{9}$' then mobile_phone + when telphone ~ '^1[3-9]\d{9}$' then replace(replace(telphone1,'+86 ',''),' ','') else mobile_phone end /*mobile_phone*/ + ,case when length(mobile_phone)>1 then '1' else 0 end /*mobile_phone_data_ind*/ + ,case when mobile_phone ~ '^1[3-9]\d{9}$' then '1' + when telphone ~ '^1[3-9]\d{9}$' then '1' else '0' end /*mobile_phone_availabilty*/ + ,COALESCE(TRIM(p0.email),'') /*email*/ + ,case when length(email)>1 then '1' else 0 end /*email_data_ind*/ + ,case when email ~ '[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$' then '1' + else '0' end /*eamil_availabilty*/ + ,COALESCE(TRIM(p0.cust_dept),'') /*cust_dept*/ + ,COALESCE(TRIM(p0.cust_title),'') /*cust_title*/ + ,COALESCE(TRIM(p0.job_function),'') /*job_function*/ + ,COALESCE(TRIM(p0.suffix_info),'') /*suffix_info*/ + ,COALESCE(TRIM(p0.address_detail),'') /*address_detail*/ + ,coalesce(p1.area_cn,p0.city_name) /*city_name*/ + ,COALESCE(TRIM(p0.prov_name),'') /*prov_name*/ + ,COALESCE(TRIM(p0.post_cd),'') /*post_cd*/ + ,COALESCE(TRIM(p0.country_name),'') /*country_name*/ + ,COALESCE(TRIM(p0.ccp_app),'') /*ccp_app*/ + ,COALESCE(TRIM(p0.product_interst),'') /*product_interst*/ + ,COALESCE(p0.acq_time,TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*acq_time*/ + ,COALESCE(p0.active_leads_count,0) /*active_leads_count*/ + ,COALESCE(p0.app_count,0) /*app_count*/ + ,COALESCE(p0.ccp_record_count,0) /*ccp_record_count*/ + ,COALESCE(p0.gen_product_interst_count,0) /*gen_product_interst_count*/ + ,COALESCE(p0.sub_app_count,0) /*sub_app_count*/ + ,COALESCE(TRIM(p0.acq_campaign_name),'') /*acq_campaign_name*/ + ,COALESCE(p0.create_time,TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*create_time*/ + ,COALESCE(TRIM(p0.create_person),'') /*create_person*/ + ,COALESCE(p0.modify_time,TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*modify_time*/ + ,COALESCE(TRIM(p0.modify_person),'') /*modify_person*/ + ,COALESCE(TRIM(p0.industry),'') /*industry*/ + ,COALESCE(TRIM(p0.sub_industry),'') /*sub_industry*/ + ,COALESCE(TRIM(p0.msr_visibility),'') /*msr_visibility*/ + ,COALESCE(TRIM(p0.privacy_policy_ind),'') /*privacy_policy_ind*/ + ,COALESCE(p0.contact_score,0) /*contact_score*/ + ,COALESCE(TRIM(p0.contact_stage),'') /*contact_stage*/ + ,COALESCE(TRIM(p0.contact_type),'') /*contact_type*/ + ,COALESCE(TRIM(p0.collect_personal_info_ind),'') /*collect_personal_info_ind*/ + ,COALESCE(p0.collect_personal_info_time,TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*collect_personal_info_time*/ + ,COALESCE(TRIM(p0.phone_ind),'') /*phone_ind*/ + ,COALESCE(TRIM(p0.bulk_postalmail_ind),'') /*bulk_postalmail_ind*/ + ,COALESCE(TRIM(p0.fax_ind),'') /*fax_ind*/ + ,COALESCE(TRIM(p0.track_ind),'') /*track_ind*/ + ,COALESCE(TRIM(p0.set_up_ind),'') /*set_up_ind*/ + ,COALESCE(TRIM(p0.bulk_email_ind),'') /*bulk_email_ind*/ + ,COALESCE(p0.email_permission_time,TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*email_permission_time*/ + ,COALESCE(TRIM(p0.sms_ind),'') /*sms_ind*/ + ,COALESCE(p0.sms_permission_time,TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*sms_permission_time*/ + ,COALESCE(p0.telmarker_permission_time,TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*telmarker_permission_time*/ + ,COALESCE(TRIM(p0.industry_or_application_info),'') /*industry_or_application_info*/ + ,COALESCE(TRIM(p0.last_activity),'') /*last_activity*/ + ,COALESCE(TRIM(p0.market_ind),'') /*market_ind*/ + ,COALESCE(TRIM(p0.marketing_consent),'') /*marketing_consent*/ + ,COALESCE(p0.marketing_consent_time,TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*marketing_consent_time*/ + ,COALESCE(TRIM(p0.state),'') /*state*/ + ,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_crm_contact',1,3) /*Src_Sysname*/ + ,'t01_crm_contact' /*Src_Table*/ + +FROM p20_pdm.t01_crm_contact p0 +; + + + +/*将不同数据插入到临时表 */ +;INSERT INTO d_crm_contact_agi_INS ( + company_name /*公司名称*/ + ,account_name /*账号名称*/ + ,owner_id /*责任人*/ + ,full_name /*姓名*/ + ,mobile_phone /*手机号*/ + ,mobile_phone_data_ind /*手机号有数据标志*/ + ,mobile_phone_availabilty /*手机号有效标志*/ + ,email /*电子邮箱*/ + ,email_data_ind /*电子邮箱数据标志*/ + ,eamil_availabilty /*电子邮箱有效性标志*/ + ,cust_dept /*部门*/ + ,cust_title /*职位*/ + ,job_function /*工作领域*/ + ,suffix_info /*附加信息*/ + ,address_detail /*详细地址*/ + ,city_name /*城市*/ + ,prov_name /*省份*/ + ,post_cd /*邮编*/ + ,country_name /*国家*/ + ,ccp_app /*CCP应用*/ + ,product_interst /*产品偏好*/ + ,acq_time /*购买时间*/ + ,active_leads_count /*活动线索数*/ + ,app_count /*应用数*/ + ,ccp_record_count /*CCP记录数*/ + ,gen_product_interst_count /*通用产品偏好数*/ + ,sub_app_count /*子应用数*/ + ,acq_campaign_name /*购买项目名*/ + ,create_time /*创建时间*/ + ,create_person /*创建人*/ + ,modify_time /*修改时间*/ + ,modify_person /*修改人*/ + ,industry /*行业*/ + ,sub_industry /*子行业*/ + ,msr_visibility /*msr关注度*/ + ,privacy_policy_ind /*隐私政策同意标志*/ + ,contact_score /*联系评分*/ + ,contact_stage /*联系层次*/ + ,contact_type /*联系类型*/ + ,collect_personal_info_ind /*个人信息收集标志*/ + ,collect_personal_info_time /*个人信息收集时间*/ + ,phone_ind /*电话标志*/ + ,bulk_postalmail_ind /*群发邮件标志*/ + ,fax_ind /*传真标志*/ + ,track_ind /*追踪标志*/ + ,set_up_ind /*创建标志*/ + ,bulk_email_ind /*群发电子邮件标志*/ + ,email_permission_time /*电子邮件权限时间*/ + ,sms_ind /*短信标志*/ + ,sms_permission_time /*短信权限时间*/ + ,telmarker_permission_time /*电话营销权限时间*/ + ,industry_or_application_info /*行业或应用标志*/ + ,last_activity /*最近活跃*/ + ,market_ind /*市场营销标志*/ + ,marketing_consent /*营销同意书*/ + ,marketing_consent_time /*营销同意时间*/ + ,state /*状态*/ + ,crm_contact_account /*CRM_CONTACT账号*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) + SELECT + P1.company_name /*公司名称*/ + ,P1.account_name /*账号名称*/ + ,P1.owner_id /*责任人*/ + ,P1.full_name /*姓名*/ + ,P1.mobile_phone /*手机号*/ + ,P1.mobile_phone_data_ind /*手机号有数据标志*/ + ,P1.mobile_phone_availabilty /*手机号有效标志*/ + ,P1.email /*电子邮箱*/ + ,P1.email_data_ind /*电子邮箱数据标志*/ + ,P1.eamil_availabilty /*电子邮箱有效性标志*/ + ,P1.cust_dept /*部门*/ + ,P1.cust_title /*职位*/ + ,P1.job_function /*工作领域*/ + ,P1.suffix_info /*附加信息*/ + ,P1.address_detail /*详细地址*/ + ,P1.city_name /*城市*/ + ,P1.prov_name /*省份*/ + ,P1.post_cd /*邮编*/ + ,P1.country_name /*国家*/ + ,P1.ccp_app /*CCP应用*/ + ,P1.product_interst /*产品偏好*/ + ,P1.acq_time /*购买时间*/ + ,P1.active_leads_count /*活动线索数*/ + ,P1.app_count /*应用数*/ + ,P1.ccp_record_count /*CCP记录数*/ + ,P1.gen_product_interst_count /*通用产品偏好数*/ + ,P1.sub_app_count /*子应用数*/ + ,P1.acq_campaign_name /*购买项目名*/ + ,P1.create_time /*创建时间*/ + ,P1.create_person /*创建人*/ + ,P1.modify_time /*修改时间*/ + ,P1.modify_person /*修改人*/ + ,P1.industry /*行业*/ + ,P1.sub_industry /*子行业*/ + ,P1.msr_visibility /*msr关注度*/ + ,P1.privacy_policy_ind /*隐私政策同意标志*/ + ,P1.contact_score /*联系评分*/ + ,P1.contact_stage /*联系层次*/ + ,P1.contact_type /*联系类型*/ + ,P1.collect_personal_info_ind /*个人信息收集标志*/ + ,P1.collect_personal_info_time /*个人信息收集时间*/ + ,P1.phone_ind /*电话标志*/ + ,P1.bulk_postalmail_ind /*群发邮件标志*/ + ,P1.fax_ind /*传真标志*/ + ,P1.track_ind /*追踪标志*/ + ,P1.set_up_ind /*创建标志*/ + ,P1.bulk_email_ind /*群发电子邮件标志*/ + ,P1.email_permission_time /*电子邮件权限时间*/ + ,P1.sms_ind /*短信标志*/ + ,P1.sms_permission_time /*短信权限时间*/ + ,P1.telmarker_permission_time /*电话营销权限时间*/ + ,P1.industry_or_application_info /*行业或应用标志*/ + ,P1.last_activity /*最近活跃*/ + ,P1.market_ind /*市场营销标志*/ + ,P1.marketing_consent /*营销同意书*/ + ,P1.marketing_consent_time /*营销同意时间*/ + ,P1.state /*状态*/ + ,P1.crm_contact_account /*CRM_CONTACT账号*/ + ,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_crm_contact_agi_CUR_I P1 +LEFT JOIN :PDMDB.d_crm_contact P2 +ON P1.company_name = P2.company_name + AND P1.account_name = P2.account_name + AND P1.owner_id = P2.owner_id + AND P1.full_name = P2.full_name + AND P1.mobile_phone = P2.mobile_phone + AND P1.mobile_phone_data_ind = P2.mobile_phone_data_ind + AND P1.mobile_phone_availabilty = P2.mobile_phone_availabilty + AND P1.email = P2.email + AND P1.email_data_ind = P2.email_data_ind + AND P1.eamil_availabilty = P2.eamil_availabilty + AND P1.cust_dept = P2.cust_dept + AND P1.cust_title = P2.cust_title + AND P1.job_function = P2.job_function + AND P1.suffix_info = P2.suffix_info + AND P1.address_detail = P2.address_detail + AND P1.city_name = P2.city_name + AND P1.prov_name = P2.prov_name + AND P1.post_cd = P2.post_cd + AND P1.country_name = P2.country_name + AND P1.ccp_app = P2.ccp_app + AND P1.product_interst = P2.product_interst + AND P1.acq_time = P2.acq_time + AND P1.active_leads_count = P2.active_leads_count + AND P1.app_count = P2.app_count + AND P1.ccp_record_count = P2.ccp_record_count + AND P1.gen_product_interst_count = P2.gen_product_interst_count + AND P1.sub_app_count = P2.sub_app_count + AND P1.acq_campaign_name = P2.acq_campaign_name + AND P1.create_time = P2.create_time + AND P1.create_person = P2.create_person + AND P1.modify_time = P2.modify_time + AND P1.modify_person = P2.modify_person + AND P1.industry = P2.industry + AND P1.sub_industry = P2.sub_industry + AND P1.msr_visibility = P2.msr_visibility + AND P1.privacy_policy_ind = P2.privacy_policy_ind + AND P1.contact_score = P2.contact_score + AND P1.contact_stage = P2.contact_stage + AND P1.contact_type = P2.contact_type + AND P1.collect_personal_info_ind = P2.collect_personal_info_ind + AND P1.collect_personal_info_time = P2.collect_personal_info_time + AND P1.phone_ind = P2.phone_ind + AND P1.bulk_postalmail_ind = P2.bulk_postalmail_ind + AND P1.fax_ind = P2.fax_ind + AND P1.track_ind = P2.track_ind + AND P1.set_up_ind = P2.set_up_ind + AND P1.bulk_email_ind = P2.bulk_email_ind + AND P1.email_permission_time = P2.email_permission_time + AND P1.sms_ind = P2.sms_ind + AND P1.sms_permission_time = P2.sms_permission_time + AND P1.telmarker_permission_time = P2.telmarker_permission_time + AND P1.industry_or_application_info = P2.industry_or_application_info + AND P1.last_activity = P2.last_activity + AND P1.market_ind = P2.market_ind + AND P1.marketing_consent = P2.marketing_consent + AND P1.marketing_consent_time = P2.marketing_consent_time + AND P1.state = P2.state + AND P1.crm_contact_account = P2.crm_contact_account + +WHERE P2.company_name IS NULL + OR P2.account_name IS NULL + OR P2.owner_id IS NULL + OR P2.full_name IS NULL + OR P2.mobile_phone IS NULL + OR P2.mobile_phone_data_ind IS NULL + OR P2.mobile_phone_availabilty IS NULL + OR P2.email IS NULL + OR P2.email_data_ind IS NULL + OR P2.eamil_availabilty IS NULL + OR P2.cust_dept IS NULL + OR P2.cust_title IS NULL + OR P2.job_function IS NULL + OR P2.suffix_info IS NULL + OR P2.address_detail IS NULL + OR P2.city_name IS NULL + OR P2.prov_name IS NULL + OR P2.post_cd IS NULL + OR P2.country_name IS NULL + OR P2.ccp_app IS NULL + OR P2.product_interst IS NULL + OR P2.acq_time IS NULL + OR P2.active_leads_count IS NULL + OR P2.app_count IS NULL + OR P2.ccp_record_count IS NULL + OR P2.gen_product_interst_count IS NULL + OR P2.sub_app_count IS NULL + OR P2.acq_campaign_name IS NULL + OR P2.create_time IS NULL + OR P2.create_person IS NULL + OR P2.modify_time IS NULL + OR P2.modify_person IS NULL + OR P2.industry IS NULL + OR P2.sub_industry IS NULL + OR P2.msr_visibility IS NULL + OR P2.privacy_policy_ind IS NULL + OR P2.contact_score IS NULL + OR P2.contact_stage IS NULL + OR P2.contact_type IS NULL + OR P2.collect_personal_info_ind IS NULL + OR P2.collect_personal_info_time IS NULL + OR P2.phone_ind IS NULL + OR P2.bulk_postalmail_ind IS NULL + OR P2.fax_ind IS NULL + OR P2.track_ind IS NULL + OR P2.set_up_ind IS NULL + OR P2.bulk_email_ind IS NULL + OR P2.email_permission_time IS NULL + OR P2.sms_ind IS NULL + OR P2.sms_permission_time IS NULL + OR P2.telmarker_permission_time IS NULL + OR P2.industry_or_application_info IS NULL + OR P2.last_activity IS NULL + OR P2.market_ind IS NULL + OR P2.marketing_consent IS NULL + OR P2.marketing_consent_time IS NULL + OR P2.state IS NULL + OR P2.crm_contact_account IS NULL + +; +/*将新增数据插入到目标表 */ +;INSERT INTO :PDMDB.d_crm_contact ( + company_name /*公司名称*/ + ,account_name /*账号名称*/ + ,owner_id /*责任人*/ + ,full_name /*姓名*/ + ,mobile_phone /*手机号*/ + ,mobile_phone_data_ind /*手机号有数据标志*/ + ,mobile_phone_availabilty /*手机号有效标志*/ + ,email /*电子邮箱*/ + ,email_data_ind /*电子邮箱数据标志*/ + ,eamil_availabilty /*电子邮箱有效性标志*/ + ,cust_dept /*部门*/ + ,cust_title /*职位*/ + ,job_function /*工作领域*/ + ,suffix_info /*附加信息*/ + ,address_detail /*详细地址*/ + ,city_name /*城市*/ + ,prov_name /*省份*/ + ,post_cd /*邮编*/ + ,country_name /*国家*/ + ,ccp_app /*CCP应用*/ + ,product_interst /*产品偏好*/ + ,acq_time /*购买时间*/ + ,active_leads_count /*活动线索数*/ + ,app_count /*应用数*/ + ,ccp_record_count /*CCP记录数*/ + ,gen_product_interst_count /*通用产品偏好数*/ + ,sub_app_count /*子应用数*/ + ,acq_campaign_name /*购买项目名*/ + ,create_time /*创建时间*/ + ,create_person /*创建人*/ + ,modify_time /*修改时间*/ + ,modify_person /*修改人*/ + ,industry /*行业*/ + ,sub_industry /*子行业*/ + ,msr_visibility /*msr关注度*/ + ,privacy_policy_ind /*隐私政策同意标志*/ + ,contact_score /*联系评分*/ + ,contact_stage /*联系层次*/ + ,contact_type /*联系类型*/ + ,collect_personal_info_ind /*个人信息收集标志*/ + ,collect_personal_info_time /*个人信息收集时间*/ + ,phone_ind /*电话标志*/ + ,bulk_postalmail_ind /*群发邮件标志*/ + ,fax_ind /*传真标志*/ + ,track_ind /*追踪标志*/ + ,set_up_ind /*创建标志*/ + ,bulk_email_ind /*群发电子邮件标志*/ + ,email_permission_time /*电子邮件权限时间*/ + ,sms_ind /*短信标志*/ + ,sms_permission_time /*短信权限时间*/ + ,telmarker_permission_time /*电话营销权限时间*/ + ,industry_or_application_info /*行业或应用标志*/ + ,last_activity /*最近活跃*/ + ,market_ind /*市场营销标志*/ + ,marketing_consent /*营销同意书*/ + ,marketing_consent_time /*营销同意时间*/ + ,state /*状态*/ + ,crm_contact_account /*CRM_CONTACT账号*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) +SELECT + P1.company_name /*公司名称*/ + ,P1.account_name /*账号名称*/ + ,P1.owner_id /*责任人*/ + ,P1.full_name /*姓名*/ + ,P1.mobile_phone /*手机号*/ + ,P1.mobile_phone_data_ind /*手机号有数据标志*/ + ,P1.mobile_phone_availabilty /*手机号有效标志*/ + ,P1.email /*电子邮箱*/ + ,P1.email_data_ind /*电子邮箱数据标志*/ + ,P1.eamil_availabilty /*电子邮箱有效性标志*/ + ,P1.cust_dept /*部门*/ + ,P1.cust_title /*职位*/ + ,P1.job_function /*工作领域*/ + ,P1.suffix_info /*附加信息*/ + ,P1.address_detail /*详细地址*/ + ,P1.city_name /*城市*/ + ,P1.prov_name /*省份*/ + ,P1.post_cd /*邮编*/ + ,P1.country_name /*国家*/ + ,P1.ccp_app /*CCP应用*/ + ,P1.product_interst /*产品偏好*/ + ,P1.acq_time /*购买时间*/ + ,P1.active_leads_count /*活动线索数*/ + ,P1.app_count /*应用数*/ + ,P1.ccp_record_count /*CCP记录数*/ + ,P1.gen_product_interst_count /*通用产品偏好数*/ + ,P1.sub_app_count /*子应用数*/ + ,P1.acq_campaign_name /*购买项目名*/ + ,P1.create_time /*创建时间*/ + ,P1.create_person /*创建人*/ + ,P1.modify_time /*修改时间*/ + ,P1.modify_person /*修改人*/ + ,P1.industry /*行业*/ + ,P1.sub_industry /*子行业*/ + ,P1.msr_visibility /*msr关注度*/ + ,P1.privacy_policy_ind /*隐私政策同意标志*/ + ,P1.contact_score /*联系评分*/ + ,P1.contact_stage /*联系层次*/ + ,P1.contact_type /*联系类型*/ + ,P1.collect_personal_info_ind /*个人信息收集标志*/ + ,P1.collect_personal_info_time /*个人信息收集时间*/ + ,P1.phone_ind /*电话标志*/ + ,P1.bulk_postalmail_ind /*群发邮件标志*/ + ,P1.fax_ind /*传真标志*/ + ,P1.track_ind /*追踪标志*/ + ,P1.set_up_ind /*创建标志*/ + ,P1.bulk_email_ind /*群发电子邮件标志*/ + ,P1.email_permission_time /*电子邮件权限时间*/ + ,P1.sms_ind /*短信标志*/ + ,P1.sms_permission_time /*短信权限时间*/ + ,P1.telmarker_permission_time /*电话营销权限时间*/ + ,P1.industry_or_application_info /*行业或应用标志*/ + ,P1.last_activity /*最近活跃*/ + ,P1.market_ind /*市场营销标志*/ + ,P1.marketing_consent /*营销同意书*/ + ,P1.marketing_consent_time /*营销同意时间*/ + ,P1.state /*状态*/ + ,P1.crm_contact_account /*CRM_CONTACT账号*/ + ,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_crm_contact_agi_INS P1 +ON CONFLICT ( crm_contact_account) +DO UPDATE SET + crm_contact_account=excluded.crm_contact_account + ,company_name=excluded.company_name + ,account_name=excluded.account_name + ,owner_id=excluded.owner_id + ,full_name=excluded.full_name + ,mobile_phone=excluded.mobile_phone + ,mobile_phone_data_ind=excluded.mobile_phone_data_ind + ,mobile_phone_availabilty=excluded.mobile_phone_availabilty + ,email=excluded.email + ,email_data_ind=excluded.email_data_ind + ,eamil_availabilty=excluded.eamil_availabilty + ,cust_dept=excluded.cust_dept + ,cust_title=excluded.cust_title + ,job_function=excluded.job_function + ,suffix_info=excluded.suffix_info + ,address_detail=excluded.address_detail + ,city_name=excluded.city_name + ,prov_name=excluded.prov_name + ,post_cd=excluded.post_cd + ,country_name=excluded.country_name + ,ccp_app=excluded.ccp_app + ,product_interst=excluded.product_interst + ,acq_time=excluded.acq_time + ,active_leads_count=excluded.active_leads_count + ,app_count=excluded.app_count + ,ccp_record_count=excluded.ccp_record_count + ,gen_product_interst_count=excluded.gen_product_interst_count + ,sub_app_count=excluded.sub_app_count + ,acq_campaign_name=excluded.acq_campaign_name + ,create_time=excluded.create_time + ,create_person=excluded.create_person + ,modify_time=excluded.modify_time + ,modify_person=excluded.modify_person + ,industry=excluded.industry + ,sub_industry=excluded.sub_industry + ,msr_visibility=excluded.msr_visibility + ,privacy_policy_ind=excluded.privacy_policy_ind + ,contact_score=excluded.contact_score + ,contact_stage=excluded.contact_stage + ,contact_type=excluded.contact_type + ,collect_personal_info_ind=excluded.collect_personal_info_ind + ,collect_personal_info_time=excluded.collect_personal_info_time + ,phone_ind=excluded.phone_ind + ,bulk_postalmail_ind=excluded.bulk_postalmail_ind + ,fax_ind=excluded.fax_ind + ,track_ind=excluded.track_ind + ,set_up_ind=excluded.set_up_ind + ,bulk_email_ind=excluded.bulk_email_ind + ,email_permission_time=excluded.email_permission_time + ,sms_ind=excluded.sms_ind + ,sms_permission_time=excluded.sms_permission_time + ,telmarker_permission_time=excluded.telmarker_permission_time + ,industry_or_application_info=excluded.industry_or_application_info + ,last_activity=excluded.last_activity + ,market_ind=excluded.market_ind + ,marketing_consent=excluded.marketing_consent + ,marketing_consent_time=excluded.marketing_consent_time + ,state=excluded.state + ,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 + diff --git a/TK_Cust/dev/tk_cust/SCRM线索/t01_scrm_leads.sql b/TK_Cust/dev/tk_cust/SCRM线索/t01_scrm_leads.sql new file mode 100644 index 0000000..57847fc --- /dev/null +++ b/TK_Cust/dev/tk_cust/SCRM线索/t01_scrm_leads.sql @@ -0,0 +1,46 @@ + +DROP TABLE IF EXISTS p20_pdm.t01_scrm_leads; +CREATE TABLE IF NOT EXISTS p20_pdm.t01_scrm_leads ( + customer_id varchar(30) + , date timestamp(0) + , target_name varchar(30) + , c_name varchar(30) + , c_type varchar(30) + , content_name varchar(30) + , source varchar(50) + , tag varchar(30) + , c_keyword varchar(30) + , attr2 varchar(30) + , label varchar(30) + , group_label varchar(30) + , Etl_Batch_No varchar(50) + , Etl_First_Dt timestamp(0) + , Etl_Job varchar(50) + , Etl_Proc_Dt timestamp(0) + , Etl_Tx_Dt timestamp(0) + , Src_Sysname varchar(50) + , Src_Table varchar(50) + ,primary key( customer_id,date ) +); + + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.customer_id IS 'customerId'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.date IS 'date'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.target_name IS 'targetName'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.c_name IS 'c_name'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.c_type IS 'c_type'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.content_name IS 'contentName'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.source IS 'source'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.tag IS 'tag'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.c_keyword IS 'c_keyword'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.attr2 IS 'attr2'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.label IS 'label'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.group_label IS 'groupLabel'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.Etl_Batch_No IS '作业批次号'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.Etl_First_Dt IS '最初入库时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.Etl_Job IS '作业名称'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.Etl_Proc_Dt IS '本次入库时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.Etl_Tx_Dt IS '作业运行时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.Src_Sysname IS '来源系统'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.Src_Table IS '来源表'; + +COMMENT ON TABLE p20_pdm.t01_scrm_leads IS 'SCRM线索'; \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/SCRM线索/t01_scrm_leads_agi.sql b/TK_Cust/dev/tk_cust/SCRM线索/t01_scrm_leads_agi.sql new file mode 100644 index 0000000..1189ca1 --- /dev/null +++ b/TK_Cust/dev/tk_cust/SCRM线索/t01_scrm_leads_agi.sql @@ -0,0 +1,238 @@ +/***************************************************************************************************/ +/*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 :t01_scrm_leads(SCRM线索) */ +/*Create Date:2024-01-18 15:40:56 */ +/*SDM Developed By: dev */ +/*SDM Developed Date: 2024-01-12 */ +/*SDM Checked By: dev */ +/*SDM Checked Date: 2024-01-18 */ +/*Script Developed By: dev */ +/*Script Checked By: dev */ +/*Source table 1: p10_sa.s98_s_scrm_leads_af0912 */ +/*Job Type: Inbound transform (Tier 1 to Tier 2) */ +/*Target Table:t01_scrm_leads */ +/*ETL Job Name:t01_scrm_leads */ +/*ETL Frequency:Daily */ +/*ETL Policy:F2 */ +/********************************************************************************************/ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on + + + +/*创建临时表加载当前数据 */ +CREATE TEMPORARY TABLE t01_scrm_leads_agi_CUR_I + ( LIKE :PDMDB.t01_scrm_leads) +ON COMMIT PRESERVE ROWS; + + + +/*创建临时表加载不同数据 */ +CREATE TEMPORARY TABLE t01_scrm_leads_agi_INS +( LIKE :PDMDB.t01_scrm_leads) +ON COMMIT PRESERVE ROWS; + + +/*****************************************************************************************************/ +/* GROUP 1:Source Table:s98_s_scrm_leads_af0912*******************************************************/ +/*****************************************************************************************************/ + +INSERT INTO t01_scrm_leads_agi_CUR_I ( + customer_id /*customerId*/ + ,date /*date*/ + ,target_name /*targetName*/ + ,c_name /*c_name*/ + ,c_type /*c_type*/ + ,content_name /*contentName*/ + ,source /*source*/ + ,tag /*tag*/ + ,c_keyword /*c_keyword*/ + ,attr2 /*attr2*/ + ,label /*label*/ + ,group_label /*groupLabel*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + ) +SELECT + COALESCE(TRIM(CAST(p0.customer_id AS varchar(30))),'') /*customer_id*/ + ,COALESCE(TO_TIMESTAMP(CAST(p0.date AS VARCHAR(19)),'YYYY-MM-DD HH24:mi:ss'),TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*date*/ + ,COALESCE(TRIM(CAST(p0.target_name AS varchar(30))),'') /*target_name*/ + ,COALESCE(TRIM(CAST(p0.c_name AS varchar(30))),'') /*c_name*/ + ,COALESCE(TRIM(CAST(p0.c_type AS varchar(30))),'') /*c_type*/ + ,COALESCE(TRIM(CAST(p0.content_name AS varchar(30))),'') /*content_name*/ + ,COALESCE(TRIM(CAST(p0.source AS varchar(50))),'') /*source*/ + ,COALESCE(TRIM(CAST(p0.tag AS varchar(30))),'') /*tag*/ + ,COALESCE(TRIM(CAST(p0.c_keyword AS varchar(30))),'') /*c_keyword*/ + ,COALESCE(TRIM(CAST(p0.attr2 AS varchar(30))),'') /*attr2*/ + ,COALESCE(TRIM(CAST(p0.label AS varchar(30))),'') /*label*/ + ,COALESCE(TRIM(CAST(p0.group_label AS varchar(30))),'') /*group_label*/ + ,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('s98_s_scrm_leads_af0912',1,3) /*Src_Sysname*/ + ,'s98_s_scrm_leads_af0912' /*Src_Table*/ + +FROM (select distinct on (customer_id ,"date") * from p10_sa.s98_s_scrm_leads_af0912) p0 + + +; + + + +/*将不同数据插入到临时表 */ +;INSERT INTO t01_scrm_leads_agi_INS ( + target_name /*targetName*/ + ,c_name /*c_name*/ + ,c_type /*c_type*/ + ,content_name /*contentName*/ + ,source /*source*/ + ,tag /*tag*/ + ,c_keyword /*c_keyword*/ + ,attr2 /*attr2*/ + ,label /*label*/ + ,group_label /*groupLabel*/ + ,customer_id /*customerId*/ + ,date /*date*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) + SELECT + P1.target_name /*targetName*/ + ,P1.c_name /*c_name*/ + ,P1.c_type /*c_type*/ + ,P1.content_name /*contentName*/ + ,P1.source /*source*/ + ,P1.tag /*tag*/ + ,P1.c_keyword /*c_keyword*/ + ,P1.attr2 /*attr2*/ + ,P1.label /*label*/ + ,P1.group_label /*groupLabel*/ + ,P1.customer_id /*customerId*/ + ,P1.date /*date*/ + ,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 t01_scrm_leads_agi_CUR_I P1 +LEFT JOIN :PDMDB.t01_scrm_leads P2 +ON P1.target_name = P2.target_name + AND P1.c_name = P2.c_name + AND P1.c_type = P2.c_type + AND P1.content_name = P2.content_name + AND P1.source = P2.source + AND P1.tag = P2.tag + AND P1.c_keyword = P2.c_keyword + AND P1.attr2 = P2.attr2 + AND P1.label = P2.label + AND P1.group_label = P2.group_label + AND P1.customer_id = P2.customer_id + AND P1.date = P2.date + +WHERE P2.target_name IS NULL + OR P2.c_name IS NULL + OR P2.c_type IS NULL + OR P2.content_name IS NULL + OR P2.source IS NULL + OR P2.tag IS NULL + OR P2.c_keyword IS NULL + OR P2.attr2 IS NULL + OR P2.label IS NULL + OR P2.group_label IS NULL + OR P2.customer_id IS NULL + OR P2.date IS NULL + +; +/*将新增数据插入到目标表 */ +;INSERT INTO :PDMDB.t01_scrm_leads ( + target_name /*targetName*/ + ,c_name /*c_name*/ + ,c_type /*c_type*/ + ,content_name /*contentName*/ + ,source /*source*/ + ,tag /*tag*/ + ,c_keyword /*c_keyword*/ + ,attr2 /*attr2*/ + ,label /*label*/ + ,group_label /*groupLabel*/ + ,customer_id /*customerId*/ + ,date /*date*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) +SELECT + P1.target_name /*targetName*/ + ,P1.c_name /*c_name*/ + ,P1.c_type /*c_type*/ + ,P1.content_name /*contentName*/ + ,P1.source /*source*/ + ,P1.tag /*tag*/ + ,P1.c_keyword /*c_keyword*/ + ,P1.attr2 /*attr2*/ + ,P1.label /*label*/ + ,P1.group_label /*groupLabel*/ + ,P1.customer_id /*customerId*/ + ,P1.date /*date*/ + ,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 t01_scrm_leads_agi_INS P1 +ON CONFLICT ( customer_id,date) +DO UPDATE SET + customer_id=excluded.customer_id + ,date=excluded.date + ,target_name=excluded.target_name + ,c_name=excluded.c_name + ,c_type=excluded.c_type + ,content_name=excluded.content_name + ,source=excluded.source + ,tag=excluded.tag + ,c_keyword=excluded.c_keyword + ,attr2=excluded.attr2 + ,label=excluded.label + ,group_label=excluded.group_label + ,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 + diff --git a/TK_Cust/dev/tk_cust/SCRM线索历史/t01_scrm_leads_his.sql b/TK_Cust/dev/tk_cust/SCRM线索历史/t01_scrm_leads_his.sql new file mode 100644 index 0000000..a73c589 --- /dev/null +++ b/TK_Cust/dev/tk_cust/SCRM线索历史/t01_scrm_leads_his.sql @@ -0,0 +1,30 @@ + +DROP TABLE IF EXISTS p20_pdm.t01_scrm_leads_his; +CREATE TABLE IF NOT EXISTS p20_pdm.t01_scrm_leads_his ( + cue_id varchar(30) + , activate_time timestamp(0) + , activate_name varchar(30) + , event_name varchar(30) + , Etl_Batch_No varchar(50) + , Etl_First_Dt timestamp(0) + , Etl_Job varchar(50) + , Etl_Proc_Dt timestamp(0) + , Etl_Tx_Dt timestamp(0) + , Src_Sysname varchar(50) + , Src_Table varchar(50) + ,primary key( cue_id,activate_time ) +); + + COMMENT ON COLUMN p20_pdm.t01_scrm_leads_his.cue_id IS '线索ID'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads_his.activate_time IS '活动时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads_his.activate_name IS '活动名称'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads_his.event_name IS '事件名称'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads_his.Etl_Batch_No IS '作业批次号'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads_his.Etl_First_Dt IS '最初入库时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads_his.Etl_Job IS '作业名称'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads_his.Etl_Proc_Dt IS '本次入库时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads_his.Etl_Tx_Dt IS '作业运行时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads_his.Src_Sysname IS '来源系统'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads_his.Src_Table IS '来源表'; + +COMMENT ON TABLE p20_pdm.t01_scrm_leads_his IS 'SCRM线索历史'; \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/SCRM线索历史/t01_scrm_leads_his_agi.sql b/TK_Cust/dev/tk_cust/SCRM线索历史/t01_scrm_leads_his_agi.sql new file mode 100644 index 0000000..8c63887 --- /dev/null +++ b/TK_Cust/dev/tk_cust/SCRM线索历史/t01_scrm_leads_his_agi.sql @@ -0,0 +1,166 @@ +/***************************************************************************************************/ +/*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 :t01_scrm_leads_his(SCRM线索历史) */ +/*Create Date:2024-01-18 15:43:39 */ +/*SDM Developed By: dev */ +/*SDM Developed Date: 2024-01-12 */ +/*SDM Checked By: dev */ +/*SDM Checked Date: 2024-01-18 */ +/*Script Developed By: dev */ +/*Script Checked By: dev */ +/*Source table 1: p10_sa.s98_s_scrm_leads_bf0912 */ +/*Job Type: Inbound transform (Tier 1 to Tier 2) */ +/*Target Table:t01_scrm_leads_his */ +/*ETL Job Name:t01_scrm_leads_his */ +/*ETL Frequency:Daily */ +/*ETL Policy:F2 */ +/********************************************************************************************/ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on + + + +/*创建临时表加载当前数据 */ +CREATE TEMPORARY TABLE t01_scrm_leads_his_agi_CUR_I + ( LIKE :PDMDB.t01_scrm_leads_his) +ON COMMIT PRESERVE ROWS; + + + +/*创建临时表加载不同数据 */ +CREATE TEMPORARY TABLE t01_scrm_leads_his_agi_INS +( LIKE :PDMDB.t01_scrm_leads_his) +ON COMMIT PRESERVE ROWS; + + +/*****************************************************************************************************/ +/* GROUP 1:Source Table:s98_s_scrm_leads_bf0912*******************************************************/ +/*****************************************************************************************************/ + +INSERT INTO t01_scrm_leads_his_agi_CUR_I ( + cue_id /*线索ID*/ + ,activate_time /*活动时间*/ + ,activate_name /*活动名称*/ + ,event_name /*事件名称*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + ) +SELECT + COALESCE(TRIM(CAST(p0.cue_id AS varchar(30))),'') /*cue_id*/ + ,COALESCE(TO_TIMESTAMP(CAST(p0.activate_time AS VARCHAR(19)),'YYYY-MM-DD HH24:mi:ss'),TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*activate_time*/ + ,COALESCE(TRIM(CAST(p0.activate_name AS varchar(30))),'') /*activate_name*/ + ,COALESCE(TRIM(CAST(p0.event_name AS varchar(30))),'') /*event_name*/ + ,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('s98_s_scrm_leads_bf0912',1,3) /*Src_Sysname*/ + ,'s98_s_scrm_leads_bf0912' /*Src_Table*/ + +FROM (select distinct on (cue_id ,activate_time) * from p10_sa.s98_s_scrm_leads_bf0912) p0 + + +; + + + +/*将不同数据插入到临时表 */ +;INSERT INTO t01_scrm_leads_his_agi_INS ( + activate_name /*活动名称*/ + ,event_name /*事件名称*/ + ,cue_id /*线索ID*/ + ,activate_time /*活动时间*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) + SELECT + P1.activate_name /*活动名称*/ + ,P1.event_name /*事件名称*/ + ,P1.cue_id /*线索ID*/ + ,P1.activate_time /*活动时间*/ + ,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 t01_scrm_leads_his_agi_CUR_I P1 +LEFT JOIN :PDMDB.t01_scrm_leads_his P2 +ON P1.activate_name = P2.activate_name + AND P1.event_name = P2.event_name + AND P1.cue_id = P2.cue_id + AND P1.activate_time = P2.activate_time + +WHERE P2.activate_name IS NULL + OR P2.event_name IS NULL + OR P2.cue_id IS NULL + OR P2.activate_time IS NULL + +; +/*将新增数据插入到目标表 */ +;INSERT INTO :PDMDB.t01_scrm_leads_his ( + activate_name /*活动名称*/ + ,event_name /*事件名称*/ + ,cue_id /*线索ID*/ + ,activate_time /*活动时间*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) +SELECT + P1.activate_name /*活动名称*/ + ,P1.event_name /*事件名称*/ + ,P1.cue_id /*线索ID*/ + ,P1.activate_time /*活动时间*/ + ,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 t01_scrm_leads_his_agi_INS P1 +ON CONFLICT ( cue_id,activate_time) +DO UPDATE SET + cue_id=excluded.cue_id + ,activate_time=excluded.activate_time + ,activate_name=excluded.activate_name + ,event_name=excluded.event_name + ,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 + diff --git a/TK_Cust/dev/tk_cust/SCRM联系方式/T01_SCRM_CONTACT.sql b/TK_Cust/dev/tk_cust/SCRM联系方式/T01_SCRM_CONTACT.sql new file mode 100644 index 0000000..3c54d11 --- /dev/null +++ b/TK_Cust/dev/tk_cust/SCRM联系方式/T01_SCRM_CONTACT.sql @@ -0,0 +1,42 @@ + +DROP TABLE IF EXISTS p20_pdm.T01_SCRM_CONTACT; +CREATE TABLE IF NOT EXISTS p20_pdm.T01_SCRM_CONTACT ( + scrm_leads_id varchar(20) + , city_name varchar(20) + , company_name varchar(50) + , email varchar(50) + , mobile_number varchar(20) + , full_name varchar(20) + , prov_name varchar(20) + , create_time timestamp(0) + , wechat_id varchar(100) + , update_time timestamp(0) + , Etl_Batch_No varchar(50) + , Etl_First_Dt timestamp(0) + , Etl_Job varchar(50) + , Etl_Proc_Dt timestamp(0) + , Etl_Tx_Dt timestamp(0) + , Src_Sysname varchar(50) + , Src_Table varchar(50) + ,primary key( scrm_leads_id ) +); + + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.scrm_leads_id IS 'SCRM线索ID'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.city_name IS '城市'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.company_name IS '公司'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.email IS '邮箱'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.mobile_number IS '手机号码'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.full_name IS '姓名'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.prov_name IS '省份'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.create_time IS '创建时间'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.wechat_id IS '身份-企业微信外部联系人'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.update_time IS '更新时间'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.Etl_Batch_No IS '作业批次号'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.Etl_First_Dt IS '最初入库时间'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.Etl_Job IS '作业名称'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.Etl_Proc_Dt IS '本次入库时间'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.Etl_Tx_Dt IS '作业运行时间'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.Src_Sysname IS '来源系统'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.Src_Table IS '来源表'; + +COMMENT ON TABLE p20_pdm.T01_SCRM_CONTACT IS 'SCRM联系方式'; \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/SCRM联系方式/T01_SCRM_CONTACT_agi.sql b/TK_Cust/dev/tk_cust/SCRM联系方式/T01_SCRM_CONTACT_agi.sql new file mode 100644 index 0000000..d0a4096 --- /dev/null +++ b/TK_Cust/dev/tk_cust/SCRM联系方式/T01_SCRM_CONTACT_agi.sql @@ -0,0 +1,220 @@ +/***************************************************************************************************/ +/*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 :T01_SCRM_CONTACT(SCRM联系方式) */ +/*Create Date:2024-02-21 19:33:55 */ +/*SDM Developed By: dev */ +/*SDM Developed Date: 2024-01-05 */ +/*SDM Checked By: dev */ +/*SDM Checked Date: 2024-02-21 */ +/*Script Developed By: dev */ +/*Script Checked By: dev */ +/*Source table 1: p10_sa.s98_s_scrm_contact_af0912 */ +/*Job Type: Inbound transform (Tier 1 to Tier 2) */ +/*Target Table:T01_SCRM_CONTACT */ +/*ETL Job Name:T01_SCRM_CONTACT */ +/*ETL Frequency:Daily */ +/*ETL Policy:F2 */ +/********************************************************************************************/ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on + + + +/*创建临时表加载当前数据 */ +CREATE TEMPORARY TABLE T01_SCRM_CONTACT_agi_CUR_I + ( LIKE :PDMDB.T01_SCRM_CONTACT) +ON COMMIT PRESERVE ROWS; + + + +/*创建临时表加载不同数据 */ +CREATE TEMPORARY TABLE T01_SCRM_CONTACT_agi_INS +( LIKE :PDMDB.T01_SCRM_CONTACT) +ON COMMIT PRESERVE ROWS; + + +/*****************************************************************************************************/ +/* GROUP 1:Source Table:s98_s_scrm_contact_af0912*****************************************************/ +/*****************************************************************************************************/ + +INSERT INTO T01_SCRM_CONTACT_agi_CUR_I ( + scrm_leads_id /*SCRM线索ID*/ + ,city_name /*城市*/ + ,company_name /*公司*/ + ,email /*邮箱*/ + ,mobile_number /*手机号码*/ + ,full_name /*姓名*/ + ,prov_name /*省份*/ + ,create_time /*创建时间*/ + ,wechat_id /*身份-企业微信外部联系人*/ + ,update_time /*更新时间*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + ) +SELECT + COALESCE(TRIM(CAST(p0.cue_id AS varchar(20))),'') /*scrm_leads_id*/ + ,COALESCE(TRIM(CAST(p0.city_name AS varchar(20))),'') /*city_name*/ + ,COALESCE(TRIM(CAST(p0.company_name AS varchar(50))),'') /*company_name*/ + ,COALESCE(TRIM(CAST(p0.email AS varchar(50))),'') /*email*/ + ,replace(p0.mobile_number,'.0','') /*mobile_number*/ + ,COALESCE(TRIM(CAST(p0.full_name AS varchar(20))),'') /*full_name*/ + ,COALESCE(TRIM(CAST(p0.prov_name AS varchar(20))),'') /*prov_name*/ + ,COALESCE(TO_TIMESTAMP(CAST(p0.create_time AS VARCHAR(19)),'YYYY-MM-DD HH24:mi:ss'),TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*create_time*/ + ,replace(replace(COALESCE(TRIM(CAST(p0.wechat_id AS varchar(100))),''),'.',''),'e+18','') /*wechat_id*/ + ,COALESCE(TO_TIMESTAMP(CAST(p0.update_time AS VARCHAR(19)),'YYYY-MM-DD HH24:mi:ss'),TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*update_time*/ + ,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('s98_s_scrm_contact_af0912',1,3) /*Src_Sysname*/ + ,'s98_s_scrm_contact_af0912' /*Src_Table*/ + +FROM (select distinct on (cue_id) * from p10_sa.s98_s_scrm_contact_af0912 order by cue_id,update_time desc) p0 + + +; + + + +/*将不同数据插入到临时表 */ +;INSERT INTO T01_SCRM_CONTACT_agi_INS ( + city_name /*城市*/ + ,company_name /*公司*/ + ,email /*邮箱*/ + ,mobile_number /*手机号码*/ + ,full_name /*姓名*/ + ,prov_name /*省份*/ + ,create_time /*创建时间*/ + ,wechat_id /*身份-企业微信外部联系人*/ + ,update_time /*更新时间*/ + ,scrm_leads_id /*SCRM线索ID*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) + SELECT + P1.city_name /*城市*/ + ,P1.company_name /*公司*/ + ,P1.email /*邮箱*/ + ,P1.mobile_number /*手机号码*/ + ,P1.full_name /*姓名*/ + ,P1.prov_name /*省份*/ + ,P1.create_time /*创建时间*/ + ,P1.wechat_id /*身份-企业微信外部联系人*/ + ,P1.update_time /*更新时间*/ + ,P1.scrm_leads_id /*SCRM线索ID*/ + ,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 T01_SCRM_CONTACT_agi_CUR_I P1 +LEFT JOIN :PDMDB.T01_SCRM_CONTACT P2 +ON P1.city_name = P2.city_name + AND P1.company_name = P2.company_name + AND P1.email = P2.email + AND P1.mobile_number = P2.mobile_number + AND P1.full_name = P2.full_name + AND P1.prov_name = P2.prov_name + AND P1.create_time = P2.create_time + AND P1.wechat_id = P2.wechat_id + AND P1.update_time = P2.update_time + AND P1.scrm_leads_id = P2.scrm_leads_id + +WHERE P2.city_name IS NULL + OR P2.company_name IS NULL + OR P2.email IS NULL + OR P2.mobile_number IS NULL + OR P2.full_name IS NULL + OR P2.prov_name IS NULL + OR P2.create_time IS NULL + OR P2.wechat_id IS NULL + OR P2.update_time IS NULL + OR P2.scrm_leads_id IS NULL + +; +/*将新增数据插入到目标表 */ +;INSERT INTO :PDMDB.T01_SCRM_CONTACT ( + city_name /*城市*/ + ,company_name /*公司*/ + ,email /*邮箱*/ + ,mobile_number /*手机号码*/ + ,full_name /*姓名*/ + ,prov_name /*省份*/ + ,create_time /*创建时间*/ + ,wechat_id /*身份-企业微信外部联系人*/ + ,update_time /*更新时间*/ + ,scrm_leads_id /*SCRM线索ID*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) +SELECT + P1.city_name /*城市*/ + ,P1.company_name /*公司*/ + ,P1.email /*邮箱*/ + ,P1.mobile_number /*手机号码*/ + ,P1.full_name /*姓名*/ + ,P1.prov_name /*省份*/ + ,P1.create_time /*创建时间*/ + ,P1.wechat_id /*身份-企业微信外部联系人*/ + ,P1.update_time /*更新时间*/ + ,P1.scrm_leads_id /*SCRM线索ID*/ + ,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 T01_SCRM_CONTACT_agi_INS P1 +ON CONFLICT ( scrm_leads_id) +DO UPDATE SET + scrm_leads_id=excluded.scrm_leads_id + ,city_name=excluded.city_name + ,company_name=excluded.company_name + ,email=excluded.email + ,mobile_number=excluded.mobile_number + ,full_name=excluded.full_name + ,prov_name=excluded.prov_name + ,create_time=excluded.create_time + ,wechat_id=excluded.wechat_id + ,update_time=excluded.update_time + ,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 + diff --git a/TK_Cust/dev/tk_cust/SCRM联系方式历史/t01_scrm_contact_his.sql b/TK_Cust/dev/tk_cust/SCRM联系方式历史/t01_scrm_contact_his.sql new file mode 100644 index 0000000..799f955 --- /dev/null +++ b/TK_Cust/dev/tk_cust/SCRM联系方式历史/t01_scrm_contact_his.sql @@ -0,0 +1,54 @@ + +DROP TABLE IF EXISTS p20_pdm.t01_scrm_contact_his; +CREATE TABLE IF NOT EXISTS p20_pdm.t01_scrm_contact_his ( + scrm_leads_id varchar(20) + , full_name varchar(20) + , mobile_number varchar(20) + , email varchar(50) + , company_name varchar(50) + , init_src_info varchar(50) + , init_src varchar(50) + , init_src_content varchar(50) + , post varchar(50) + , create_time timestamp(0) + , create_mode varchar(50) + , create_from varchar(50) + , city_name varchar(20) + , prov_name varchar(20) + , last_update_time timestamp(0) + , wechat_id varchar(100) + , Etl_Batch_No varchar(50) + , Etl_First_Dt timestamp(0) + , Etl_Job varchar(50) + , Etl_Proc_Dt timestamp(0) + , Etl_Tx_Dt timestamp(0) + , Src_Sysname varchar(50) + , Src_Table varchar(50) + ,primary key( scrm_leads_id ) +); + + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.scrm_leads_id IS 'SCRM线索ID'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.full_name IS '姓名'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.mobile_number IS '手机号码'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.email IS '邮箱'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.company_name IS '公司'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.init_src_info IS '初始来源信息'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.init_src IS '初始来源'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.init_src_content IS '初始来源内容'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.post IS '职位'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.create_time IS '创建时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.create_mode IS '创建方式'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.create_from IS '创建自'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.city_name IS '城市'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.prov_name IS '省份'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.last_update_time IS '最后更新时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.wechat_id IS '身份-企业微信外部联系人'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.Etl_Batch_No IS '作业批次号'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.Etl_First_Dt IS '最初入库时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.Etl_Job IS '作业名称'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.Etl_Proc_Dt IS '本次入库时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.Etl_Tx_Dt IS '作业运行时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.Src_Sysname IS '来源系统'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.Src_Table IS '来源表'; + +COMMENT ON TABLE p20_pdm.t01_scrm_contact_his IS 'SCRM联系方式历史'; \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/SCRM联系方式历史/t01_scrm_contact_his_agi.sql b/TK_Cust/dev/tk_cust/SCRM联系方式历史/t01_scrm_contact_his_agi.sql new file mode 100644 index 0000000..705a08d --- /dev/null +++ b/TK_Cust/dev/tk_cust/SCRM联系方式历史/t01_scrm_contact_his_agi.sql @@ -0,0 +1,271 @@ +/***************************************************************************************************/ +/*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 :t01_scrm_contact_his(SCRM联系方式历史) */ +/*Create Date:2024-01-15 15:16:07 */ +/*SDM Developed By: dev */ +/*SDM Developed Date: 2024-01-10 */ +/*SDM Checked By: dev */ +/*SDM Checked Date: 2024-01-15 */ +/*Script Developed By: dev */ +/*Script Checked By: dev */ +/*Source table 1: p10_sa.s98_s_scrm_contact_bf0912 */ +/*Job Type: Inbound transform (Tier 1 to Tier 2) */ +/*Target Table:t01_scrm_contact_his */ +/*ETL Job Name:t01_scrm_contact_his */ +/*ETL Frequency:Daily */ +/*ETL Policy:F2 */ +/********************************************************************************************/ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on + + + +/*创建临时表加载当前数据 */ +CREATE TEMPORARY TABLE t01_scrm_contact_his_agi_CUR_I + ( LIKE :PDMDB.t01_scrm_contact_his) +ON COMMIT PRESERVE ROWS; + + + +/*创建临时表加载不同数据 */ +CREATE TEMPORARY TABLE t01_scrm_contact_his_agi_INS +( LIKE :PDMDB.t01_scrm_contact_his) +ON COMMIT PRESERVE ROWS; + + +/*****************************************************************************************************/ +/* GROUP 1:Source Table:s98_s_scrm_contact_bf0912*****************************************************/ +/*****************************************************************************************************/ +INSERT INTO t01_scrm_contact_his_agi_CUR_I ( + scrm_leads_id /*SCRM线索ID*/ + ,full_name /*姓名*/ + ,mobile_number /*手机号码*/ + ,email /*邮箱*/ + ,company_name /*公司*/ + ,init_src_info /*初始来源信息*/ + ,init_src /*初始来源*/ + ,init_src_content /*初始来源内容*/ + ,post /*职位*/ + ,create_time /*创建时间*/ + ,create_mode /*创建方式*/ + ,create_from /*创建自*/ + ,city_name /*城市*/ + ,prov_name /*省份*/ + ,last_update_time /*最后更新时间*/ + ,wechat_id /*身份-企业微信外部联系人*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + ) +SELECT + COALESCE(TRIM(CAST(p0.cue_id AS varchar(20))),'') /*scrm_leads_id*/ + ,COALESCE(TRIM(CAST(p0.full_name AS varchar(20))),'') /*full_name*/ + ,COALESCE(TRIM(CAST(p0.mobile_number AS varchar(20))),'') /*mobile_number*/ + ,COALESCE(TRIM(CAST(p0.email AS varchar(50))),'') /*email*/ + ,COALESCE(TRIM(CAST(p0.company_name AS varchar(50))),'') /*company_name*/ + ,COALESCE(TRIM(CAST(p0.init_src_info AS varchar(50))),'') /*init_src_info*/ + ,COALESCE(TRIM(CAST(p0.init_src AS varchar(50))),'') /*init_src*/ + ,COALESCE(TRIM(CAST(p0.init_src_content AS varchar(50))),'') /*init_src_content*/ + ,COALESCE(TRIM(CAST(p0.post AS varchar(50))),'') /*post*/ + ,COALESCE(TO_TIMESTAMP(CAST(p0.create_time AS VARCHAR(19)),'YYYY-MM-DDTHH24:mi:ss'),TO_TIMESTAMP('19000102','YYYYMMDD')) /*create_time*/ + ,COALESCE(TRIM(CAST(p0.create_mode AS varchar(50))),'') /*create_mode*/ + ,COALESCE(TRIM(CAST(p0.create_from AS varchar(50))),'') /*create_from*/ + ,COALESCE(TRIM(CAST(p0.city_name AS varchar(20))),'') /*city_name*/ + ,COALESCE(TRIM(CAST(p0.prov_name AS varchar(20))),'') /*prov_name*/ + ,COALESCE(TO_TIMESTAMP(CAST(p0.last_update_time AS VARCHAR(19)),'YYYY-MM-DDTHH24:mi:ss'),TO_TIMESTAMP('19000102','YYYYMMDD')) /*last_update_time*/ + ,COALESCE(TRIM(CAST(p0.wechat_id AS varchar(100))),'') /*wechat_id*/ + ,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('s98_s_scrm_contact_bf0912',1,3) /*Src_Sysname*/ + ,'s98_s_scrm_contact_bf0912' /*Src_Table*/ + +FROM p10_sa.s98_s_scrm_contact_bf0912 p0 +; + + + +/*将不同数据插入到临时表 */ +;INSERT INTO t01_scrm_contact_his_agi_INS ( + full_name /*姓名*/ + ,mobile_number /*手机号码*/ + ,email /*邮箱*/ + ,company_name /*公司*/ + ,init_src_info /*初始来源信息*/ + ,init_src /*初始来源*/ + ,init_src_content /*初始来源内容*/ + ,post /*职位*/ + ,create_time /*创建时间*/ + ,create_mode /*创建方式*/ + ,create_from /*创建自*/ + ,city_name /*城市*/ + ,prov_name /*省份*/ + ,last_update_time /*最后更新时间*/ + ,wechat_id /*身份-企业微信外部联系人*/ + ,scrm_leads_id /*SCRM线索ID*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) + SELECT + P1.full_name /*姓名*/ + ,P1.mobile_number /*手机号码*/ + ,P1.email /*邮箱*/ + ,P1.company_name /*公司*/ + ,P1.init_src_info /*初始来源信息*/ + ,P1.init_src /*初始来源*/ + ,P1.init_src_content /*初始来源内容*/ + ,P1.post /*职位*/ + ,P1.create_time /*创建时间*/ + ,P1.create_mode /*创建方式*/ + ,P1.create_from /*创建自*/ + ,P1.city_name /*城市*/ + ,P1.prov_name /*省份*/ + ,P1.last_update_time /*最后更新时间*/ + ,P1.wechat_id /*身份-企业微信外部联系人*/ + ,P1.scrm_leads_id /*SCRM线索ID*/ + ,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 t01_scrm_contact_his_agi_CUR_I P1 +LEFT JOIN :PDMDB.t01_scrm_contact_his P2 +ON P1.full_name = P2.full_name + AND P1.mobile_number = P2.mobile_number + AND P1.email = P2.email + AND P1.company_name = P2.company_name + AND P1.init_src_info = P2.init_src_info + AND P1.init_src = P2.init_src + AND P1.init_src_content = P2.init_src_content + AND P1.post = P2.post + AND P1.create_time = P2.create_time + AND P1.create_mode = P2.create_mode + AND P1.create_from = P2.create_from + AND P1.city_name = P2.city_name + AND P1.prov_name = P2.prov_name + AND P1.last_update_time = P2.last_update_time + AND P1.wechat_id = P2.wechat_id + AND P1.scrm_leads_id = P2.scrm_leads_id + +WHERE P2.full_name IS NULL + OR P2.mobile_number IS NULL + OR P2.email IS NULL + OR P2.company_name IS NULL + OR P2.init_src_info IS NULL + OR P2.init_src IS NULL + OR P2.init_src_content IS NULL + OR P2.post IS NULL + OR P2.create_time IS NULL + OR P2.create_mode IS NULL + OR P2.create_from IS NULL + OR P2.city_name IS NULL + OR P2.prov_name IS NULL + OR P2.last_update_time IS NULL + OR P2.wechat_id IS NULL + OR P2.scrm_leads_id IS NULL + +; +/*将新增数据插入到目标表 */ +;INSERT INTO :PDMDB.t01_scrm_contact_his ( + full_name /*姓名*/ + ,mobile_number /*手机号码*/ + ,email /*邮箱*/ + ,company_name /*公司*/ + ,init_src_info /*初始来源信息*/ + ,init_src /*初始来源*/ + ,init_src_content /*初始来源内容*/ + ,post /*职位*/ + ,create_time /*创建时间*/ + ,create_mode /*创建方式*/ + ,create_from /*创建自*/ + ,city_name /*城市*/ + ,prov_name /*省份*/ + ,last_update_time /*最后更新时间*/ + ,wechat_id /*身份-企业微信外部联系人*/ + ,scrm_leads_id /*SCRM线索ID*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) +SELECT + P1.full_name /*姓名*/ + ,P1.mobile_number /*手机号码*/ + ,P1.email /*邮箱*/ + ,P1.company_name /*公司*/ + ,P1.init_src_info /*初始来源信息*/ + ,P1.init_src /*初始来源*/ + ,P1.init_src_content /*初始来源内容*/ + ,P1.post /*职位*/ + ,P1.create_time /*创建时间*/ + ,P1.create_mode /*创建方式*/ + ,P1.create_from /*创建自*/ + ,P1.city_name /*城市*/ + ,P1.prov_name /*省份*/ + ,P1.last_update_time /*最后更新时间*/ + ,P1.wechat_id /*身份-企业微信外部联系人*/ + ,P1.scrm_leads_id /*SCRM线索ID*/ + ,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 t01_scrm_contact_his_agi_INS P1 +ON CONFLICT ( scrm_leads_id) +DO UPDATE SET + scrm_leads_id=excluded.scrm_leads_id + ,full_name=excluded.full_name + ,mobile_number=excluded.mobile_number + ,email=excluded.email + ,company_name=excluded.company_name + ,init_src_info=excluded.init_src_info + ,init_src=excluded.init_src + ,init_src_content=excluded.init_src_content + ,post=excluded.post + ,create_time=excluded.create_time + ,create_mode=excluded.create_mode + ,create_from=excluded.create_from + ,city_name=excluded.city_name + ,prov_name=excluded.prov_name + ,last_update_time=excluded.last_update_time + ,wechat_id=excluded.wechat_id + ,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 + diff --git a/TK_Cust/dev/tk_cust/SCRM联系方式变更/t01_scrm_contact_update.sql b/TK_Cust/dev/tk_cust/SCRM联系方式变更/t01_scrm_contact_update.sql new file mode 100644 index 0000000..c88c78e --- /dev/null +++ b/TK_Cust/dev/tk_cust/SCRM联系方式变更/t01_scrm_contact_update.sql @@ -0,0 +1,42 @@ + +DROP TABLE IF EXISTS p20_pdm.t01_scrm_contact_update; +CREATE TABLE IF NOT EXISTS p20_pdm.t01_scrm_contact_update ( + scrm_leads_id varchar(30) + , city_name varchar(50) + , company_name varchar(50) + , email varchar(50) + , mobile_number varchar(20) + , full_name varchar(20) + , prov_name varchar(50) + , create_time timestamp(0) + , wechat_id varchar(50) + , update_time timestamp(0) + , Etl_Batch_No varchar(50) + , Etl_First_Dt timestamp(0) + , Etl_Job varchar(50) + , Etl_Proc_Dt timestamp(0) + , Etl_Tx_Dt timestamp(0) + , Src_Sysname varchar(50) + , Src_Table varchar(50) + ,primary key( scrm_leads_id,update_time ) +); + + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.scrm_leads_id IS '线索ID'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.city_name IS '城市'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.company_name IS '公司'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.email IS '邮箱'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.mobile_number IS '手机号码'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.full_name IS '姓名'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.prov_name IS '省份'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.create_time IS '创建时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.wechat_id IS '身份-企业微信外部联系人'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.update_time IS '更新时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.Etl_Batch_No IS '作业批次号'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.Etl_First_Dt IS '最初入库时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.Etl_Job IS '作业名称'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.Etl_Proc_Dt IS '本次入库时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.Etl_Tx_Dt IS '作业运行时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.Src_Sysname IS '来源系统'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.Src_Table IS '来源表'; + +COMMENT ON TABLE p20_pdm.t01_scrm_contact_update IS 'SCRM联系方式变更'; \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/SCRM联系方式变更/t01_scrm_contact_update_agi.sql b/TK_Cust/dev/tk_cust/SCRM联系方式变更/t01_scrm_contact_update_agi.sql new file mode 100644 index 0000000..0f8921b --- /dev/null +++ b/TK_Cust/dev/tk_cust/SCRM联系方式变更/t01_scrm_contact_update_agi.sql @@ -0,0 +1,220 @@ +/***************************************************************************************************/ +/*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 :t01_scrm_contact_update(SCRM联系方式变更) */ +/*Create Date:2024-02-21 19:42:12 */ +/*SDM Developed By: dev */ +/*SDM Developed Date: 2024-01-12 */ +/*SDM Checked By: dev */ +/*SDM Checked Date: 2024-02-21 */ +/*Script Developed By: dev */ +/*Script Checked By: dev */ +/*Source table 1: p10_sa.s98_s_scrm_contact_update_af0912 */ +/*Job Type: Inbound transform (Tier 1 to Tier 2) */ +/*Target Table:t01_scrm_contact_update */ +/*ETL Job Name:t01_scrm_contact_update */ +/*ETL Frequency:Daily */ +/*ETL Policy:F2 */ +/********************************************************************************************/ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on + + + +/*创建临时表加载当前数据 */ +CREATE TEMPORARY TABLE t01_scrm_contact_update_agi_CUR_I + ( LIKE :PDMDB.t01_scrm_contact_update) +ON COMMIT PRESERVE ROWS; + + + +/*创建临时表加载不同数据 */ +CREATE TEMPORARY TABLE t01_scrm_contact_update_agi_INS +( LIKE :PDMDB.t01_scrm_contact_update) +ON COMMIT PRESERVE ROWS; + + +/*****************************************************************************************************/ +/* GROUP 1:Source Table:s98_s_scrm_contact_update_af0912**********************************************/ +/*****************************************************************************************************/ + +INSERT INTO t01_scrm_contact_update_agi_CUR_I ( + scrm_leads_id /*线索ID*/ + ,city_name /*城市*/ + ,company_name /*公司*/ + ,email /*邮箱*/ + ,mobile_number /*手机号码*/ + ,full_name /*姓名*/ + ,prov_name /*省份*/ + ,create_time /*创建时间*/ + ,wechat_id /*身份-企业微信外部联系人*/ + ,update_time /*更新时间*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + ) +SELECT + COALESCE(TRIM(CAST(p0.cue_id AS varchar(30))),'') /*scrm_leads_id*/ + ,COALESCE(TRIM(CAST(p0.city_name AS varchar(50))),'') /*city_name*/ + ,COALESCE(TRIM(CAST(p0.company_name AS varchar(50))),'') /*company_name*/ + ,COALESCE(TRIM(CAST(p0.email AS varchar(50))),'') /*email*/ + ,replace(COALESCE(TRIM(CAST(p0.mobile_number AS varchar(20))),''),'.0','') /*mobile_number*/ + ,COALESCE(TRIM(CAST(p0.full_name AS varchar(20))),'') /*full_name*/ + ,COALESCE(TRIM(CAST(p0.prov_name AS varchar(50))),'') /*prov_name*/ + ,COALESCE(TO_TIMESTAMP(CAST(p0.create_time AS VARCHAR(19)),'YYYY-MM-DD HH24:mi:ss'),TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*create_time*/ + ,COALESCE(TRIM(CAST(p0.wechat_id AS varchar(50))),'') /*wechat_id*/ + ,COALESCE(TO_TIMESTAMP(CAST(p0.update_time AS VARCHAR(19)),'YYYY-MM-DDTHH24:mi:ss'),TO_TIMESTAMP('19000102','YYYYMMDD')) /*update_time*/ + ,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('s98_s_scrm_contact_update_af0912',1,3) /*Src_Sysname*/ + ,'s98_s_scrm_contact_update_af0912' /*Src_Table*/ + +FROM (select distinct on (cue_id,update_time) * from p10_sa.s98_s_scrm_contact_update_af0912) p0 + + +; + + + +/*将不同数据插入到临时表 */ +;INSERT INTO t01_scrm_contact_update_agi_INS ( + city_name /*城市*/ + ,company_name /*公司*/ + ,email /*邮箱*/ + ,mobile_number /*手机号码*/ + ,full_name /*姓名*/ + ,prov_name /*省份*/ + ,create_time /*创建时间*/ + ,wechat_id /*身份-企业微信外部联系人*/ + ,scrm_leads_id /*线索ID*/ + ,update_time /*更新时间*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) + SELECT + P1.city_name /*城市*/ + ,P1.company_name /*公司*/ + ,P1.email /*邮箱*/ + ,P1.mobile_number /*手机号码*/ + ,P1.full_name /*姓名*/ + ,P1.prov_name /*省份*/ + ,P1.create_time /*创建时间*/ + ,P1.wechat_id /*身份-企业微信外部联系人*/ + ,P1.scrm_leads_id /*线索ID*/ + ,P1.update_time /*更新时间*/ + ,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 t01_scrm_contact_update_agi_CUR_I P1 +LEFT JOIN :PDMDB.t01_scrm_contact_update P2 +ON P1.city_name = P2.city_name + AND P1.company_name = P2.company_name + AND P1.email = P2.email + AND P1.mobile_number = P2.mobile_number + AND P1.full_name = P2.full_name + AND P1.prov_name = P2.prov_name + AND P1.create_time = P2.create_time + AND P1.wechat_id = P2.wechat_id + AND P1.scrm_leads_id = P2.scrm_leads_id + AND P1.update_time = P2.update_time + +WHERE P2.city_name IS NULL + OR P2.company_name IS NULL + OR P2.email IS NULL + OR P2.mobile_number IS NULL + OR P2.full_name IS NULL + OR P2.prov_name IS NULL + OR P2.create_time IS NULL + OR P2.wechat_id IS NULL + OR P2.scrm_leads_id IS NULL + OR P2.update_time IS NULL + +; +/*将新增数据插入到目标表 */ +;INSERT INTO :PDMDB.t01_scrm_contact_update ( + city_name /*城市*/ + ,company_name /*公司*/ + ,email /*邮箱*/ + ,mobile_number /*手机号码*/ + ,full_name /*姓名*/ + ,prov_name /*省份*/ + ,create_time /*创建时间*/ + ,wechat_id /*身份-企业微信外部联系人*/ + ,scrm_leads_id /*线索ID*/ + ,update_time /*更新时间*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) +SELECT + P1.city_name /*城市*/ + ,P1.company_name /*公司*/ + ,P1.email /*邮箱*/ + ,P1.mobile_number /*手机号码*/ + ,P1.full_name /*姓名*/ + ,P1.prov_name /*省份*/ + ,P1.create_time /*创建时间*/ + ,P1.wechat_id /*身份-企业微信外部联系人*/ + ,P1.scrm_leads_id /*线索ID*/ + ,P1.update_time /*更新时间*/ + ,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 t01_scrm_contact_update_agi_INS P1 +ON CONFLICT ( scrm_leads_id,update_time) +DO UPDATE SET + scrm_leads_id=excluded.scrm_leads_id + ,update_time=excluded.update_time + ,city_name=excluded.city_name + ,company_name=excluded.company_name + ,email=excluded.email + ,mobile_number=excluded.mobile_number + ,full_name=excluded.full_name + ,prov_name=excluded.prov_name + ,create_time=excluded.create_time + ,wechat_id=excluded.wechat_id + ,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 + diff --git a/TK_Cust/dev/tk_cust/SCRM联系方式合并/t01_scrm_contact_merge.sql b/TK_Cust/dev/tk_cust/SCRM联系方式合并/t01_scrm_contact_merge.sql new file mode 100644 index 0000000..4346f42 --- /dev/null +++ b/TK_Cust/dev/tk_cust/SCRM联系方式合并/t01_scrm_contact_merge.sql @@ -0,0 +1,52 @@ + +DROP TABLE IF EXISTS p20_pdm.t01_scrm_contact_merge; +CREATE TABLE IF NOT EXISTS p20_pdm.t01_scrm_contact_merge ( + merged_leads_id varchar(30) + , scrm_leads_id varchar(30) + , proc_date timestamp(0) + , event varchar(30) + , target_name varchar(30) + , last_updated timestamp(0) + , name varchar(30) + , type varchar(30) + , content_name varchar(30) + , source varchar(30) + , tag varchar(30) + , keyword varchar(30) + , attr varchar(30) + , group_label varchar(30) + , label varchar(30) + , Etl_Batch_No varchar(50) + , Etl_First_Dt timestamp(0) + , Etl_Job varchar(50) + , Etl_Proc_Dt timestamp(0) + , Etl_Tx_Dt timestamp(0) + , Src_Sysname varchar(50) + , Src_Table varchar(50) + ,primary key( merged_leads_id,scrm_leads_id ) +); + + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_merge.merged_leads_id IS '被合并线索ID'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_merge.scrm_leads_id IS '线索ID'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_merge.proc_date IS '处理日期'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_merge.event IS '处理事项'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_merge.target_name IS '目标名称'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_merge.last_updated IS '最后更新日期'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_merge.name IS '名称'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_merge.type IS '类型'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_merge.content_name IS '目录名称'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_merge.source IS '来源'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_merge.tag IS '客户标签'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_merge.keyword IS '关键词'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_merge.attr IS '属性'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_merge.group_label IS '标签组'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_merge.label IS '标签'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_merge.Etl_Batch_No IS '作业批次号'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_merge.Etl_First_Dt IS '最初入库时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_merge.Etl_Job IS '作业名称'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_merge.Etl_Proc_Dt IS '本次入库时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_merge.Etl_Tx_Dt IS '作业运行时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_merge.Src_Sysname IS '来源系统'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_merge.Src_Table IS '来源表'; + +COMMENT ON TABLE p20_pdm.t01_scrm_contact_merge IS 'SCRM联系方式合并'; \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/SCRM联系方式合并/t01_scrm_contact_merge_agi.sql b/TK_Cust/dev/tk_cust/SCRM联系方式合并/t01_scrm_contact_merge_agi.sql new file mode 100644 index 0000000..609c835 --- /dev/null +++ b/TK_Cust/dev/tk_cust/SCRM联系方式合并/t01_scrm_contact_merge_agi.sql @@ -0,0 +1,265 @@ +/***************************************************************************************************/ +/*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 :t01_scrm_contact_merge(SCRM联系方式合并) */ +/*Create Date:2024-01-15 16:14:06 */ +/*SDM Developed By: dev */ +/*SDM Developed Date: 2024-01-12 */ +/*SDM Checked By: dev */ +/*SDM Checked Date: 2024-01-15 */ +/*Script Developed By: dev */ +/*Script Checked By: dev */ +/*Source table 1: p10_sa.s98_s_scrm_contact_merge_af0912 */ +/*Job Type: Inbound transform (Tier 1 to Tier 2) */ +/*Target Table:t01_scrm_contact_merge */ +/*ETL Job Name:t01_scrm_contact_merge */ +/*ETL Frequency:Daily */ +/*ETL Policy:F2 */ +/********************************************************************************************/ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on + + + +/*创建临时表加载当前数据 */ +CREATE TEMPORARY TABLE t01_scrm_contact_merge_agi_CUR_I + ( LIKE :PDMDB.t01_scrm_contact_merge) +ON COMMIT PRESERVE ROWS; + + + +/*创建临时表加载不同数据 */ +CREATE TEMPORARY TABLE t01_scrm_contact_merge_agi_INS +( LIKE :PDMDB.t01_scrm_contact_merge) +ON COMMIT PRESERVE ROWS; + + +/*****************************************************************************************************/ +/* GROUP 1:Source Table:s98_s_scrm_contact_merge_af0912***********************************************/ +/*****************************************************************************************************/ + +INSERT INTO t01_scrm_contact_merge_agi_CUR_I ( + merged_leads_id /*被合并线索ID*/ + ,scrm_leads_id /*线索ID*/ + ,proc_date /*处理日期*/ + ,event /*处理事项*/ + ,target_name /*目标名称*/ + ,last_updated /*最后更新日期*/ + ,name /*名称*/ + ,type /*类型*/ + ,content_name /*目录名称*/ + ,source /*来源*/ + ,tag /*客户标签*/ + ,keyword /*关键词*/ + ,attr /*属性*/ + ,group_label /*标签组*/ + ,label /*标签*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + ) +SELECT + COALESCE(TRIM(CAST(p0.merged_customer_id AS varchar(30))),'') /*merged_leads_id*/ + ,COALESCE(TRIM(CAST(p0.customer_id AS varchar(30))),'') /*scrm_leads_id*/ + ,COALESCE(TO_TIMESTAMP(CAST(p0.date AS VARCHAR(19)),'YYYY-MM-DD HH24:mi:ss'),TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*proc_date*/ + ,COALESCE(TRIM(CAST(p0.event AS varchar(30))),'') /*event*/ + ,COALESCE(TRIM(CAST(p0.target_name AS varchar(30))),'') /*target_name*/ + ,COALESCE(TO_TIMESTAMP(CAST(p0.last_updated AS VARCHAR(19)),'YYYY-MM-DDTHH24:mi:ss'),TO_TIMESTAMP('19000102','YYYYMMDD')) /*last_updated*/ + ,COALESCE(TRIM(CAST(p0.c_name AS varchar(30))),'') /*name*/ + ,COALESCE(TRIM(CAST(p0.c_type AS varchar(30))),'') /*type*/ + ,COALESCE(TRIM(CAST(p0.content_name AS varchar(30))),'') /*content_name*/ + ,COALESCE(TRIM(CAST(p0.source AS varchar(30))),'') /*source*/ + ,COALESCE(TRIM(CAST(p0.tag AS varchar(30))),'') /*tag*/ + ,COALESCE(TRIM(CAST(p0.c_keyword AS varchar(30))),'') /*keyword*/ + ,COALESCE(TRIM(CAST(p0.attr2 AS varchar(30))),'') /*attr*/ + ,COALESCE(TRIM(CAST(p0.group_label AS varchar(30))),'') /*group_label*/ + ,COALESCE(TRIM(CAST(p0.label AS varchar(30))),'') /*label*/ + ,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('s98_s_scrm_contact_merge_af0912',1,3) /*Src_Sysname*/ + ,'s98_s_scrm_contact_merge_af0912' /*Src_Table*/ + +FROM (select distinct on (merged_customer_id,customer_id) * from p10_sa.s98_s_scrm_contact_merge_af0912 order by merged_customer_id,customer_id,last_updated desc) p0 + + +; + + + +/*将不同数据插入到临时表 */ +;INSERT INTO t01_scrm_contact_merge_agi_INS ( + proc_date /*处理日期*/ + ,event /*处理事项*/ + ,target_name /*目标名称*/ + ,last_updated /*最后更新日期*/ + ,name /*名称*/ + ,type /*类型*/ + ,content_name /*目录名称*/ + ,source /*来源*/ + ,tag /*客户标签*/ + ,keyword /*关键词*/ + ,attr /*属性*/ + ,group_label /*标签组*/ + ,label /*标签*/ + ,merged_leads_id /*被合并线索ID*/ + ,scrm_leads_id /*线索ID*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) + SELECT + P1.proc_date /*处理日期*/ + ,P1.event /*处理事项*/ + ,P1.target_name /*目标名称*/ + ,P1.last_updated /*最后更新日期*/ + ,P1.name /*名称*/ + ,P1.type /*类型*/ + ,P1.content_name /*目录名称*/ + ,P1.source /*来源*/ + ,P1.tag /*客户标签*/ + ,P1.keyword /*关键词*/ + ,P1.attr /*属性*/ + ,P1.group_label /*标签组*/ + ,P1.label /*标签*/ + ,P1.merged_leads_id /*被合并线索ID*/ + ,P1.scrm_leads_id /*线索ID*/ + ,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 t01_scrm_contact_merge_agi_CUR_I P1 +LEFT JOIN :PDMDB.t01_scrm_contact_merge P2 +ON P1.proc_date = P2.proc_date + AND P1.event = P2.event + AND P1.target_name = P2.target_name + AND P1.last_updated = P2.last_updated + AND P1.name = P2.name + AND P1.type = P2.type + AND P1.content_name = P2.content_name + AND P1.source = P2.source + AND P1.tag = P2.tag + AND P1.keyword = P2.keyword + AND P1.attr = P2.attr + AND P1.group_label = P2.group_label + AND P1.label = P2.label + AND P1.merged_leads_id = P2.merged_leads_id + AND P1.scrm_leads_id = P2.scrm_leads_id + +WHERE P2.proc_date IS NULL + OR P2.event IS NULL + OR P2.target_name IS NULL + OR P2.last_updated IS NULL + OR P2.name IS NULL + OR P2.type IS NULL + OR P2.content_name IS NULL + OR P2.source IS NULL + OR P2.tag IS NULL + OR P2.keyword IS NULL + OR P2.attr IS NULL + OR P2.group_label IS NULL + OR P2.label IS NULL + OR P2.merged_leads_id IS NULL + OR P2.scrm_leads_id IS NULL + +; +/*将新增数据插入到目标表 */ +;INSERT INTO :PDMDB.t01_scrm_contact_merge ( + proc_date /*处理日期*/ + ,event /*处理事项*/ + ,target_name /*目标名称*/ + ,last_updated /*最后更新日期*/ + ,name /*名称*/ + ,type /*类型*/ + ,content_name /*目录名称*/ + ,source /*来源*/ + ,tag /*客户标签*/ + ,keyword /*关键词*/ + ,attr /*属性*/ + ,group_label /*标签组*/ + ,label /*标签*/ + ,merged_leads_id /*被合并线索ID*/ + ,scrm_leads_id /*线索ID*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) +SELECT + P1.proc_date /*处理日期*/ + ,P1.event /*处理事项*/ + ,P1.target_name /*目标名称*/ + ,P1.last_updated /*最后更新日期*/ + ,P1.name /*名称*/ + ,P1.type /*类型*/ + ,P1.content_name /*目录名称*/ + ,P1.source /*来源*/ + ,P1.tag /*客户标签*/ + ,P1.keyword /*关键词*/ + ,P1.attr /*属性*/ + ,P1.group_label /*标签组*/ + ,P1.label /*标签*/ + ,P1.merged_leads_id /*被合并线索ID*/ + ,P1.scrm_leads_id /*线索ID*/ + ,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 t01_scrm_contact_merge_agi_INS P1 +ON CONFLICT ( merged_leads_id,scrm_leads_id) +DO UPDATE SET + merged_leads_id=excluded.merged_leads_id + ,scrm_leads_id=excluded.scrm_leads_id + ,proc_date=excluded.proc_date + ,event=excluded.event + ,target_name=excluded.target_name + ,last_updated=excluded.last_updated + ,name=excluded.name + ,type=excluded.type + ,content_name=excluded.content_name + ,source=excluded.source + ,tag=excluded.tag + ,keyword=excluded.keyword + ,attr=excluded.attr + ,group_label=excluded.group_label + ,label=excluded.label + ,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 + diff --git a/TK_Cust/dev/tk_cust/Udesk记录/t01_udesk_record.sql b/TK_Cust/dev/tk_cust/Udesk记录/t01_udesk_record.sql new file mode 100644 index 0000000..085defc --- /dev/null +++ b/TK_Cust/dev/tk_cust/Udesk记录/t01_udesk_record.sql @@ -0,0 +1,48 @@ + +DROP TABLE IF EXISTS p20_pdm.t01_udesk_record; +CREATE TABLE IF NOT EXISTS p20_pdm.t01_udesk_record ( + record_time timestamp(0) + , duration time + , cust varchar(20) + , mobile_phone varchar(20) + , call_result varchar(20) + , call_origin_location varchar(20) + , relay_number varchar(50) + , satisfaction varchar(20) + , type varchar(20) + , device_status varchar(20) + , company_name varchar(20) + , queue_status varchar(20) + , queue_time time + , message varchar(20) + , hung_up varchar(20) + , responsible_group varchar(20) + , blacklist varchar(20) + , inquiry_content varchar(20) + , icr_record text + , call_id varchar(50) + ,primary key( record_time,call_id ) +); + + COMMENT ON COLUMN p20_pdm.t01_udesk_record.record_time IS '记录时间'; + COMMENT ON COLUMN p20_pdm.t01_udesk_record.duration IS '通话时长'; + COMMENT ON COLUMN p20_pdm.t01_udesk_record.cust IS '客户'; + COMMENT ON COLUMN p20_pdm.t01_udesk_record.mobile_phone IS '客户电话'; + COMMENT ON COLUMN p20_pdm.t01_udesk_record.call_result IS '通话结果'; + COMMENT ON COLUMN p20_pdm.t01_udesk_record.call_origin_location IS '归属地'; + COMMENT ON COLUMN p20_pdm.t01_udesk_record.relay_number IS '中继号'; + COMMENT ON COLUMN p20_pdm.t01_udesk_record.satisfaction IS '满意度评价'; + COMMENT ON COLUMN p20_pdm.t01_udesk_record.type IS '通话类型'; + COMMENT ON COLUMN p20_pdm.t01_udesk_record.device_status IS '设备状态'; + COMMENT ON COLUMN p20_pdm.t01_udesk_record.company_name IS '公司'; + COMMENT ON COLUMN p20_pdm.t01_udesk_record.queue_status IS '排队状态'; + COMMENT ON COLUMN p20_pdm.t01_udesk_record.queue_time IS '排队耗时'; + COMMENT ON COLUMN p20_pdm.t01_udesk_record.message IS '留言'; + COMMENT ON COLUMN p20_pdm.t01_udesk_record.hung_up IS '通话挂断方'; + COMMENT ON COLUMN p20_pdm.t01_udesk_record.responsible_group IS '负责组'; + COMMENT ON COLUMN p20_pdm.t01_udesk_record.blacklist IS '是否在黑名单'; + COMMENT ON COLUMN p20_pdm.t01_udesk_record.inquiry_content IS '咨询内容'; + COMMENT ON COLUMN p20_pdm.t01_udesk_record.icr_record IS 'IVR录音'; + COMMENT ON COLUMN p20_pdm.t01_udesk_record.call_id IS 'Call ID'; + +COMMENT ON TABLE p20_pdm.t01_udesk_record IS 'Udesk记录'; \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/Udesk记录/t01_udesk_record_agi.sql b/TK_Cust/dev/tk_cust/Udesk记录/t01_udesk_record_agi.sql new file mode 100644 index 0000000..f2a5098 --- /dev/null +++ b/TK_Cust/dev/tk_cust/Udesk记录/t01_udesk_record_agi.sql @@ -0,0 +1,258 @@ +/***************************************************************************************************/ +/*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 :t01_udesk_record(Udesk记录) */ +/*Create Date:2024-01-25 11:31:31 */ +/*SDM Developed By: dev */ +/*SDM Developed Date: 2024-01-15 */ +/*SDM Checked By: dev */ +/*SDM Checked Date: 2024-01-25 */ +/*Script Developed By: dev */ +/*Script Checked By: dev */ +/*Source table 1: p10_sa.s98_s_udesk_record */ +/*Job Type: Inbound transform (Tier 1 to Tier 2) */ +/*Target Table:t01_udesk_record */ +/*ETL Job Name:t01_udesk_record */ +/*ETL Frequency:Daily */ +/*ETL Policy:F2 */ +/********************************************************************************************/ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on + + + +/*创建临时表加载当前数据 */ +CREATE TEMPORARY TABLE t01_udesk_record_agi_CUR_I + ( LIKE :PDMDB.t01_udesk_record) +ON COMMIT PRESERVE ROWS; + + + +/*创建临时表加载不同数据 */ +CREATE TEMPORARY TABLE t01_udesk_record_agi_INS +( LIKE :PDMDB.t01_udesk_record) +ON COMMIT PRESERVE ROWS; + + +/*****************************************************************************************************/ +/* GROUP 1:Source Table:s98_s_udesk_record************************************************************/ +/*****************************************************************************************************/ +INSERT INTO t01_udesk_record_agi_CUR_I ( + record_time /*记录时间*/ + ,duration /*通话时长*/ + ,cust /*客户*/ + ,mobile_phone /*客户电话*/ + ,call_result /*通话结果*/ + ,call_origin_location /*归属地*/ + ,relay_number /*中继号*/ + ,satisfaction /*满意度评价*/ + ,type /*通话类型*/ + ,device_status /*设备状态*/ + ,company_name /*公司*/ + ,queue_status /*排队状态*/ + ,queue_time /*排队耗时*/ + ,message /*留言*/ + ,hung_up /*通话挂断方*/ + ,responsible_group /*负责组*/ + ,blacklist /*是否在黑名单*/ + ,inquiry_content /*咨询内容*/ + ,icr_record /*IVR录音*/ + ,call_id /*Call ID*/ + ) +SELECT + COALESCE(TO_TIMESTAMP(CAST(p0.record_time AS VARCHAR(19)),'YYYY-MM-DD HH24:mi:ss'),TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*record_time*/ + ,COALESCE(CAST(p0.duration AS time),'00:00:00'::time) /*duration*/ + ,COALESCE(TRIM(CAST(p0.cust AS varchar(20))),'') /*cust*/ + ,COALESCE(TRIM(CAST(p0.mobile_phone AS varchar(20))),'') /*mobile_phone*/ + ,COALESCE(TRIM(CAST(p0.call_result AS varchar(20))),'') /*call_result*/ + ,COALESCE(TRIM(CAST(p0.call_origin_location AS varchar(20))),'') /*call_origin_location*/ + ,COALESCE(TRIM(CAST(p0.relay_number AS varchar(50))),'') /*relay_number*/ + ,COALESCE(TRIM(CAST(p0.satisfaction AS varchar(20))),'') /*satisfaction*/ + ,COALESCE(TRIM(CAST(p0.type AS varchar(20))),'') /*type*/ + ,COALESCE(TRIM(CAST(p0.device_status AS varchar(20))),'') /*device_status*/ + ,COALESCE(TRIM(CAST(p0.company_name AS varchar(20))),'') /*company_name*/ + ,COALESCE(TRIM(CAST(p0.queue_status AS varchar(20))),'') /*queue_status*/ + ,COALESCE(CAST(p0.queue_time AS time),'00:00:00'::time) /*queue_time*/ + ,COALESCE(TRIM(CAST(p0.message AS varchar(20))),'') /*message*/ + ,COALESCE(TRIM(CAST(p0.hung_up AS varchar(20))),'') /*hung_up*/ + ,COALESCE(TRIM(CAST(p0.responsible_group AS varchar(20))),'') /*responsible_group*/ + ,COALESCE(TRIM(CAST(p0.blacklist AS varchar(20))),'') /*blacklist*/ + ,COALESCE(TRIM(CAST(p0.inquiry_content AS varchar(20))),'') /*inquiry_content*/ + ,COALESCE(TRIM(p0.icr_record),'') /*icr_record*/ + ,COALESCE(TRIM(CAST(p0.call_id AS varchar(50))),'') /*call_id*/ + +FROM p10_sa.s98_s_udesk_record p0 +; + + + +/*将不同数据插入到临时表 */ +;INSERT INTO t01_udesk_record_agi_INS ( + duration /*通话时长*/ + ,cust /*客户*/ + ,mobile_phone /*客户电话*/ + ,call_result /*通话结果*/ + ,call_origin_location /*归属地*/ + ,relay_number /*中继号*/ + ,satisfaction /*满意度评价*/ + ,type /*通话类型*/ + ,device_status /*设备状态*/ + ,company_name /*公司*/ + ,queue_status /*排队状态*/ + ,queue_time /*排队耗时*/ + ,message /*留言*/ + ,hung_up /*通话挂断方*/ + ,responsible_group /*负责组*/ + ,blacklist /*是否在黑名单*/ + ,inquiry_content /*咨询内容*/ + ,icr_record /*IVR录音*/ + ,record_time /*记录时间*/ + ,call_id /*Call ID*/ + +) + SELECT + P1.duration /*通话时长*/ + ,P1.cust /*客户*/ + ,P1.mobile_phone /*客户电话*/ + ,P1.call_result /*通话结果*/ + ,P1.call_origin_location /*归属地*/ + ,P1.relay_number /*中继号*/ + ,P1.satisfaction /*满意度评价*/ + ,P1.type /*通话类型*/ + ,P1.device_status /*设备状态*/ + ,P1.company_name /*公司*/ + ,P1.queue_status /*排队状态*/ + ,P1.queue_time /*排队耗时*/ + ,P1.message /*留言*/ + ,P1.hung_up /*通话挂断方*/ + ,P1.responsible_group /*负责组*/ + ,P1.blacklist /*是否在黑名单*/ + ,P1.inquiry_content /*咨询内容*/ + ,P1.icr_record /*IVR录音*/ + ,P1.record_time /*记录时间*/ + ,P1.call_id /*Call ID*/ + +FROM t01_udesk_record_agi_CUR_I P1 +LEFT JOIN :PDMDB.t01_udesk_record P2 +ON P1.duration = P2.duration + AND P1.cust = P2.cust + AND P1.mobile_phone = P2.mobile_phone + AND P1.call_result = P2.call_result + AND P1.call_origin_location = P2.call_origin_location + AND P1.relay_number = P2.relay_number + AND P1.satisfaction = P2.satisfaction + AND P1.type = P2.type + AND P1.device_status = P2.device_status + AND P1.company_name = P2.company_name + AND P1.queue_status = P2.queue_status + AND P1.queue_time = P2.queue_time + AND P1.message = P2.message + AND P1.hung_up = P2.hung_up + AND P1.responsible_group = P2.responsible_group + AND P1.blacklist = P2.blacklist + AND P1.inquiry_content = P2.inquiry_content + AND P1.icr_record = P2.icr_record + AND P1.record_time = P2.record_time + AND P1.call_id = P2.call_id + +WHERE P2.duration IS NULL + OR P2.cust IS NULL + OR P2.mobile_phone IS NULL + OR P2.call_result IS NULL + OR P2.call_origin_location IS NULL + OR P2.relay_number IS NULL + OR P2.satisfaction IS NULL + OR P2.type IS NULL + OR P2.device_status IS NULL + OR P2.company_name IS NULL + OR P2.queue_status IS NULL + OR P2.queue_time IS NULL + OR P2.message IS NULL + OR P2.hung_up IS NULL + OR P2.responsible_group IS NULL + OR P2.blacklist IS NULL + OR P2.inquiry_content IS NULL + OR P2.icr_record IS NULL + OR P2.record_time IS NULL + OR P2.call_id IS NULL + +; +/*将新增数据插入到目标表 */ +;INSERT INTO :PDMDB.t01_udesk_record ( + duration /*通话时长*/ + ,cust /*客户*/ + ,mobile_phone /*客户电话*/ + ,call_result /*通话结果*/ + ,call_origin_location /*归属地*/ + ,relay_number /*中继号*/ + ,satisfaction /*满意度评价*/ + ,type /*通话类型*/ + ,device_status /*设备状态*/ + ,company_name /*公司*/ + ,queue_status /*排队状态*/ + ,queue_time /*排队耗时*/ + ,message /*留言*/ + ,hung_up /*通话挂断方*/ + ,responsible_group /*负责组*/ + ,blacklist /*是否在黑名单*/ + ,inquiry_content /*咨询内容*/ + ,icr_record /*IVR录音*/ + ,record_time /*记录时间*/ + ,call_id /*Call ID*/ + +) +SELECT + P1.duration /*通话时长*/ + ,P1.cust /*客户*/ + ,P1.mobile_phone /*客户电话*/ + ,P1.call_result /*通话结果*/ + ,P1.call_origin_location /*归属地*/ + ,P1.relay_number /*中继号*/ + ,P1.satisfaction /*满意度评价*/ + ,P1.type /*通话类型*/ + ,P1.device_status /*设备状态*/ + ,P1.company_name /*公司*/ + ,P1.queue_status /*排队状态*/ + ,P1.queue_time /*排队耗时*/ + ,P1.message /*留言*/ + ,P1.hung_up /*通话挂断方*/ + ,P1.responsible_group /*负责组*/ + ,P1.blacklist /*是否在黑名单*/ + ,P1.inquiry_content /*咨询内容*/ + ,P1.icr_record /*IVR录音*/ + ,P1.record_time /*记录时间*/ + ,P1.call_id /*Call ID*/ + +FROM t01_udesk_record_agi_INS P1 +ON CONFLICT ( record_time,call_id) +DO UPDATE SET + record_time=excluded.record_time + ,call_id=excluded.call_id + ,duration=excluded.duration + ,cust=excluded.cust + ,mobile_phone=excluded.mobile_phone + ,call_result=excluded.call_result + ,call_origin_location=excluded.call_origin_location + ,relay_number=excluded.relay_number + ,satisfaction=excluded.satisfaction + ,type=excluded.type + ,device_status=excluded.device_status + ,company_name=excluded.company_name + ,queue_status=excluded.queue_status + ,queue_time=excluded.queue_time + ,message=excluded.message + ,hung_up=excluded.hung_up + ,responsible_group=excluded.responsible_group + ,blacklist=excluded.blacklist + ,inquiry_content=excluded.inquiry_content + ,icr_record=excluded.icr_record + + +; +/*****程序结束退出 */ +\q + diff --git a/TK_Cust/dev/tk_cust/china_city/S98_S_china_city.sql b/TK_Cust/dev/tk_cust/china_city/S98_S_china_city.sql new file mode 100644 index 0000000..39d5586 --- /dev/null +++ b/TK_Cust/dev/tk_cust/china_city/S98_S_china_city.sql @@ -0,0 +1,58 @@ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on +delete from p10_sa.S98_S_china_city +; +insert into p10_sa.S98_S_china_city +( prov_cn + , province + , city_cn + , city + , city_cn2 + , city2 + , postalcode + , area_code + , area + , etl_tx_dt ) + select + prov_cn + , province + , city_cn + , city + , city_cn2 + , city2 + , postalcode + , area_code + , area + , etl_tx_dt + from p00_tal.S98_S_china_city + ; + delete from p12_sfull.S98_S_china_city +; +; +insert into p12_sfull.S98_S_china_city +( prov_cn + , province + , city_cn + , city + , city_cn2 + , city2 + , postalcode + , area_code + , area + , etl_tx_dt ) + select + prov_cn + , province + , city_cn + , city + , city_cn2 + , city2 + , postalcode + , area_code + , area + , etl_tx_dt + from p10_sa.S98_S_china_city +; +\q \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/china_city/sa_foreign_tables.sql b/TK_Cust/dev/tk_cust/china_city/sa_foreign_tables.sql new file mode 100644 index 0000000..d91ef3a --- /dev/null +++ b/TK_Cust/dev/tk_cust/china_city/sa_foreign_tables.sql @@ -0,0 +1,21 @@ + +CREATE FOREIGN TABLE if not exists p00_tal.S98_S_china_city ( + prov_cn TEXT + , province TEXT + , city_cn TEXT + , city TEXT + , city_cn2 TEXT + , city2 TEXT + , postalcode TEXT + , area_code TEXT + , area TEXT + , etl_tx_dt TIMESTAMP +) + + +SERVER pgsql_server_S98_S OPTIONS(schema_name 'data_api', table_name 'china_city' ); + + + + + diff --git a/TK_Cust/dev/tk_cust/china_city/sa_tables.sql b/TK_Cust/dev/tk_cust/china_city/sa_tables.sql new file mode 100644 index 0000000..4a18aea --- /dev/null +++ b/TK_Cust/dev/tk_cust/china_city/sa_tables.sql @@ -0,0 +1,55 @@ + +create table if not exists p10_sa.S98_S_china_city ( + prov_cn TEXT + , province TEXT + , city_cn TEXT + , city TEXT + , city_cn2 TEXT + , city2 TEXT + , postalcode TEXT + , area_code TEXT + , area TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p10_sa.S98_S_china_city.prov_cn IS '省份'; + COMMENT ON COLUMN p10_sa.S98_S_china_city.province IS 'province'; + COMMENT ON COLUMN p10_sa.S98_S_china_city.city_cn IS '城市'; + COMMENT ON COLUMN p10_sa.S98_S_china_city.city IS 'City'; + COMMENT ON COLUMN p10_sa.S98_S_china_city.city_cn2 IS '城市2'; + COMMENT ON COLUMN p10_sa.S98_S_china_city.city2 IS 'City2'; + COMMENT ON COLUMN p10_sa.S98_S_china_city.postalcode IS '邮编/postalcode'; + COMMENT ON COLUMN p10_sa.S98_S_china_city.area_code IS '区号/area code'; + COMMENT ON COLUMN p10_sa.S98_S_china_city.area IS '区域'; + COMMENT ON COLUMN p10_sa.S98_S_china_city.etl_tx_dt IS ''; + +COMMENT ON TABLE p10_sa.S98_S_china_city IS ''; + + + +create table if not exists p12_sfull.S98_S_china_city ( + prov_cn TEXT + , province TEXT + , city_cn TEXT + , city TEXT + , city_cn2 TEXT + , city2 TEXT + , postalcode TEXT + , area_code TEXT + , area TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p12_sfull.S98_S_china_city.prov_cn IS '省份'; + COMMENT ON COLUMN p12_sfull.S98_S_china_city.province IS 'province'; + COMMENT ON COLUMN p12_sfull.S98_S_china_city.city_cn IS '城市'; + COMMENT ON COLUMN p12_sfull.S98_S_china_city.city IS 'City'; + COMMENT ON COLUMN p12_sfull.S98_S_china_city.city_cn2 IS '城市2'; + COMMENT ON COLUMN p12_sfull.S98_S_china_city.city2 IS 'City2'; + COMMENT ON COLUMN p12_sfull.S98_S_china_city.postalcode IS '邮编/postalcode'; + COMMENT ON COLUMN p12_sfull.S98_S_china_city.area_code IS '区号/area code'; + COMMENT ON COLUMN p12_sfull.S98_S_china_city.area IS '区域'; + COMMENT ON COLUMN p12_sfull.S98_S_china_city.etl_tx_dt IS ''; + +COMMENT ON TABLE p12_sfull.S98_S_china_city IS ''; + diff --git a/TK_Cust/dev/tk_cust/country_cde/S98_S_country_cde.sql b/TK_Cust/dev/tk_cust/country_cde/S98_S_country_cde.sql new file mode 100644 index 0000000..3249aa6 --- /dev/null +++ b/TK_Cust/dev/tk_cust/country_cde/S98_S_country_cde.sql @@ -0,0 +1,50 @@ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on +delete from p10_sa.S98_S_country_cde +; +insert into p10_sa.S98_S_country_cde +( country_cn_name + , country_en_name + , country_cd + , country_abbr + , country_number + , inter_tel_cd + , internet_name + , etl_tx_dt ) + select + country_cn_name + , country_en_name + , country_cd + , country_abbr + , country_number + , inter_tel_cd + , internet_name + , etl_tx_dt + from p00_tal.S98_S_country_cde + ; + delete from p12_sfull.S98_S_country_cde +; +; +insert into p12_sfull.S98_S_country_cde +( country_cn_name + , country_en_name + , country_cd + , country_abbr + , country_number + , inter_tel_cd + , internet_name + , etl_tx_dt ) + select + country_cn_name + , country_en_name + , country_cd + , country_abbr + , country_number + , inter_tel_cd + , internet_name + , etl_tx_dt + from p10_sa.S98_S_country_cde +; +\q \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/country_cde/sa_foreign_tables.sql b/TK_Cust/dev/tk_cust/country_cde/sa_foreign_tables.sql new file mode 100644 index 0000000..6bb22dc --- /dev/null +++ b/TK_Cust/dev/tk_cust/country_cde/sa_foreign_tables.sql @@ -0,0 +1,19 @@ + +CREATE FOREIGN TABLE if not exists p00_tal.S98_S_country_cde ( + country_cn_name TEXT + , country_en_name TEXT + , country_cd TEXT + , country_abbr TEXT + , country_number TEXT + , inter_tel_cd TEXT + , internet_name TEXT + , etl_tx_dt TIMESTAMP +) + + +SERVER pgsql_server_S98_S OPTIONS(schema_name 'data_api', table_name 'country_cde' ); + + + + + diff --git a/TK_Cust/dev/tk_cust/country_cde/sa_tables.sql b/TK_Cust/dev/tk_cust/country_cde/sa_tables.sql new file mode 100644 index 0000000..f05cfa4 --- /dev/null +++ b/TK_Cust/dev/tk_cust/country_cde/sa_tables.sql @@ -0,0 +1,47 @@ + +create table if not exists p10_sa.S98_S_country_cde ( + country_cn_name TEXT + , country_en_name TEXT + , country_cd TEXT + , country_abbr TEXT + , country_number TEXT + , inter_tel_cd TEXT + , internet_name TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p10_sa.S98_S_country_cde.country_cn_name IS '国家'; + COMMENT ON COLUMN p10_sa.S98_S_country_cde.country_en_name IS '国家英文名'; + COMMENT ON COLUMN p10_sa.S98_S_country_cde.country_cd IS '国家代码'; + COMMENT ON COLUMN p10_sa.S98_S_country_cde.country_abbr IS '国家缩写'; + COMMENT ON COLUMN p10_sa.S98_S_country_cde.country_number IS '数字代码'; + COMMENT ON COLUMN p10_sa.S98_S_country_cde.inter_tel_cd IS '国际区号'; + COMMENT ON COLUMN p10_sa.S98_S_country_cde.internet_name IS '域名'; + COMMENT ON COLUMN p10_sa.S98_S_country_cde.etl_tx_dt IS ''; + +COMMENT ON TABLE p10_sa.S98_S_country_cde IS ''; + + + +create table if not exists p12_sfull.S98_S_country_cde ( + country_cn_name TEXT + , country_en_name TEXT + , country_cd TEXT + , country_abbr TEXT + , country_number TEXT + , inter_tel_cd TEXT + , internet_name TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p12_sfull.S98_S_country_cde.country_cn_name IS '国家'; + COMMENT ON COLUMN p12_sfull.S98_S_country_cde.country_en_name IS '国家英文名'; + COMMENT ON COLUMN p12_sfull.S98_S_country_cde.country_cd IS '国家代码'; + COMMENT ON COLUMN p12_sfull.S98_S_country_cde.country_abbr IS '国家缩写'; + COMMENT ON COLUMN p12_sfull.S98_S_country_cde.country_number IS '数字代码'; + COMMENT ON COLUMN p12_sfull.S98_S_country_cde.inter_tel_cd IS '国际区号'; + COMMENT ON COLUMN p12_sfull.S98_S_country_cde.internet_name IS '域名'; + COMMENT ON COLUMN p12_sfull.S98_S_country_cde.etl_tx_dt IS ''; + +COMMENT ON TABLE p12_sfull.S98_S_country_cde IS ''; + diff --git a/TK_Cust/dev/tk_cust/crm_raw_leads/S98_S_crm_raw_leads.sql b/TK_Cust/dev/tk_cust/crm_raw_leads/S98_S_crm_raw_leads.sql new file mode 100644 index 0000000..fd4d44b --- /dev/null +++ b/TK_Cust/dev/tk_cust/crm_raw_leads/S98_S_crm_raw_leads.sql @@ -0,0 +1,66 @@ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on +delete from p10_sa.S98_S_crm_raw_leads +; +insert into p10_sa.S98_S_crm_raw_leads +( tek_contactnumber + , tek_leadnumber + , fullname + , createdon + , companyname + , emailaddress1 + , mobilephone + , tek_mqldate + , campaignidname + , tek_industry2idname + , tek_marketing_program_type_idname + , etl_tx_dt ) + select + tek_contactnumber + , tek_leadnumber + , fullname + , createdon + , companyname + , emailaddress1 + , mobilephone + , tek_mqldate + , campaignidname + , tek_industry2idname + , tek_marketing_program_type_idname + , etl_tx_dt + from p00_tal.S98_S_crm_raw_leads + ; + delete from p12_sfull.S98_S_crm_raw_leads +; +; +insert into p12_sfull.S98_S_crm_raw_leads +( tek_contactnumber + , tek_leadnumber + , fullname + , createdon + , companyname + , emailaddress1 + , mobilephone + , tek_mqldate + , campaignidname + , tek_industry2idname + , tek_marketing_program_type_idname + , etl_tx_dt ) + select + tek_contactnumber + , tek_leadnumber + , fullname + , createdon + , companyname + , emailaddress1 + , mobilephone + , tek_mqldate + , campaignidname + , tek_industry2idname + , tek_marketing_program_type_idname + , etl_tx_dt + from p10_sa.S98_S_crm_raw_leads +; +\q \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/crm_raw_leads/sa_foreign_tables.sql b/TK_Cust/dev/tk_cust/crm_raw_leads/sa_foreign_tables.sql new file mode 100644 index 0000000..538b881 --- /dev/null +++ b/TK_Cust/dev/tk_cust/crm_raw_leads/sa_foreign_tables.sql @@ -0,0 +1,23 @@ + +CREATE FOREIGN TABLE if not exists p00_tal.S98_S_crm_raw_leads ( + tek_contactnumber TEXT + , tek_leadnumber TEXT + , fullname TEXT + , createdon TEXT + , companyname TEXT + , emailaddress1 TEXT + , mobilephone TEXT + , tek_mqldate TEXT + , campaignidname TEXT + , tek_industry2idname TEXT + , tek_marketing_program_type_idname TEXT + , etl_tx_dt TIMESTAMP +) + + +SERVER pgsql_server_S98_S OPTIONS(schema_name 'data_api', table_name 'crm_raw_leads' ); + + + + + diff --git a/TK_Cust/dev/tk_cust/crm_raw_leads/sa_tables.sql b/TK_Cust/dev/tk_cust/crm_raw_leads/sa_tables.sql new file mode 100644 index 0000000..1bacb18 --- /dev/null +++ b/TK_Cust/dev/tk_cust/crm_raw_leads/sa_tables.sql @@ -0,0 +1,63 @@ + +create table if not exists p10_sa.S98_S_crm_raw_leads ( + tek_contactnumber TEXT + , tek_leadnumber TEXT + , fullname TEXT + , createdon TEXT + , companyname TEXT + , emailaddress1 TEXT + , mobilephone TEXT + , tek_mqldate TEXT + , campaignidname TEXT + , tek_industry2idname TEXT + , tek_marketing_program_type_idname TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p10_sa.S98_S_crm_raw_leads.tek_contactnumber IS 'tek_contactnumber'; + COMMENT ON COLUMN p10_sa.S98_S_crm_raw_leads.tek_leadnumber IS 'tek_leadnumber'; + COMMENT ON COLUMN p10_sa.S98_S_crm_raw_leads.fullname IS 'fullname'; + COMMENT ON COLUMN p10_sa.S98_S_crm_raw_leads.createdon IS 'createdon'; + COMMENT ON COLUMN p10_sa.S98_S_crm_raw_leads.companyname IS 'companyname'; + COMMENT ON COLUMN p10_sa.S98_S_crm_raw_leads.emailaddress1 IS 'emailaddress1'; + COMMENT ON COLUMN p10_sa.S98_S_crm_raw_leads.mobilephone IS 'mobilephone'; + COMMENT ON COLUMN p10_sa.S98_S_crm_raw_leads.tek_mqldate IS 'tek_mqldate'; + COMMENT ON COLUMN p10_sa.S98_S_crm_raw_leads.campaignidname IS 'campaignidname'; + COMMENT ON COLUMN p10_sa.S98_S_crm_raw_leads.tek_industry2idname IS 'tek_industry2idname'; + COMMENT ON COLUMN p10_sa.S98_S_crm_raw_leads.tek_marketing_program_type_idname IS 'tek_marketing_program_type_idname'; + COMMENT ON COLUMN p10_sa.S98_S_crm_raw_leads.etl_tx_dt IS ''; + +COMMENT ON TABLE p10_sa.S98_S_crm_raw_leads IS ''; + + + +create table if not exists p12_sfull.S98_S_crm_raw_leads ( + tek_contactnumber TEXT + , tek_leadnumber TEXT + , fullname TEXT + , createdon TEXT + , companyname TEXT + , emailaddress1 TEXT + , mobilephone TEXT + , tek_mqldate TEXT + , campaignidname TEXT + , tek_industry2idname TEXT + , tek_marketing_program_type_idname TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p12_sfull.S98_S_crm_raw_leads.tek_contactnumber IS 'tek_contactnumber'; + COMMENT ON COLUMN p12_sfull.S98_S_crm_raw_leads.tek_leadnumber IS 'tek_leadnumber'; + COMMENT ON COLUMN p12_sfull.S98_S_crm_raw_leads.fullname IS 'fullname'; + COMMENT ON COLUMN p12_sfull.S98_S_crm_raw_leads.createdon IS 'createdon'; + COMMENT ON COLUMN p12_sfull.S98_S_crm_raw_leads.companyname IS 'companyname'; + COMMENT ON COLUMN p12_sfull.S98_S_crm_raw_leads.emailaddress1 IS 'emailaddress1'; + COMMENT ON COLUMN p12_sfull.S98_S_crm_raw_leads.mobilephone IS 'mobilephone'; + COMMENT ON COLUMN p12_sfull.S98_S_crm_raw_leads.tek_mqldate IS 'tek_mqldate'; + COMMENT ON COLUMN p12_sfull.S98_S_crm_raw_leads.campaignidname IS 'campaignidname'; + COMMENT ON COLUMN p12_sfull.S98_S_crm_raw_leads.tek_industry2idname IS 'tek_industry2idname'; + COMMENT ON COLUMN p12_sfull.S98_S_crm_raw_leads.tek_marketing_program_type_idname IS 'tek_marketing_program_type_idname'; + COMMENT ON COLUMN p12_sfull.S98_S_crm_raw_leads.etl_tx_dt IS ''; + +COMMENT ON TABLE p12_sfull.S98_S_crm_raw_leads IS ''; + diff --git a/TK_Cust/dev/tk_cust/livechat/S98_S_livechat.sql b/TK_Cust/dev/tk_cust/livechat/S98_S_livechat.sql new file mode 100644 index 0000000..98133ef --- /dev/null +++ b/TK_Cust/dev/tk_cust/livechat/S98_S_livechat.sql @@ -0,0 +1,410 @@ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on +delete from p10_sa.S98_S_livechat +; +insert into p10_sa.S98_S_livechat +( conference_id + , chat_creation_date + , chat_start_date + , chat_start_url + , referrer + , chat_duration + , queue_duration + , visitor_livechat_id + , visitor_nick + , visitor_ip + , visitor_email + , last_operator_id + , group_id + , group_name + , rate + , last_rate_comment + , operator_1_nick + , operator_2_nick + , operator_3_nick + , operator_4_nick + , operator_5_nick + , operator_6_nick + , operator_7_nick + , operator_8_nick + , operator_9_nick + , operator_10_nick + , operator_11_nick + , operator_1_id + , operator_2_id + , operator_3_id + , operator_4_id + , operator_5_id + , operator_6_id + , operator_7_id + , operator_8_id + , operator_9_id + , operator_10_id + , operator_11_id + , operator_1_time_zone + , operator_2_time_zone + , operator_3_time_zone + , operator_4_time_zone + , operator_5_time_zone + , operator_6_time_zone + , operator_7_time_zone + , operator_8_time_zone + , operator_9_time_zone + , operator_10_time_zone + , operator_11_time_zone + , pre_chat_service + , pre_chat_name + , pre_chat_contact + , pre_chat_email + , pre_chat_company + , pre_chat_service_t + , pre_chat_email_t + , pre_chat_contact_t + , pre_chat_company_t + , pre_chat_name_j + , pre_chat_email_j + , pre_chat_private_policy + , pre_chat_know_policy + , pre_chat_agree_policy + , pre_chat_agree_policy_k + , pre_chat_agree_for_sale + , pre_chat_company_k + , pre_chat_name_k + , pre_chat_contact_k + , pre_chat_email_k + , pre_chat_service_k + , pre_chat_contact_2 + , pre_chat_contact_3 + , post_chat_first + , post_chat_where_chat + , post_chat_help + , post_chat_where_2 + , post_chat_first_j + , post_chat_help_j + , post_chat_message_j + , auto_invite_url + , auto_invite_action + , goal_action_name + , goal_done_by + , goal_done_date + , tag_1 + , tag_2 + , tag_3 + , tag_4 + , tag_5 + , cust_var_1_name + , cust_var_1_value + , first_response_time + , average_response_time + , agents_chatting_duration + , visitor_user_agent + , group_status_at_start + , visitor_country_code + , etl_tx_dt ) + select + conference_id + , chat_creation_date + , chat_start_date + , chat_start_url + , referrer + , chat_duration + , queue_duration + , visitor_livechat_id + , visitor_nick + , visitor_ip + , visitor_email + , last_operator_id + , group_id + , group_name + , rate + , last_rate_comment + , operator_1_nick + , operator_2_nick + , operator_3_nick + , operator_4_nick + , operator_5_nick + , operator_6_nick + , operator_7_nick + , operator_8_nick + , operator_9_nick + , operator_10_nick + , operator_11_nick + , operator_1_id + , operator_2_id + , operator_3_id + , operator_4_id + , operator_5_id + , operator_6_id + , operator_7_id + , operator_8_id + , operator_9_id + , operator_10_id + , operator_11_id + , operator_1_time_zone + , operator_2_time_zone + , operator_3_time_zone + , operator_4_time_zone + , operator_5_time_zone + , operator_6_time_zone + , operator_7_time_zone + , operator_8_time_zone + , operator_9_time_zone + , operator_10_time_zone + , operator_11_time_zone + , pre_chat_service + , pre_chat_name + , pre_chat_contact + , pre_chat_email + , pre_chat_company + , pre_chat_service_t + , pre_chat_email_t + , pre_chat_contact_t + , pre_chat_company_t + , pre_chat_name_j + , pre_chat_email_j + , pre_chat_private_policy + , pre_chat_know_policy + , pre_chat_agree_policy + , pre_chat_agree_policy_k + , pre_chat_agree_for_sale + , pre_chat_company_k + , pre_chat_name_k + , pre_chat_contact_k + , pre_chat_email_k + , pre_chat_service_k + , pre_chat_contact_2 + , pre_chat_contact_3 + , post_chat_first + , post_chat_where_chat + , post_chat_help + , post_chat_where_2 + , post_chat_first_j + , post_chat_help_j + , post_chat_message_j + , auto_invite_url + , auto_invite_action + , goal_action_name + , goal_done_by + , goal_done_date + , tag_1 + , tag_2 + , tag_3 + , tag_4 + , tag_5 + , cust_var_1_name + , cust_var_1_value + , first_response_time + , average_response_time + , agents_chatting_duration + , visitor_user_agent + , group_status_at_start + , visitor_country_code + , etl_tx_dt + from p00_tal.S98_S_livechat + ; + delete from p12_sfull.S98_S_livechat +; +; +insert into p12_sfull.S98_S_livechat +( conference_id + , chat_creation_date + , chat_start_date + , chat_start_url + , referrer + , chat_duration + , queue_duration + , visitor_livechat_id + , visitor_nick + , visitor_ip + , visitor_email + , last_operator_id + , group_id + , group_name + , rate + , last_rate_comment + , operator_1_nick + , operator_2_nick + , operator_3_nick + , operator_4_nick + , operator_5_nick + , operator_6_nick + , operator_7_nick + , operator_8_nick + , operator_9_nick + , operator_10_nick + , operator_11_nick + , operator_1_id + , operator_2_id + , operator_3_id + , operator_4_id + , operator_5_id + , operator_6_id + , operator_7_id + , operator_8_id + , operator_9_id + , operator_10_id + , operator_11_id + , operator_1_time_zone + , operator_2_time_zone + , operator_3_time_zone + , operator_4_time_zone + , operator_5_time_zone + , operator_6_time_zone + , operator_7_time_zone + , operator_8_time_zone + , operator_9_time_zone + , operator_10_time_zone + , operator_11_time_zone + , pre_chat_service + , pre_chat_name + , pre_chat_contact + , pre_chat_email + , pre_chat_company + , pre_chat_service_t + , pre_chat_email_t + , pre_chat_contact_t + , pre_chat_company_t + , pre_chat_name_j + , pre_chat_email_j + , pre_chat_private_policy + , pre_chat_know_policy + , pre_chat_agree_policy + , pre_chat_agree_policy_k + , pre_chat_agree_for_sale + , pre_chat_company_k + , pre_chat_name_k + , pre_chat_contact_k + , pre_chat_email_k + , pre_chat_service_k + , pre_chat_contact_2 + , pre_chat_contact_3 + , post_chat_first + , post_chat_where_chat + , post_chat_help + , post_chat_where_2 + , post_chat_first_j + , post_chat_help_j + , post_chat_message_j + , auto_invite_url + , auto_invite_action + , goal_action_name + , goal_done_by + , goal_done_date + , tag_1 + , tag_2 + , tag_3 + , tag_4 + , tag_5 + , cust_var_1_name + , cust_var_1_value + , first_response_time + , average_response_time + , agents_chatting_duration + , visitor_user_agent + , group_status_at_start + , visitor_country_code + , etl_tx_dt ) + select + conference_id + , chat_creation_date + , chat_start_date + , chat_start_url + , referrer + , chat_duration + , queue_duration + , visitor_livechat_id + , visitor_nick + , visitor_ip + , visitor_email + , last_operator_id + , group_id + , group_name + , rate + , last_rate_comment + , operator_1_nick + , operator_2_nick + , operator_3_nick + , operator_4_nick + , operator_5_nick + , operator_6_nick + , operator_7_nick + , operator_8_nick + , operator_9_nick + , operator_10_nick + , operator_11_nick + , operator_1_id + , operator_2_id + , operator_3_id + , operator_4_id + , operator_5_id + , operator_6_id + , operator_7_id + , operator_8_id + , operator_9_id + , operator_10_id + , operator_11_id + , operator_1_time_zone + , operator_2_time_zone + , operator_3_time_zone + , operator_4_time_zone + , operator_5_time_zone + , operator_6_time_zone + , operator_7_time_zone + , operator_8_time_zone + , operator_9_time_zone + , operator_10_time_zone + , operator_11_time_zone + , pre_chat_service + , pre_chat_name + , pre_chat_contact + , pre_chat_email + , pre_chat_company + , pre_chat_service_t + , pre_chat_email_t + , pre_chat_contact_t + , pre_chat_company_t + , pre_chat_name_j + , pre_chat_email_j + , pre_chat_private_policy + , pre_chat_know_policy + , pre_chat_agree_policy + , pre_chat_agree_policy_k + , pre_chat_agree_for_sale + , pre_chat_company_k + , pre_chat_name_k + , pre_chat_contact_k + , pre_chat_email_k + , pre_chat_service_k + , pre_chat_contact_2 + , pre_chat_contact_3 + , post_chat_first + , post_chat_where_chat + , post_chat_help + , post_chat_where_2 + , post_chat_first_j + , post_chat_help_j + , post_chat_message_j + , auto_invite_url + , auto_invite_action + , goal_action_name + , goal_done_by + , goal_done_date + , tag_1 + , tag_2 + , tag_3 + , tag_4 + , tag_5 + , cust_var_1_name + , cust_var_1_value + , first_response_time + , average_response_time + , agents_chatting_duration + , visitor_user_agent + , group_status_at_start + , visitor_country_code + , etl_tx_dt + from p10_sa.S98_S_livechat +; +\q \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/livechat/sa_foreign_tables.sql b/TK_Cust/dev/tk_cust/livechat/sa_foreign_tables.sql new file mode 100644 index 0000000..97bda9b --- /dev/null +++ b/TK_Cust/dev/tk_cust/livechat/sa_foreign_tables.sql @@ -0,0 +1,109 @@ + +CREATE FOREIGN TABLE if not exists p00_tal.S98_S_livechat ( + conference_id TEXT + , chat_creation_date TEXT + , chat_start_date TEXT + , chat_start_url TEXT + , referrer TEXT + , chat_duration TEXT + , queue_duration TEXT + , visitor_livechat_id TEXT + , visitor_nick TEXT + , visitor_ip TEXT + , visitor_email TEXT + , last_operator_id TEXT + , group_id TEXT + , group_name TEXT + , rate TEXT + , last_rate_comment TEXT + , operator_1_nick TEXT + , operator_2_nick TEXT + , operator_3_nick TEXT + , operator_4_nick TEXT + , operator_5_nick TEXT + , operator_6_nick TEXT + , operator_7_nick TEXT + , operator_8_nick TEXT + , operator_9_nick TEXT + , operator_10_nick TEXT + , operator_11_nick TEXT + , operator_1_id TEXT + , operator_2_id TEXT + , operator_3_id TEXT + , operator_4_id TEXT + , operator_5_id TEXT + , operator_6_id TEXT + , operator_7_id TEXT + , operator_8_id TEXT + , operator_9_id TEXT + , operator_10_id TEXT + , operator_11_id TEXT + , operator_1_time_zone TEXT + , operator_2_time_zone TEXT + , operator_3_time_zone TEXT + , operator_4_time_zone TEXT + , operator_5_time_zone TEXT + , operator_6_time_zone TEXT + , operator_7_time_zone TEXT + , operator_8_time_zone TEXT + , operator_9_time_zone TEXT + , operator_10_time_zone TEXT + , operator_11_time_zone TEXT + , pre_chat_service TEXT + , pre_chat_name TEXT + , pre_chat_contact TEXT + , pre_chat_email TEXT + , pre_chat_company TEXT + , pre_chat_service_t TEXT + , pre_chat_email_t TEXT + , pre_chat_contact_t TEXT + , pre_chat_company_t TEXT + , pre_chat_name_j TEXT + , pre_chat_email_j TEXT + , pre_chat_private_policy TEXT + , pre_chat_know_policy TEXT + , pre_chat_agree_policy TEXT + , pre_chat_agree_policy_k TEXT + , pre_chat_agree_for_sale TEXT + , pre_chat_company_k TEXT + , pre_chat_name_k TEXT + , pre_chat_contact_k TEXT + , pre_chat_email_k TEXT + , pre_chat_service_k TEXT + , pre_chat_contact_2 TEXT + , pre_chat_contact_3 TEXT + , post_chat_first TEXT + , post_chat_where_chat TEXT + , post_chat_help TEXT + , post_chat_where_2 TEXT + , post_chat_first_j TEXT + , post_chat_help_j TEXT + , post_chat_message_j TEXT + , auto_invite_url TEXT + , auto_invite_action TEXT + , goal_action_name TEXT + , goal_done_by TEXT + , goal_done_date TEXT + , tag_1 TEXT + , tag_2 TEXT + , tag_3 TEXT + , tag_4 TEXT + , tag_5 TEXT + , cust_var_1_name TEXT + , cust_var_1_value TEXT + , first_response_time TEXT + , average_response_time TEXT + , agents_chatting_duration TEXT + , visitor_user_agent TEXT + , group_status_at_start TEXT + , visitor_country_code TEXT + , etl_tx_dt TIMESTAMP +) + + +SERVER pgsql_server_S98_S OPTIONS(schema_name 'data_api', table_name 'livechat' ); + + + + + diff --git a/TK_Cust/dev/tk_cust/livechat/sa_tables.sql b/TK_Cust/dev/tk_cust/livechat/sa_tables.sql new file mode 100644 index 0000000..4232e53 --- /dev/null +++ b/TK_Cust/dev/tk_cust/livechat/sa_tables.sql @@ -0,0 +1,407 @@ + +create table if not exists p10_sa.S98_S_livechat ( + conference_id TEXT + , chat_creation_date TEXT + , chat_start_date TEXT + , chat_start_url TEXT + , referrer TEXT + , chat_duration TEXT + , queue_duration TEXT + , visitor_livechat_id TEXT + , visitor_nick TEXT + , visitor_ip TEXT + , visitor_email TEXT + , last_operator_id TEXT + , group_id TEXT + , group_name TEXT + , rate TEXT + , last_rate_comment TEXT + , operator_1_nick TEXT + , operator_2_nick TEXT + , operator_3_nick TEXT + , operator_4_nick TEXT + , operator_5_nick TEXT + , operator_6_nick TEXT + , operator_7_nick TEXT + , operator_8_nick TEXT + , operator_9_nick TEXT + , operator_10_nick TEXT + , operator_11_nick TEXT + , operator_1_id TEXT + , operator_2_id TEXT + , operator_3_id TEXT + , operator_4_id TEXT + , operator_5_id TEXT + , operator_6_id TEXT + , operator_7_id TEXT + , operator_8_id TEXT + , operator_9_id TEXT + , operator_10_id TEXT + , operator_11_id TEXT + , operator_1_time_zone TEXT + , operator_2_time_zone TEXT + , operator_3_time_zone TEXT + , operator_4_time_zone TEXT + , operator_5_time_zone TEXT + , operator_6_time_zone TEXT + , operator_7_time_zone TEXT + , operator_8_time_zone TEXT + , operator_9_time_zone TEXT + , operator_10_time_zone TEXT + , operator_11_time_zone TEXT + , pre_chat_service TEXT + , pre_chat_name TEXT + , pre_chat_contact TEXT + , pre_chat_email TEXT + , pre_chat_company TEXT + , pre_chat_service_t TEXT + , pre_chat_email_t TEXT + , pre_chat_contact_t TEXT + , pre_chat_company_t TEXT + , pre_chat_name_j TEXT + , pre_chat_email_j TEXT + , pre_chat_private_policy TEXT + , pre_chat_know_policy TEXT + , pre_chat_agree_policy TEXT + , pre_chat_agree_policy_k TEXT + , pre_chat_agree_for_sale TEXT + , pre_chat_company_k TEXT + , pre_chat_name_k TEXT + , pre_chat_contact_k TEXT + , pre_chat_email_k TEXT + , pre_chat_service_k TEXT + , pre_chat_contact_2 TEXT + , pre_chat_contact_3 TEXT + , post_chat_first TEXT + , post_chat_where_chat TEXT + , post_chat_help TEXT + , post_chat_where_2 TEXT + , post_chat_first_j TEXT + , post_chat_help_j TEXT + , post_chat_message_j TEXT + , auto_invite_url TEXT + , auto_invite_action TEXT + , goal_action_name TEXT + , goal_done_by TEXT + , goal_done_date TEXT + , tag_1 TEXT + , tag_2 TEXT + , tag_3 TEXT + , tag_4 TEXT + , tag_5 TEXT + , cust_var_1_name TEXT + , cust_var_1_value TEXT + , first_response_time TEXT + , average_response_time TEXT + , agents_chatting_duration TEXT + , visitor_user_agent TEXT + , group_status_at_start TEXT + , visitor_country_code TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p10_sa.S98_S_livechat.conference_id IS 'conferenceId'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.chat_creation_date IS 'chat_creation_date'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.chat_start_date IS 'chat_start_date'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.chat_start_url IS 'chat_start_url'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.referrer IS 'referrer'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.chat_duration IS 'chat_duration'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.queue_duration IS 'queue_duration'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.visitor_livechat_id IS 'visitor_livechat_id'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.visitor_nick IS 'visitor_nick'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.visitor_ip IS 'visitor_ip'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.visitor_email IS 'visitor_email'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.last_operator_id IS 'last_operator_id'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.group_id IS 'group_id'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.group_name IS 'group_name'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.rate IS 'rate'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.last_rate_comment IS 'last_rate_comment'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_1_nick IS 'operator_1_nick'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_2_nick IS 'operator_2_nick'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_3_nick IS 'operator_3_nick'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_4_nick IS 'operator_4_nick'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_5_nick IS 'operator_5_nick'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_6_nick IS 'operator_6_nick'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_7_nick IS 'operator_7_nick'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_8_nick IS 'operator_8_nick'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_9_nick IS 'operator_9_nick'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_10_nick IS 'operator_10_nick'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_11_nick IS 'operator_11_nick'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_1_id IS 'operator_1_id'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_2_id IS 'operator_2_id'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_3_id IS 'operator_3_id'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_4_id IS 'operator_4_id'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_5_id IS 'operator_5_id'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_6_id IS 'operator_6_id'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_7_id IS 'operator_7_id'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_8_id IS 'operator_8_id'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_9_id IS 'operator_9_id'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_10_id IS 'operator_10_id'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_11_id IS 'operator_11_id'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_1_time_zone IS 'operator_1_time_zone'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_2_time_zone IS 'operator_2_time_zone'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_3_time_zone IS 'operator_3_time_zone'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_4_time_zone IS 'operator_4_time_zone'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_5_time_zone IS 'operator_5_time_zone'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_6_time_zone IS 'operator_6_time_zone'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_7_time_zone IS 'operator_7_time_zone'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_8_time_zone IS 'operator_8_time_zone'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_9_time_zone IS 'operator_9_time_zone'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_10_time_zone IS 'operator_10_time_zone'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_11_time_zone IS 'operator_11_time_zone'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.pre_chat_service IS 'pre_chat_service'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.pre_chat_name IS 'pre_chat_name'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.pre_chat_contact IS 'pre_chat_contact'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.pre_chat_email IS 'pre_chat_email'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.pre_chat_company IS 'pre_chat_company'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.pre_chat_service_t IS 'pre_chat_service_t'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.pre_chat_email_t IS 'pre_chat_email_t'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.pre_chat_contact_t IS 'pre_chat_contact_t'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.pre_chat_company_t IS 'pre_chat_company_t'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.pre_chat_name_j IS 'pre_chat_name_j'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.pre_chat_email_j IS 'pre_chat_email_j'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.pre_chat_private_policy IS 'pre_chat_private_policy'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.pre_chat_know_policy IS 'pre_chat_know_policy'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.pre_chat_agree_policy IS 'pre_chat_agree_policy'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.pre_chat_agree_policy_k IS 'pre_chat_agree_policy_k'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.pre_chat_agree_for_sale IS 'pre_chat_agree_for_sale'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.pre_chat_company_k IS 'pre_chat_company_k'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.pre_chat_name_k IS 'pre_chat_name_k'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.pre_chat_contact_k IS 'pre_chat_contact_k'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.pre_chat_email_k IS 'pre_chat_email_k'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.pre_chat_service_k IS 'pre_chat_service_k'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.pre_chat_contact_2 IS 'pre_chat_contact_2'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.pre_chat_contact_3 IS 'pre_chat_contact_3'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.post_chat_first IS 'post_chat_first'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.post_chat_where_chat IS 'post_chat_where_chat'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.post_chat_help IS 'post_chat_help'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.post_chat_where_2 IS 'post_chat_where_2'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.post_chat_first_j IS 'post_chat_first_j'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.post_chat_help_j IS 'post_chat_help_j'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.post_chat_message_j IS 'post_chat_message_j'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.auto_invite_url IS 'auto_invite_url'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.auto_invite_action IS 'auto_invite_action'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.goal_action_name IS 'goal_action_name'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.goal_done_by IS 'goal_done_by'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.goal_done_date IS 'goal_done_date'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.tag_1 IS 'tag_1'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.tag_2 IS 'tag_2'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.tag_3 IS 'tag_3'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.tag_4 IS 'tag_4'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.tag_5 IS 'tag_5'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.cust_var_1_name IS 'cust_var_1_name'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.cust_var_1_value IS 'cust_var_1_value'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.first_response_time IS 'first_response_time'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.average_response_time IS 'average_response_time'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.agents_chatting_duration IS 'agents_chatting_duration'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.visitor_user_agent IS 'visitor_user_agent'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.group_status_at_start IS 'group_status_at_start'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.visitor_country_code IS 'visitor_country_code'; + COMMENT ON COLUMN p10_sa.S98_S_livechat.etl_tx_dt IS ''; + +COMMENT ON TABLE p10_sa.S98_S_livechat IS ''; + + + +create table if not exists p12_sfull.S98_S_livechat ( + conference_id TEXT + , chat_creation_date TEXT + , chat_start_date TEXT + , chat_start_url TEXT + , referrer TEXT + , chat_duration TEXT + , queue_duration TEXT + , visitor_livechat_id TEXT + , visitor_nick TEXT + , visitor_ip TEXT + , visitor_email TEXT + , last_operator_id TEXT + , group_id TEXT + , group_name TEXT + , rate TEXT + , last_rate_comment TEXT + , operator_1_nick TEXT + , operator_2_nick TEXT + , operator_3_nick TEXT + , operator_4_nick TEXT + , operator_5_nick TEXT + , operator_6_nick TEXT + , operator_7_nick TEXT + , operator_8_nick TEXT + , operator_9_nick TEXT + , operator_10_nick TEXT + , operator_11_nick TEXT + , operator_1_id TEXT + , operator_2_id TEXT + , operator_3_id TEXT + , operator_4_id TEXT + , operator_5_id TEXT + , operator_6_id TEXT + , operator_7_id TEXT + , operator_8_id TEXT + , operator_9_id TEXT + , operator_10_id TEXT + , operator_11_id TEXT + , operator_1_time_zone TEXT + , operator_2_time_zone TEXT + , operator_3_time_zone TEXT + , operator_4_time_zone TEXT + , operator_5_time_zone TEXT + , operator_6_time_zone TEXT + , operator_7_time_zone TEXT + , operator_8_time_zone TEXT + , operator_9_time_zone TEXT + , operator_10_time_zone TEXT + , operator_11_time_zone TEXT + , pre_chat_service TEXT + , pre_chat_name TEXT + , pre_chat_contact TEXT + , pre_chat_email TEXT + , pre_chat_company TEXT + , pre_chat_service_t TEXT + , pre_chat_email_t TEXT + , pre_chat_contact_t TEXT + , pre_chat_company_t TEXT + , pre_chat_name_j TEXT + , pre_chat_email_j TEXT + , pre_chat_private_policy TEXT + , pre_chat_know_policy TEXT + , pre_chat_agree_policy TEXT + , pre_chat_agree_policy_k TEXT + , pre_chat_agree_for_sale TEXT + , pre_chat_company_k TEXT + , pre_chat_name_k TEXT + , pre_chat_contact_k TEXT + , pre_chat_email_k TEXT + , pre_chat_service_k TEXT + , pre_chat_contact_2 TEXT + , pre_chat_contact_3 TEXT + , post_chat_first TEXT + , post_chat_where_chat TEXT + , post_chat_help TEXT + , post_chat_where_2 TEXT + , post_chat_first_j TEXT + , post_chat_help_j TEXT + , post_chat_message_j TEXT + , auto_invite_url TEXT + , auto_invite_action TEXT + , goal_action_name TEXT + , goal_done_by TEXT + , goal_done_date TEXT + , tag_1 TEXT + , tag_2 TEXT + , tag_3 TEXT + , tag_4 TEXT + , tag_5 TEXT + , cust_var_1_name TEXT + , cust_var_1_value TEXT + , first_response_time TEXT + , average_response_time TEXT + , agents_chatting_duration TEXT + , visitor_user_agent TEXT + , group_status_at_start TEXT + , visitor_country_code TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p12_sfull.S98_S_livechat.conference_id IS 'conferenceId'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.chat_creation_date IS 'chat_creation_date'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.chat_start_date IS 'chat_start_date'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.chat_start_url IS 'chat_start_url'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.referrer IS 'referrer'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.chat_duration IS 'chat_duration'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.queue_duration IS 'queue_duration'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.visitor_livechat_id IS 'visitor_livechat_id'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.visitor_nick IS 'visitor_nick'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.visitor_ip IS 'visitor_ip'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.visitor_email IS 'visitor_email'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.last_operator_id IS 'last_operator_id'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.group_id IS 'group_id'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.group_name IS 'group_name'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.rate IS 'rate'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.last_rate_comment IS 'last_rate_comment'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_1_nick IS 'operator_1_nick'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_2_nick IS 'operator_2_nick'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_3_nick IS 'operator_3_nick'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_4_nick IS 'operator_4_nick'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_5_nick IS 'operator_5_nick'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_6_nick IS 'operator_6_nick'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_7_nick IS 'operator_7_nick'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_8_nick IS 'operator_8_nick'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_9_nick IS 'operator_9_nick'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_10_nick IS 'operator_10_nick'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_11_nick IS 'operator_11_nick'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_1_id IS 'operator_1_id'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_2_id IS 'operator_2_id'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_3_id IS 'operator_3_id'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_4_id IS 'operator_4_id'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_5_id IS 'operator_5_id'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_6_id IS 'operator_6_id'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_7_id IS 'operator_7_id'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_8_id IS 'operator_8_id'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_9_id IS 'operator_9_id'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_10_id IS 'operator_10_id'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_11_id IS 'operator_11_id'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_1_time_zone IS 'operator_1_time_zone'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_2_time_zone IS 'operator_2_time_zone'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_3_time_zone IS 'operator_3_time_zone'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_4_time_zone IS 'operator_4_time_zone'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_5_time_zone IS 'operator_5_time_zone'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_6_time_zone IS 'operator_6_time_zone'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_7_time_zone IS 'operator_7_time_zone'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_8_time_zone IS 'operator_8_time_zone'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_9_time_zone IS 'operator_9_time_zone'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_10_time_zone IS 'operator_10_time_zone'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_11_time_zone IS 'operator_11_time_zone'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.pre_chat_service IS 'pre_chat_service'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.pre_chat_name IS 'pre_chat_name'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.pre_chat_contact IS 'pre_chat_contact'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.pre_chat_email IS 'pre_chat_email'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.pre_chat_company IS 'pre_chat_company'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.pre_chat_service_t IS 'pre_chat_service_t'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.pre_chat_email_t IS 'pre_chat_email_t'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.pre_chat_contact_t IS 'pre_chat_contact_t'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.pre_chat_company_t IS 'pre_chat_company_t'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.pre_chat_name_j IS 'pre_chat_name_j'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.pre_chat_email_j IS 'pre_chat_email_j'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.pre_chat_private_policy IS 'pre_chat_private_policy'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.pre_chat_know_policy IS 'pre_chat_know_policy'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.pre_chat_agree_policy IS 'pre_chat_agree_policy'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.pre_chat_agree_policy_k IS 'pre_chat_agree_policy_k'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.pre_chat_agree_for_sale IS 'pre_chat_agree_for_sale'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.pre_chat_company_k IS 'pre_chat_company_k'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.pre_chat_name_k IS 'pre_chat_name_k'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.pre_chat_contact_k IS 'pre_chat_contact_k'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.pre_chat_email_k IS 'pre_chat_email_k'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.pre_chat_service_k IS 'pre_chat_service_k'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.pre_chat_contact_2 IS 'pre_chat_contact_2'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.pre_chat_contact_3 IS 'pre_chat_contact_3'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.post_chat_first IS 'post_chat_first'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.post_chat_where_chat IS 'post_chat_where_chat'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.post_chat_help IS 'post_chat_help'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.post_chat_where_2 IS 'post_chat_where_2'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.post_chat_first_j IS 'post_chat_first_j'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.post_chat_help_j IS 'post_chat_help_j'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.post_chat_message_j IS 'post_chat_message_j'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.auto_invite_url IS 'auto_invite_url'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.auto_invite_action IS 'auto_invite_action'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.goal_action_name IS 'goal_action_name'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.goal_done_by IS 'goal_done_by'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.goal_done_date IS 'goal_done_date'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.tag_1 IS 'tag_1'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.tag_2 IS 'tag_2'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.tag_3 IS 'tag_3'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.tag_4 IS 'tag_4'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.tag_5 IS 'tag_5'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.cust_var_1_name IS 'cust_var_1_name'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.cust_var_1_value IS 'cust_var_1_value'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.first_response_time IS 'first_response_time'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.average_response_time IS 'average_response_time'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.agents_chatting_duration IS 'agents_chatting_duration'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.visitor_user_agent IS 'visitor_user_agent'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.group_status_at_start IS 'group_status_at_start'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.visitor_country_code IS 'visitor_country_code'; + COMMENT ON COLUMN p12_sfull.S98_S_livechat.etl_tx_dt IS ''; + +COMMENT ON TABLE p12_sfull.S98_S_livechat IS ''; + diff --git a/TK_Cust/dev/tk_cust/scrm_contact_af0912/S98_S_scrm_contact_af0912.sql b/TK_Cust/dev/tk_cust/scrm_contact_af0912/S98_S_scrm_contact_af0912.sql new file mode 100644 index 0000000..79c97eb --- /dev/null +++ b/TK_Cust/dev/tk_cust/scrm_contact_af0912/S98_S_scrm_contact_af0912.sql @@ -0,0 +1,62 @@ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on +delete from p10_sa.S98_S_scrm_contact_af0912 +; +insert into p10_sa.S98_S_scrm_contact_af0912 +( cue_id + , city_name + , company_name + , email + , mobile_number + , full_name + , prov_name + , create_time + , wechat_id + , update_time + , etl_tx_dt ) + select + cue_id + , city_name + , company_name + , email + , mobile_number + , full_name + , prov_name + , create_time + , wechat_id + , update_time + , etl_tx_dt + from p00_tal.S98_S_scrm_contact_af0912 + ; + delete from p12_sfull.S98_S_scrm_contact_af0912 +; +; +insert into p12_sfull.S98_S_scrm_contact_af0912 +( cue_id + , city_name + , company_name + , email + , mobile_number + , full_name + , prov_name + , create_time + , wechat_id + , update_time + , etl_tx_dt ) + select + cue_id + , city_name + , company_name + , email + , mobile_number + , full_name + , prov_name + , create_time + , wechat_id + , update_time + , etl_tx_dt + from p10_sa.S98_S_scrm_contact_af0912 +; +\q \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/scrm_contact_af0912/sa_foreign_tables.sql b/TK_Cust/dev/tk_cust/scrm_contact_af0912/sa_foreign_tables.sql new file mode 100644 index 0000000..9372bfe --- /dev/null +++ b/TK_Cust/dev/tk_cust/scrm_contact_af0912/sa_foreign_tables.sql @@ -0,0 +1,22 @@ + +CREATE FOREIGN TABLE if not exists p00_tal.S98_S_scrm_contact_af0912 ( + cue_id TEXT + , city_name TEXT + , company_name TEXT + , email TEXT + , mobile_number TEXT + , full_name TEXT + , prov_name TEXT + , create_time TEXT + , wechat_id TEXT + , update_time TEXT + , etl_tx_dt TIMESTAMP +) + + +SERVER pgsql_server_S98_S OPTIONS(schema_name 'data_api', table_name 'scrm_contact_af0912' ); + + + + + diff --git a/TK_Cust/dev/tk_cust/scrm_contact_af0912/sa_tables.sql b/TK_Cust/dev/tk_cust/scrm_contact_af0912/sa_tables.sql new file mode 100644 index 0000000..769c4e2 --- /dev/null +++ b/TK_Cust/dev/tk_cust/scrm_contact_af0912/sa_tables.sql @@ -0,0 +1,59 @@ + +create table if not exists p10_sa.S98_S_scrm_contact_af0912 ( + cue_id TEXT + , city_name TEXT + , company_name TEXT + , email TEXT + , mobile_number TEXT + , full_name TEXT + , prov_name TEXT + , create_time TEXT + , wechat_id TEXT + , update_time TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_af0912.cue_id IS '线索ID'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_af0912.city_name IS '城市'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_af0912.company_name IS '公司'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_af0912.email IS '邮箱'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_af0912.mobile_number IS '手机号码'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_af0912.full_name IS '姓名'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_af0912.prov_name IS '省份'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_af0912.create_time IS '创建时间'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_af0912.wechat_id IS '身份-企业微信外部联系人'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_af0912.update_time IS '更新时间'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_af0912.etl_tx_dt IS ''; + +COMMENT ON TABLE p10_sa.S98_S_scrm_contact_af0912 IS ''; + + + +create table if not exists p12_sfull.S98_S_scrm_contact_af0912 ( + cue_id TEXT + , city_name TEXT + , company_name TEXT + , email TEXT + , mobile_number TEXT + , full_name TEXT + , prov_name TEXT + , create_time TEXT + , wechat_id TEXT + , update_time TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_af0912.cue_id IS '线索ID'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_af0912.city_name IS '城市'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_af0912.company_name IS '公司'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_af0912.email IS '邮箱'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_af0912.mobile_number IS '手机号码'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_af0912.full_name IS '姓名'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_af0912.prov_name IS '省份'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_af0912.create_time IS '创建时间'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_af0912.wechat_id IS '身份-企业微信外部联系人'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_af0912.update_time IS '更新时间'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_af0912.etl_tx_dt IS ''; + +COMMENT ON TABLE p12_sfull.S98_S_scrm_contact_af0912 IS ''; + diff --git a/TK_Cust/dev/tk_cust/scrm_contact_bf0912/S98_S_scrm_contact_bf0912.sql b/TK_Cust/dev/tk_cust/scrm_contact_bf0912/S98_S_scrm_contact_bf0912.sql new file mode 100644 index 0000000..61fc905 --- /dev/null +++ b/TK_Cust/dev/tk_cust/scrm_contact_bf0912/S98_S_scrm_contact_bf0912.sql @@ -0,0 +1,86 @@ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on +delete from p10_sa.S98_S_scrm_contact_bf0912 +; +insert into p10_sa.S98_S_scrm_contact_bf0912 +( cue_id + , full_name + , mobile_number + , email + , company_name + , init_src_info + , init_src + , init_src_content + , post + , create_time + , create_mode + , create_from + , city_name + , prov_name + , last_update_time + , wechat_id + , etl_tx_dt ) + select + cue_id + , full_name + , mobile_number + , email + , company_name + , init_src_info + , init_src + , init_src_content + , post + , create_time + , create_mode + , create_from + , city_name + , prov_name + , last_update_time + , wechat_id + , etl_tx_dt + from p00_tal.S98_S_scrm_contact_bf0912 + ; + delete from p12_sfull.S98_S_scrm_contact_bf0912 +; +; +insert into p12_sfull.S98_S_scrm_contact_bf0912 +( cue_id + , full_name + , mobile_number + , email + , company_name + , init_src_info + , init_src + , init_src_content + , post + , create_time + , create_mode + , create_from + , city_name + , prov_name + , last_update_time + , wechat_id + , etl_tx_dt ) + select + cue_id + , full_name + , mobile_number + , email + , company_name + , init_src_info + , init_src + , init_src_content + , post + , create_time + , create_mode + , create_from + , city_name + , prov_name + , last_update_time + , wechat_id + , etl_tx_dt + from p10_sa.S98_S_scrm_contact_bf0912 +; +\q \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/scrm_contact_bf0912/sa_foreign_tables.sql b/TK_Cust/dev/tk_cust/scrm_contact_bf0912/sa_foreign_tables.sql new file mode 100644 index 0000000..76376c7 --- /dev/null +++ b/TK_Cust/dev/tk_cust/scrm_contact_bf0912/sa_foreign_tables.sql @@ -0,0 +1,28 @@ + +CREATE FOREIGN TABLE if not exists p00_tal.S98_S_scrm_contact_bf0912 ( + cue_id TEXT + , full_name TEXT + , mobile_number TEXT + , email TEXT + , company_name TEXT + , init_src_info TEXT + , init_src TEXT + , init_src_content TEXT + , post TEXT + , create_time TEXT + , create_mode TEXT + , create_from TEXT + , city_name TEXT + , prov_name TEXT + , last_update_time TEXT + , wechat_id TEXT + , etl_tx_dt TIMESTAMP +) + + +SERVER pgsql_server_S98_S OPTIONS(schema_name 'data_api', table_name 'scrm_contact_bf0912' ); + + + + + diff --git a/TK_Cust/dev/tk_cust/scrm_contact_bf0912/sa_tables.sql b/TK_Cust/dev/tk_cust/scrm_contact_bf0912/sa_tables.sql new file mode 100644 index 0000000..065b05c --- /dev/null +++ b/TK_Cust/dev/tk_cust/scrm_contact_bf0912/sa_tables.sql @@ -0,0 +1,83 @@ + +create table if not exists p10_sa.S98_S_scrm_contact_bf0912 ( + cue_id TEXT + , full_name TEXT + , mobile_number TEXT + , email TEXT + , company_name TEXT + , init_src_info TEXT + , init_src TEXT + , init_src_content TEXT + , post TEXT + , create_time TEXT + , create_mode TEXT + , create_from TEXT + , city_name TEXT + , prov_name TEXT + , last_update_time TEXT + , wechat_id TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_bf0912.cue_id IS '线索ID'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_bf0912.full_name IS '姓名'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_bf0912.mobile_number IS '手机号码'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_bf0912.email IS '邮箱'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_bf0912.company_name IS '公司'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_bf0912.init_src_info IS '初始来源信息'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_bf0912.init_src IS '初始来源'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_bf0912.init_src_content IS '初始来源内容'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_bf0912.post IS '职位'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_bf0912.create_time IS '创建时间'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_bf0912.create_mode IS '创建方式'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_bf0912.create_from IS '创建自'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_bf0912.city_name IS '城市'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_bf0912.prov_name IS '省份'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_bf0912.last_update_time IS '最后更新时间'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_bf0912.wechat_id IS '身份-企业微信外部联系人'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_bf0912.etl_tx_dt IS ''; + +COMMENT ON TABLE p10_sa.S98_S_scrm_contact_bf0912 IS ''; + + + +create table if not exists p12_sfull.S98_S_scrm_contact_bf0912 ( + cue_id TEXT + , full_name TEXT + , mobile_number TEXT + , email TEXT + , company_name TEXT + , init_src_info TEXT + , init_src TEXT + , init_src_content TEXT + , post TEXT + , create_time TEXT + , create_mode TEXT + , create_from TEXT + , city_name TEXT + , prov_name TEXT + , last_update_time TEXT + , wechat_id TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_bf0912.cue_id IS '线索ID'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_bf0912.full_name IS '姓名'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_bf0912.mobile_number IS '手机号码'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_bf0912.email IS '邮箱'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_bf0912.company_name IS '公司'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_bf0912.init_src_info IS '初始来源信息'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_bf0912.init_src IS '初始来源'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_bf0912.init_src_content IS '初始来源内容'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_bf0912.post IS '职位'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_bf0912.create_time IS '创建时间'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_bf0912.create_mode IS '创建方式'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_bf0912.create_from IS '创建自'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_bf0912.city_name IS '城市'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_bf0912.prov_name IS '省份'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_bf0912.last_update_time IS '最后更新时间'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_bf0912.wechat_id IS '身份-企业微信外部联系人'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_bf0912.etl_tx_dt IS ''; + +COMMENT ON TABLE p12_sfull.S98_S_scrm_contact_bf0912 IS ''; + diff --git a/TK_Cust/dev/tk_cust/scrm_contact_merge_af0912/S98_S_scrm_contact_merge_af0912.sql b/TK_Cust/dev/tk_cust/scrm_contact_merge_af0912/S98_S_scrm_contact_merge_af0912.sql new file mode 100644 index 0000000..cd992eb --- /dev/null +++ b/TK_Cust/dev/tk_cust/scrm_contact_merge_af0912/S98_S_scrm_contact_merge_af0912.sql @@ -0,0 +1,82 @@ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on +delete from p10_sa.S98_S_scrm_contact_merge_af0912 +; +insert into p10_sa.S98_S_scrm_contact_merge_af0912 +( merged_customer_id + , customer_id + , date + , event + , target_name + , last_updated + , c_name + , c_type + , content_name + , source + , tag + , c_keyword + , attr2 + , group_label + , label + , etl_tx_dt ) + select + merged_customer_id + , customer_id + , date + , event + , target_name + , last_updated + , c_name + , c_type + , content_name + , source + , tag + , c_keyword + , attr2 + , group_label + , label + , etl_tx_dt + from p00_tal.S98_S_scrm_contact_merge_af0912 + ; + delete from p12_sfull.S98_S_scrm_contact_merge_af0912 +; +; +insert into p12_sfull.S98_S_scrm_contact_merge_af0912 +( merged_customer_id + , customer_id + , date + , event + , target_name + , last_updated + , c_name + , c_type + , content_name + , source + , tag + , c_keyword + , attr2 + , group_label + , label + , etl_tx_dt ) + select + merged_customer_id + , customer_id + , date + , event + , target_name + , last_updated + , c_name + , c_type + , content_name + , source + , tag + , c_keyword + , attr2 + , group_label + , label + , etl_tx_dt + from p10_sa.S98_S_scrm_contact_merge_af0912 +; +\q \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/scrm_contact_merge_af0912/sa_foreign_tables.sql b/TK_Cust/dev/tk_cust/scrm_contact_merge_af0912/sa_foreign_tables.sql new file mode 100644 index 0000000..5e7587e --- /dev/null +++ b/TK_Cust/dev/tk_cust/scrm_contact_merge_af0912/sa_foreign_tables.sql @@ -0,0 +1,27 @@ + +CREATE FOREIGN TABLE if not exists p00_tal.S98_S_scrm_contact_merge_af0912 ( + merged_customer_id TEXT + , customer_id TEXT + , date TEXT + , event TEXT + , target_name TEXT + , last_updated TEXT + , c_name TEXT + , c_type TEXT + , content_name TEXT + , source TEXT + , tag TEXT + , c_keyword TEXT + , attr2 TEXT + , group_label TEXT + , label TEXT + , etl_tx_dt TIMESTAMP +) + + +SERVER pgsql_server_S98_S OPTIONS(schema_name 'data_api', table_name 'scrm_contact_merge_af0912' ); + + + + + diff --git a/TK_Cust/dev/tk_cust/scrm_contact_merge_af0912/sa_tables.sql b/TK_Cust/dev/tk_cust/scrm_contact_merge_af0912/sa_tables.sql new file mode 100644 index 0000000..1ef97fe --- /dev/null +++ b/TK_Cust/dev/tk_cust/scrm_contact_merge_af0912/sa_tables.sql @@ -0,0 +1,79 @@ + +create table if not exists p10_sa.S98_S_scrm_contact_merge_af0912 ( + merged_customer_id TEXT + , customer_id TEXT + , date TEXT + , event TEXT + , target_name TEXT + , last_updated TEXT + , c_name TEXT + , c_type TEXT + , content_name TEXT + , source TEXT + , tag TEXT + , c_keyword TEXT + , attr2 TEXT + , group_label TEXT + , label TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_merge_af0912.merged_customer_id IS 'mergedCustomerId'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_merge_af0912.customer_id IS 'customerId'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_merge_af0912.date IS 'date'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_merge_af0912.event IS 'event'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_merge_af0912.target_name IS 'targetName'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_merge_af0912.last_updated IS 'lastUpdated'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_merge_af0912.c_name IS 'c_name'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_merge_af0912.c_type IS 'c_type'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_merge_af0912.content_name IS 'contentName'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_merge_af0912.source IS 'source'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_merge_af0912.tag IS 'tag'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_merge_af0912.c_keyword IS 'c_keyword'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_merge_af0912.attr2 IS 'attr2'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_merge_af0912.group_label IS 'groupLabel'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_merge_af0912.label IS 'label'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_merge_af0912.etl_tx_dt IS ''; + +COMMENT ON TABLE p10_sa.S98_S_scrm_contact_merge_af0912 IS ''; + + + +create table if not exists p12_sfull.S98_S_scrm_contact_merge_af0912 ( + merged_customer_id TEXT + , customer_id TEXT + , date TEXT + , event TEXT + , target_name TEXT + , last_updated TEXT + , c_name TEXT + , c_type TEXT + , content_name TEXT + , source TEXT + , tag TEXT + , c_keyword TEXT + , attr2 TEXT + , group_label TEXT + , label TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_merge_af0912.merged_customer_id IS 'mergedCustomerId'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_merge_af0912.customer_id IS 'customerId'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_merge_af0912.date IS 'date'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_merge_af0912.event IS 'event'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_merge_af0912.target_name IS 'targetName'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_merge_af0912.last_updated IS 'lastUpdated'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_merge_af0912.c_name IS 'c_name'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_merge_af0912.c_type IS 'c_type'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_merge_af0912.content_name IS 'contentName'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_merge_af0912.source IS 'source'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_merge_af0912.tag IS 'tag'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_merge_af0912.c_keyword IS 'c_keyword'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_merge_af0912.attr2 IS 'attr2'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_merge_af0912.group_label IS 'groupLabel'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_merge_af0912.label IS 'label'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_merge_af0912.etl_tx_dt IS ''; + +COMMENT ON TABLE p12_sfull.S98_S_scrm_contact_merge_af0912 IS ''; + diff --git a/TK_Cust/dev/tk_cust/scrm_contact_update_af0912/S98_S_scrm_contact_update_af0912.sql b/TK_Cust/dev/tk_cust/scrm_contact_update_af0912/S98_S_scrm_contact_update_af0912.sql new file mode 100644 index 0000000..1dd6cf1 --- /dev/null +++ b/TK_Cust/dev/tk_cust/scrm_contact_update_af0912/S98_S_scrm_contact_update_af0912.sql @@ -0,0 +1,62 @@ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on +delete from p10_sa.S98_S_scrm_contact_update_af0912 +; +insert into p10_sa.S98_S_scrm_contact_update_af0912 +( cue_id + , city_name + , company_name + , email + , mobile_number + , full_name + , prov_name + , create_time + , wechat_id + , update_time + , etl_tx_dt ) + select + cue_id + , city_name + , company_name + , email + , mobile_number + , full_name + , prov_name + , create_time + , wechat_id + , update_time + , etl_tx_dt + from p00_tal.S98_S_scrm_contact_update_af0912 + ; + delete from p12_sfull.S98_S_scrm_contact_update_af0912 +; +; +insert into p12_sfull.S98_S_scrm_contact_update_af0912 +( cue_id + , city_name + , company_name + , email + , mobile_number + , full_name + , prov_name + , create_time + , wechat_id + , update_time + , etl_tx_dt ) + select + cue_id + , city_name + , company_name + , email + , mobile_number + , full_name + , prov_name + , create_time + , wechat_id + , update_time + , etl_tx_dt + from p10_sa.S98_S_scrm_contact_update_af0912 +; +\q \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/scrm_contact_update_af0912/sa_foreign_tables.sql b/TK_Cust/dev/tk_cust/scrm_contact_update_af0912/sa_foreign_tables.sql new file mode 100644 index 0000000..c2a1d6d --- /dev/null +++ b/TK_Cust/dev/tk_cust/scrm_contact_update_af0912/sa_foreign_tables.sql @@ -0,0 +1,22 @@ + +CREATE FOREIGN TABLE if not exists p00_tal.S98_S_scrm_contact_update_af0912 ( + cue_id TEXT + , city_name TEXT + , company_name TEXT + , email TEXT + , mobile_number TEXT + , full_name TEXT + , prov_name TEXT + , create_time TEXT + , wechat_id TEXT + , update_time TEXT + , etl_tx_dt TIMESTAMP +) + + +SERVER pgsql_server_S98_S OPTIONS(schema_name 'data_api', table_name 'scrm_contact_update_af0912' ); + + + + + diff --git a/TK_Cust/dev/tk_cust/scrm_contact_update_af0912/sa_tables.sql b/TK_Cust/dev/tk_cust/scrm_contact_update_af0912/sa_tables.sql new file mode 100644 index 0000000..1e3bd02 --- /dev/null +++ b/TK_Cust/dev/tk_cust/scrm_contact_update_af0912/sa_tables.sql @@ -0,0 +1,59 @@ + +create table if not exists p10_sa.S98_S_scrm_contact_update_af0912 ( + cue_id TEXT + , city_name TEXT + , company_name TEXT + , email TEXT + , mobile_number TEXT + , full_name TEXT + , prov_name TEXT + , create_time TEXT + , wechat_id TEXT + , update_time TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_update_af0912.cue_id IS '线索ID'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_update_af0912.city_name IS '城市'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_update_af0912.company_name IS '公司'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_update_af0912.email IS '邮箱'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_update_af0912.mobile_number IS '手机号码'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_update_af0912.full_name IS '姓名'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_update_af0912.prov_name IS '省份'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_update_af0912.create_time IS '创建时间'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_update_af0912.wechat_id IS '身份-企业微信外部联系人'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_update_af0912.update_time IS '更新时间'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_contact_update_af0912.etl_tx_dt IS ''; + +COMMENT ON TABLE p10_sa.S98_S_scrm_contact_update_af0912 IS ''; + + + +create table if not exists p12_sfull.S98_S_scrm_contact_update_af0912 ( + cue_id TEXT + , city_name TEXT + , company_name TEXT + , email TEXT + , mobile_number TEXT + , full_name TEXT + , prov_name TEXT + , create_time TEXT + , wechat_id TEXT + , update_time TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_update_af0912.cue_id IS '线索ID'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_update_af0912.city_name IS '城市'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_update_af0912.company_name IS '公司'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_update_af0912.email IS '邮箱'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_update_af0912.mobile_number IS '手机号码'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_update_af0912.full_name IS '姓名'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_update_af0912.prov_name IS '省份'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_update_af0912.create_time IS '创建时间'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_update_af0912.wechat_id IS '身份-企业微信外部联系人'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_update_af0912.update_time IS '更新时间'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_contact_update_af0912.etl_tx_dt IS ''; + +COMMENT ON TABLE p12_sfull.S98_S_scrm_contact_update_af0912 IS ''; + diff --git a/TK_Cust/dev/tk_cust/scrm_leads_af0912/S98_S_scrm_leads_af0912.sql b/TK_Cust/dev/tk_cust/scrm_leads_af0912/S98_S_scrm_leads_af0912.sql new file mode 100644 index 0000000..dd7ba0d --- /dev/null +++ b/TK_Cust/dev/tk_cust/scrm_leads_af0912/S98_S_scrm_leads_af0912.sql @@ -0,0 +1,70 @@ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on +delete from p10_sa.S98_S_scrm_leads_af0912 +; +insert into p10_sa.S98_S_scrm_leads_af0912 +( customer_id + , date + , target_name + , c_name + , c_type + , content_name + , source + , tag + , c_keyword + , attr2 + , label + , group_label + , etl_tx_dt ) + select + customer_id + , date + , target_name + , c_name + , c_type + , content_name + , source + , tag + , c_keyword + , attr2 + , label + , group_label + , etl_tx_dt + from p00_tal.S98_S_scrm_leads_af0912 + ; + delete from p12_sfull.S98_S_scrm_leads_af0912 +; +; +insert into p12_sfull.S98_S_scrm_leads_af0912 +( customer_id + , date + , target_name + , c_name + , c_type + , content_name + , source + , tag + , c_keyword + , attr2 + , label + , group_label + , etl_tx_dt ) + select + customer_id + , date + , target_name + , c_name + , c_type + , content_name + , source + , tag + , c_keyword + , attr2 + , label + , group_label + , etl_tx_dt + from p10_sa.S98_S_scrm_leads_af0912 +; +\q \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/scrm_leads_af0912/sa_foreign_tables.sql b/TK_Cust/dev/tk_cust/scrm_leads_af0912/sa_foreign_tables.sql new file mode 100644 index 0000000..2fe5e69 --- /dev/null +++ b/TK_Cust/dev/tk_cust/scrm_leads_af0912/sa_foreign_tables.sql @@ -0,0 +1,24 @@ + +CREATE FOREIGN TABLE if not exists p00_tal.S98_S_scrm_leads_af0912 ( + customer_id TEXT + , date TEXT + , target_name TEXT + , c_name TEXT + , c_type TEXT + , content_name TEXT + , source TEXT + , tag TEXT + , c_keyword TEXT + , attr2 TEXT + , label TEXT + , group_label TEXT + , etl_tx_dt TIMESTAMP +) + + +SERVER pgsql_server_S98_S OPTIONS(schema_name 'data_api', table_name 'scrm_leads_af0912' ); + + + + + diff --git a/TK_Cust/dev/tk_cust/scrm_leads_af0912/sa_tables.sql b/TK_Cust/dev/tk_cust/scrm_leads_af0912/sa_tables.sql new file mode 100644 index 0000000..3b007ca --- /dev/null +++ b/TK_Cust/dev/tk_cust/scrm_leads_af0912/sa_tables.sql @@ -0,0 +1,67 @@ + +create table if not exists p10_sa.S98_S_scrm_leads_af0912 ( + customer_id TEXT + , date TEXT + , target_name TEXT + , c_name TEXT + , c_type TEXT + , content_name TEXT + , source TEXT + , tag TEXT + , c_keyword TEXT + , attr2 TEXT + , label TEXT + , group_label TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.customer_id IS 'customerId'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.date IS 'date'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.target_name IS 'targetName'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.c_name IS 'c_name'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.c_type IS 'c_type'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.content_name IS 'contentName'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.source IS 'source'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.tag IS 'tag'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.c_keyword IS 'c_keyword'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.attr2 IS 'attr2'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.label IS 'label'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.group_label IS 'groupLabel'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.etl_tx_dt IS ''; + +COMMENT ON TABLE p10_sa.S98_S_scrm_leads_af0912 IS ''; + + + +create table if not exists p12_sfull.S98_S_scrm_leads_af0912 ( + customer_id TEXT + , date TEXT + , target_name TEXT + , c_name TEXT + , c_type TEXT + , content_name TEXT + , source TEXT + , tag TEXT + , c_keyword TEXT + , attr2 TEXT + , label TEXT + , group_label TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.customer_id IS 'customerId'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.date IS 'date'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.target_name IS 'targetName'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.c_name IS 'c_name'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.c_type IS 'c_type'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.content_name IS 'contentName'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.source IS 'source'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.tag IS 'tag'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.c_keyword IS 'c_keyword'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.attr2 IS 'attr2'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.label IS 'label'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.group_label IS 'groupLabel'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.etl_tx_dt IS ''; + +COMMENT ON TABLE p12_sfull.S98_S_scrm_leads_af0912 IS ''; + diff --git a/TK_Cust/dev/tk_cust/scrm_leads_bf0912/S98_S_scrm_leads_bf0912.sql b/TK_Cust/dev/tk_cust/scrm_leads_bf0912/S98_S_scrm_leads_bf0912.sql new file mode 100644 index 0000000..b5f9077 --- /dev/null +++ b/TK_Cust/dev/tk_cust/scrm_leads_bf0912/S98_S_scrm_leads_bf0912.sql @@ -0,0 +1,38 @@ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on +delete from p10_sa.S98_S_scrm_leads_bf0912 +; +insert into p10_sa.S98_S_scrm_leads_bf0912 +( cue_id + , activate_time + , activate_name + , event_name + , etl_tx_dt ) + select + cue_id + , activate_time + , activate_name + , event_name + , etl_tx_dt + from p00_tal.S98_S_scrm_leads_bf0912 + ; + delete from p12_sfull.S98_S_scrm_leads_bf0912 +; +; +insert into p12_sfull.S98_S_scrm_leads_bf0912 +( cue_id + , activate_time + , activate_name + , event_name + , etl_tx_dt ) + select + cue_id + , activate_time + , activate_name + , event_name + , etl_tx_dt + from p10_sa.S98_S_scrm_leads_bf0912 +; +\q \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/scrm_leads_bf0912/sa_foreign_tables.sql b/TK_Cust/dev/tk_cust/scrm_leads_bf0912/sa_foreign_tables.sql new file mode 100644 index 0000000..ed79aa0 --- /dev/null +++ b/TK_Cust/dev/tk_cust/scrm_leads_bf0912/sa_foreign_tables.sql @@ -0,0 +1,16 @@ + +CREATE FOREIGN TABLE if not exists p00_tal.S98_S_scrm_leads_bf0912 ( + cue_id TEXT + , activate_time TEXT + , activate_name TEXT + , event_name TEXT + , etl_tx_dt TIMESTAMP +) + + +SERVER pgsql_server_S98_S OPTIONS(schema_name 'data_api', table_name 'scrm_leads_bf0912' ); + + + + + diff --git a/TK_Cust/dev/tk_cust/scrm_leads_bf0912/sa_tables.sql b/TK_Cust/dev/tk_cust/scrm_leads_bf0912/sa_tables.sql new file mode 100644 index 0000000..854baa7 --- /dev/null +++ b/TK_Cust/dev/tk_cust/scrm_leads_bf0912/sa_tables.sql @@ -0,0 +1,35 @@ + +create table if not exists p10_sa.S98_S_scrm_leads_bf0912 ( + cue_id TEXT + , activate_time TEXT + , activate_name TEXT + , event_name TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_bf0912.cue_id IS '线索ID'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_bf0912.activate_time IS '活动时间'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_bf0912.activate_name IS '活动名称'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_bf0912.event_name IS '事件名称'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_bf0912.etl_tx_dt IS ''; + +COMMENT ON TABLE p10_sa.S98_S_scrm_leads_bf0912 IS ''; + + + +create table if not exists p12_sfull.S98_S_scrm_leads_bf0912 ( + cue_id TEXT + , activate_time TEXT + , activate_name TEXT + , event_name TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_bf0912.cue_id IS '线索ID'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_bf0912.activate_time IS '活动时间'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_bf0912.activate_name IS '活动名称'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_bf0912.event_name IS '事件名称'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_bf0912.etl_tx_dt IS ''; + +COMMENT ON TABLE p12_sfull.S98_S_scrm_leads_bf0912 IS ''; + diff --git a/TK_Cust/dev/tk_cust/udesk_record/S98_S_udesk_record.sql b/TK_Cust/dev/tk_cust/udesk_record/S98_S_udesk_record.sql new file mode 100644 index 0000000..8c120df --- /dev/null +++ b/TK_Cust/dev/tk_cust/udesk_record/S98_S_udesk_record.sql @@ -0,0 +1,102 @@ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on +delete from p10_sa.S98_S_udesk_record +; +insert into p10_sa.S98_S_udesk_record +( record_time + , duration + , cust + , mobile_phone + , call_result + , call_origin_location + , relay_number + , satisfaction + , type + , device_status + , company_name + , queue_status + , queue_time + , message + , hung_up + , responsible_group + , blacklist + , inquiry_content + , icr_record + , call_id + , etl_tx_dt ) + select + record_time + , duration + , cust + , mobile_phone + , call_result + , call_origin_location + , relay_number + , satisfaction + , type + , device_status + , company_name + , queue_status + , queue_time + , message + , hung_up + , responsible_group + , blacklist + , inquiry_content + , icr_record + , call_id + , etl_tx_dt + from p00_tal.S98_S_udesk_record + ; + delete from p12_sfull.S98_S_udesk_record +; +; +insert into p12_sfull.S98_S_udesk_record +( record_time + , duration + , cust + , mobile_phone + , call_result + , call_origin_location + , relay_number + , satisfaction + , type + , device_status + , company_name + , queue_status + , queue_time + , message + , hung_up + , responsible_group + , blacklist + , inquiry_content + , icr_record + , call_id + , etl_tx_dt ) + select + record_time + , duration + , cust + , mobile_phone + , call_result + , call_origin_location + , relay_number + , satisfaction + , type + , device_status + , company_name + , queue_status + , queue_time + , message + , hung_up + , responsible_group + , blacklist + , inquiry_content + , icr_record + , call_id + , etl_tx_dt + from p10_sa.S98_S_udesk_record +; +\q \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/udesk_record/sa_foreign_tables.sql b/TK_Cust/dev/tk_cust/udesk_record/sa_foreign_tables.sql new file mode 100644 index 0000000..b40840f --- /dev/null +++ b/TK_Cust/dev/tk_cust/udesk_record/sa_foreign_tables.sql @@ -0,0 +1,32 @@ + +CREATE FOREIGN TABLE if not exists p00_tal.S98_S_udesk_record ( + record_time TEXT + , duration TEXT + , cust TEXT + , mobile_phone TEXT + , call_result TEXT + , call_origin_location TEXT + , relay_number TEXT + , satisfaction TEXT + , type TEXT + , device_status TEXT + , company_name TEXT + , queue_status TEXT + , queue_time TEXT + , message TEXT + , hung_up TEXT + , responsible_group TEXT + , blacklist TEXT + , inquiry_content TEXT + , icr_record TEXT + , call_id TEXT + , etl_tx_dt TIMESTAMP +) + + +SERVER pgsql_server_S98_S OPTIONS(schema_name 'data_api', table_name 'udesk_record' ); + + + + + diff --git a/TK_Cust/dev/tk_cust/udesk_record/sa_tables.sql b/TK_Cust/dev/tk_cust/udesk_record/sa_tables.sql new file mode 100644 index 0000000..b37a590 --- /dev/null +++ b/TK_Cust/dev/tk_cust/udesk_record/sa_tables.sql @@ -0,0 +1,99 @@ + +create table if not exists p10_sa.S98_S_udesk_record ( + record_time TEXT + , duration TEXT + , cust TEXT + , mobile_phone TEXT + , call_result TEXT + , call_origin_location TEXT + , relay_number TEXT + , satisfaction TEXT + , type TEXT + , device_status TEXT + , company_name TEXT + , queue_status TEXT + , queue_time TEXT + , message TEXT + , hung_up TEXT + , responsible_group TEXT + , blacklist TEXT + , inquiry_content TEXT + , icr_record TEXT + , call_id TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.record_time IS '记录时间'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.duration IS '通话时长'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.cust IS '客户'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.mobile_phone IS '客户电话'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.call_result IS '通话结果'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.call_origin_location IS '归属地'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.relay_number IS '中继号'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.satisfaction IS '满意度评价'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.type IS '通话类型'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.device_status IS '设备状态'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.company_name IS '公司'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.queue_status IS '排队状态'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.queue_time IS '排队耗时'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.message IS '留言'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.hung_up IS '通话挂断方'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.responsible_group IS '负责组'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.blacklist IS '是否在黑名单'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.inquiry_content IS '咨询内容'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.icr_record IS 'IVR录音'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.call_id IS 'Call ID'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.etl_tx_dt IS ''; + +COMMENT ON TABLE p10_sa.S98_S_udesk_record IS ''; + + + +create table if not exists p12_sfull.S98_S_udesk_record ( + record_time TEXT + , duration TEXT + , cust TEXT + , mobile_phone TEXT + , call_result TEXT + , call_origin_location TEXT + , relay_number TEXT + , satisfaction TEXT + , type TEXT + , device_status TEXT + , company_name TEXT + , queue_status TEXT + , queue_time TEXT + , message TEXT + , hung_up TEXT + , responsible_group TEXT + , blacklist TEXT + , inquiry_content TEXT + , icr_record TEXT + , call_id TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.record_time IS '记录时间'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.duration IS '通话时长'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.cust IS '客户'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.mobile_phone IS '客户电话'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.call_result IS '通话结果'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.call_origin_location IS '归属地'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.relay_number IS '中继号'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.satisfaction IS '满意度评价'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.type IS '通话类型'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.device_status IS '设备状态'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.company_name IS '公司'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.queue_status IS '排队状态'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.queue_time IS '排队耗时'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.message IS '留言'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.hung_up IS '通话挂断方'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.responsible_group IS '负责组'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.blacklist IS '是否在黑名单'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.inquiry_content IS '咨询内容'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.icr_record IS 'IVR录音'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.call_id IS 'Call ID'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.etl_tx_dt IS ''; + +COMMENT ON TABLE p12_sfull.S98_S_udesk_record IS ''; + diff --git a/TK_Cust/dev/tk_cust/中国城市信息/t00_china_city_info.sql b/TK_Cust/dev/tk_cust/中国城市信息/t00_china_city_info.sql new file mode 100644 index 0000000..0825016 --- /dev/null +++ b/TK_Cust/dev/tk_cust/中国城市信息/t00_china_city_info.sql @@ -0,0 +1,40 @@ + +DROP TABLE IF EXISTS p20_pdm.t00_china_city_info; +CREATE TABLE IF NOT EXISTS p20_pdm.t00_china_city_info ( + prov_name varchar(20) + , prov_en varchar(20) + , city_name varchar(20) + , city_en varchar(20) + , city_name2 varchar(20) + , city_en2 varchar(20) + , postalcode varchar(20) + , area_code varchar(20) + , area varchar(20) + , Etl_Batch_No varchar(50) + , Etl_First_Dt timestamp(0) + , Etl_Job varchar(50) + , Etl_Proc_Dt timestamp(0) + , Etl_Tx_Dt timestamp(0) + , Src_Sysname varchar(50) + , Src_Table varchar(50) + ,primary key( postalcode ) +); + + COMMENT ON COLUMN p20_pdm.t00_china_city_info.prov_name IS '省份'; + COMMENT ON COLUMN p20_pdm.t00_china_city_info.prov_en IS 'province'; + COMMENT ON COLUMN p20_pdm.t00_china_city_info.city_name IS '城市'; + COMMENT ON COLUMN p20_pdm.t00_china_city_info.city_en IS 'City'; + COMMENT ON COLUMN p20_pdm.t00_china_city_info.city_name2 IS '城市2'; + COMMENT ON COLUMN p20_pdm.t00_china_city_info.city_en2 IS 'City2'; + COMMENT ON COLUMN p20_pdm.t00_china_city_info.postalcode IS '邮编/postalcode'; + COMMENT ON COLUMN p20_pdm.t00_china_city_info.area_code IS '区号/area code'; + COMMENT ON COLUMN p20_pdm.t00_china_city_info.area IS '区域'; + COMMENT ON COLUMN p20_pdm.t00_china_city_info.Etl_Batch_No IS '作业批次号'; + COMMENT ON COLUMN p20_pdm.t00_china_city_info.Etl_First_Dt IS '最初入库时间'; + COMMENT ON COLUMN p20_pdm.t00_china_city_info.Etl_Job IS '作业名称'; + COMMENT ON COLUMN p20_pdm.t00_china_city_info.Etl_Proc_Dt IS '本次入库时间'; + COMMENT ON COLUMN p20_pdm.t00_china_city_info.Etl_Tx_Dt IS '作业运行时间'; + COMMENT ON COLUMN p20_pdm.t00_china_city_info.Src_Sysname IS '来源系统'; + COMMENT ON COLUMN p20_pdm.t00_china_city_info.Src_Table IS '来源表'; + +COMMENT ON TABLE p20_pdm.t00_china_city_info IS '中国城市信息'; \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/中国城市信息/t00_china_city_info_agi.sql b/TK_Cust/dev/tk_cust/中国城市信息/t00_china_city_info_agi.sql new file mode 100644 index 0000000..d721d50 --- /dev/null +++ b/TK_Cust/dev/tk_cust/中国城市信息/t00_china_city_info_agi.sql @@ -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 :t00_china_city_info(中国城市信息) */ +/*Create Date:2024-01-26 13:32:26 */ +/*SDM Developed By: dev */ +/*SDM Developed Date: 2024-01-16 */ +/*SDM Checked By: dev */ +/*SDM Checked Date: 2024-01-26 */ +/*Script Developed By: dev */ +/*Script Checked By: dev */ +/*Source table 1: p10_sa.s98_s_china_city */ +/*Job Type: Inbound transform (Tier 1 to Tier 2) */ +/*Target Table:t00_china_city_info */ +/*ETL Job Name:t00_china_city_info */ +/*ETL Frequency:Daily */ +/*ETL Policy:F2 */ +/********************************************************************************************/ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on + + + +/*创建临时表加载当前数据 */ +CREATE TEMPORARY TABLE t00_china_city_info_agi_CUR_I + ( LIKE :PDMDB.t00_china_city_info) +ON COMMIT PRESERVE ROWS; + + + +/*创建临时表加载不同数据 */ +CREATE TEMPORARY TABLE t00_china_city_info_agi_INS +( LIKE :PDMDB.t00_china_city_info) +ON COMMIT PRESERVE ROWS; + + +/*****************************************************************************************************/ +/* GROUP 1:Source Table:s98_s_china_city**************************************************************/ +/*****************************************************************************************************/ + +INSERT INTO t00_china_city_info_agi_CUR_I ( + prov_name /*省份*/ + ,prov_en /*province*/ + ,city_name /*城市*/ + ,city_en /*City*/ + ,city_name2 /*城市2*/ + ,city_en2 /*City2*/ + ,postalcode /*邮编/postalcode*/ + ,area_code /*区号/area code*/ + ,area /*区域*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + ) +SELECT + COALESCE(TRIM(CAST(p0.prov_cn AS varchar(20))),'') /*prov_name*/ + ,COALESCE(TRIM(CAST(p0.province AS varchar(20))),'') /*prov_en*/ + ,COALESCE(TRIM(CAST(p0.city_cn AS varchar(20))),'') /*city_name*/ + ,COALESCE(TRIM(CAST(p0.city AS varchar(20))),'') /*city_en*/ + ,COALESCE(TRIM(CAST(p0.city_cn2 AS varchar(20))),'') /*city_name2*/ + ,COALESCE(TRIM(CAST(p0.city2 AS varchar(20))),'') /*city_en2*/ + ,COALESCE(TRIM(CAST(p0.postalcode AS varchar(20))),'') /*postalcode*/ + ,COALESCE(TRIM(CAST(p0.area_code AS varchar(20))),'') /*area_code*/ + ,COALESCE(TRIM(CAST(p0.area AS varchar(20))),'') /*area*/ + ,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('s98_s_china_city',1,3) /*Src_Sysname*/ + ,'s98_s_china_city' /*Src_Table*/ + +FROM (select distinct on (postalcode) * from p10_sa.s98_s_china_city) p0 + + +; + + + +/*将不同数据插入到临时表 */ +;INSERT INTO t00_china_city_info_agi_INS ( + prov_name /*省份*/ + ,prov_en /*province*/ + ,city_name /*城市*/ + ,city_en /*City*/ + ,city_name2 /*城市2*/ + ,city_en2 /*City2*/ + ,area_code /*区号/area code*/ + ,area /*区域*/ + ,postalcode /*邮编/postalcode*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) + SELECT + P1.prov_name /*省份*/ + ,P1.prov_en /*province*/ + ,P1.city_name /*城市*/ + ,P1.city_en /*City*/ + ,P1.city_name2 /*城市2*/ + ,P1.city_en2 /*City2*/ + ,P1.area_code /*区号/area code*/ + ,P1.area /*区域*/ + ,P1.postalcode /*邮编/postalcode*/ + ,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 t00_china_city_info_agi_CUR_I P1 +LEFT JOIN :PDMDB.t00_china_city_info P2 +ON P1.prov_name = P2.prov_name + AND P1.prov_en = P2.prov_en + AND P1.city_name = P2.city_name + AND P1.city_en = P2.city_en + AND P1.city_name2 = P2.city_name2 + AND P1.city_en2 = P2.city_en2 + AND P1.area_code = P2.area_code + AND P1.area = P2.area + AND P1.postalcode = P2.postalcode + +WHERE P2.prov_name IS NULL + OR P2.prov_en IS NULL + OR P2.city_name IS NULL + OR P2.city_en IS NULL + OR P2.city_name2 IS NULL + OR P2.city_en2 IS NULL + OR P2.area_code IS NULL + OR P2.area IS NULL + OR P2.postalcode IS NULL + +; +/*将新增数据插入到目标表 */ +;INSERT INTO :PDMDB.t00_china_city_info ( + prov_name /*省份*/ + ,prov_en /*province*/ + ,city_name /*城市*/ + ,city_en /*City*/ + ,city_name2 /*城市2*/ + ,city_en2 /*City2*/ + ,area_code /*区号/area code*/ + ,area /*区域*/ + ,postalcode /*邮编/postalcode*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) +SELECT + P1.prov_name /*省份*/ + ,P1.prov_en /*province*/ + ,P1.city_name /*城市*/ + ,P1.city_en /*City*/ + ,P1.city_name2 /*城市2*/ + ,P1.city_en2 /*City2*/ + ,P1.area_code /*区号/area code*/ + ,P1.area /*区域*/ + ,P1.postalcode /*邮编/postalcode*/ + ,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 t00_china_city_info_agi_INS P1 +ON CONFLICT ( postalcode) +DO UPDATE SET + postalcode=excluded.postalcode + ,prov_name=excluded.prov_name + ,prov_en=excluded.prov_en + ,city_name=excluded.city_name + ,city_en=excluded.city_en + ,city_name2=excluded.city_name2 + ,city_en2=excluded.city_en2 + ,area_code=excluded.area_code + ,area=excluded.area + ,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 + diff --git a/TK_Cust/dev/tk_cust/即时聊天记录/t01_livechat_record.sql b/TK_Cust/dev/tk_cust/即时聊天记录/t01_livechat_record.sql new file mode 100644 index 0000000..4a6c661 --- /dev/null +++ b/TK_Cust/dev/tk_cust/即时聊天记录/t01_livechat_record.sql @@ -0,0 +1,216 @@ + +DROP TABLE IF EXISTS p20_pdm.t01_livechat_record; +CREATE TABLE IF NOT EXISTS p20_pdm.t01_livechat_record ( + livechat_leads_id varchar(20) + , chat_creation_time timestamp(0) + , chat_start_time timestamp(0) + , chat_start_url text + , chat_referrer_url text + , chat_duration int + , queue_duration int + , visitor_livechat_id varchar(100) + , visitor_nick varchar(50) + , visitor_ip varchar(20) + , visitor_email varchar(50) + , last_operator_id varchar(50) + , group_id varchar(100) + , group_name varchar(100) + , rate varchar(20) + , rate_comment text + , operator_1_nick varchar(50) + , operator_2_nick varchar(50) + , operator_3_nick varchar(50) + , operator_4_nick varchar(50) + , operator_5_nick varchar(50) + , operator_6_nick varchar(50) + , operator_7_nick varchar(50) + , operator_8_nick varchar(50) + , operator_9_nick varchar(50) + , operator_10_nick varchar(50) + , operator_11_nick varchar(50) + , operator_1_id varchar(50) + , operator_2_id varchar(50) + , operator_3_id varchar(50) + , operator_4_id varchar(50) + , operator_5_id varchar(50) + , operator_6_id varchar(50) + , operator_7_id varchar(50) + , operator_8_id varchar(50) + , operator_9_id varchar(50) + , operator_10_id varchar(50) + , operator_11_id varchar(50) + , operator_1_time_zone varchar(20) + , operator_2_time_zone varchar(20) + , operator_3_time_zone varchar(20) + , operator_4_time_zone varchar(20) + , operator_5_time_zone varchar(20) + , operator_6_time_zone varchar(20) + , operator_7_time_zone varchar(20) + , operator_8_time_zone varchar(20) + , operator_9_time_zone varchar(20) + , operator_10_time_zone varchar(20) + , operator_11_time_zone varchar(20) + , pre_chat_service varchar(50) + , pre_chat_name varchar(20) + , pre_chat_contact varchar(20) + , pre_chat_email varchar(50) + , pre_chat_company varchar(50) + , pre_chat_service_t varchar(50) + , pre_chat_email_t varchar(50) + , pre_chat_contact_t varchar(20) + , pre_chat_company_t varchar(50) + , pre_chat_name_j varchar(20) + , pre_chat_email_j varchar(50) + , pre_chat_private_policy varchar(10) + , pre_chat_know_policy varchar(10) + , pre_chat_agree_policy varchar(10) + , pre_chat_agree_policy_k varchar(10) + , pre_chat_agree_for_sale varchar(10) + , pre_chat_company_k varchar(50) + , pre_chat_name_k varchar(20) + , pre_chat_contact_k varchar(20) + , pre_chat_email_k varchar(50) + , pre_chat_service_k varchar(20) + , pre_chat_contact_2 varchar(20) + , pre_chat_contact_3 varchar(20) + , post_chat_first varchar(10) + , post_chat_where_chat varchar(50) + , post_chat_help varchar(10) + , post_chat_where_2 varchar(50) + , post_chat_first_j varchar(10) + , post_chat_help_j varchar(10) + , post_chat_message_j text + , auto_invite_url varchar(50) + , auto_invite_action varchar(50) + , goal_action_name varchar(50) + , goal_done_by varchar(50) + , goal_done_time timestamp(0) + , tag_1 varchar(50) + , tag_2 varchar(50) + , tag_3 varchar(50) + , tag_4 varchar(50) + , tag_5 varchar(50) + , cust_var_1_name varchar(50) + , cust_var_1_value varchar(50) + , first_response_time text + , average_response_time int + , agents_chatting_duration int + , visitor_user_agent varchar(200) + , group_status_at_start varchar(20) + , visitor_country_code varchar(2) + , Etl_Batch_No varchar(50) + , Etl_First_Dt timestamp(0) + , Etl_Job varchar(50) + , Etl_Proc_Dt timestamp(0) + , Etl_Tx_Dt timestamp(0) + , Src_Sysname varchar(50) + , Src_Table varchar(50) + ,primary key( livechat_leads_id ) +); + + COMMENT ON COLUMN p20_pdm.t01_livechat_record.livechat_leads_id IS 'livechat线索编号'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.chat_creation_time IS '聊天创建时间'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.chat_start_time IS '聊天开始时间'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.chat_start_url IS '聊天开始url'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.chat_referrer_url IS '聊天上级url'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.chat_duration IS '聊天持续时长'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.queue_duration IS '排队时长'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.visitor_livechat_id IS '访客聊天编号'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.visitor_nick IS '访客昵称'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.visitor_ip IS '访客IP'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.visitor_email IS '访客邮箱'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.last_operator_id IS '最后操作者'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.group_id IS '责任组编号'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.group_name IS '责任组名称'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.rate IS '评价'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.rate_comment IS '评价描述'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_1_nick IS '操作者1昵称'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_2_nick IS '操作者2昵称'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_3_nick IS '操作者3昵称'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_4_nick IS '操作者4昵称'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_5_nick IS '操作者5昵称'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_6_nick IS '操作者6昵称'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_7_nick IS '操作者7昵称'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_8_nick IS '操作者8昵称'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_9_nick IS '操作者9昵称'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_10_nick IS '操作者10昵称'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_11_nick IS '操作者11昵称'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_1_id IS '操作者1编号'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_2_id IS '操作者2编号'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_3_id IS '操作者3编号'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_4_id IS '操作者4编号'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_5_id IS '操作者5编号'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_6_id IS '操作者6编号'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_7_id IS '操作者7编号'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_8_id IS '操作者8编号'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_9_id IS '操作者9编号'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_10_id IS '操作者10编号'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_11_id IS '操作者11编号'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_1_time_zone IS '操作者1时区'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_2_time_zone IS '操作者2时区'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_3_time_zone IS '操作者3时区'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_4_time_zone IS '操作者4时区'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_5_time_zone IS '操作者5时区'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_6_time_zone IS '操作者6时区'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_7_time_zone IS '操作者7时区'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_8_time_zone IS '操作者8时区'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_9_time_zone IS '操作者9时区'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_10_time_zone IS '操作者10时区'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.operator_11_time_zone IS '操作者11时区'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.pre_chat_service IS '需要服务类型'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.pre_chat_name IS '姓名'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.pre_chat_contact IS '联系方式'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.pre_chat_email IS '邮箱'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.pre_chat_company IS '公司名'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.pre_chat_service_t IS '需要服务类型(繁体)'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.pre_chat_email_t IS '邮箱(繁体)'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.pre_chat_contact_t IS '联系方式(繁体)'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.pre_chat_company_t IS '公司名(繁体)'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.pre_chat_name_j IS '姓名(日文)'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.pre_chat_email_j IS '邮箱(日文)'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.pre_chat_private_policy IS '同意隐私政策标志'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.pre_chat_know_policy IS '同意数据境外传输标志'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.pre_chat_agree_policy IS '同意收集数据标志'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.pre_chat_agree_policy_k IS '同意收集数据标志(韩语)'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.pre_chat_agree_for_sale IS '同意数据用于营销标志'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.pre_chat_company_k IS '公司(韩语)'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.pre_chat_name_k IS '姓名(韩语)'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.pre_chat_contact_k IS '联系方式(韩语)'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.pre_chat_email_k IS '邮箱(韩语)'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.pre_chat_service_k IS '需要服务类型(韩语)'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.pre_chat_contact_2 IS '联系方式2'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.pre_chat_contact_3 IS '联系方式3'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.post_chat_first IS '第一次聊天标志'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.post_chat_where_chat IS '聊天来源'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.post_chat_help IS '问题解决标志'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.post_chat_where_2 IS '聊天来源2'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.post_chat_first_j IS '第一次聊天标志(日语)'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.post_chat_help_j IS '问题解决标志(日语)'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.post_chat_message_j IS '聊天信息'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.auto_invite_url IS '自动邀请网址'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.auto_invite_action IS '自动邀请事件'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.goal_action_name IS '目标事件名称'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.goal_done_by IS '目标完成人'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.goal_done_time IS '目标完成时间'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.tag_1 IS '标签1'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.tag_2 IS '标签2'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.tag_3 IS '标签3'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.tag_4 IS '标签4'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.tag_5 IS '标签5'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.cust_var_1_name IS '客户参数1名称'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.cust_var_1_value IS '客户参数1值'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.first_response_time IS '首次相应时间'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.average_response_time IS '平均响应时间'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.agents_chatting_duration IS '坐席聊天时长'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.visitor_user_agent IS '访问者代理'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.group_status_at_start IS '开始时组状态'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.visitor_country_code IS '访客国家代码'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.Etl_Batch_No IS '作业批次号'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.Etl_First_Dt IS '最初入库时间'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.Etl_Job IS '作业名称'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.Etl_Proc_Dt IS '本次入库时间'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.Etl_Tx_Dt IS '作业运行时间'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.Src_Sysname IS '来源系统'; + COMMENT ON COLUMN p20_pdm.t01_livechat_record.Src_Table IS '来源表'; + +COMMENT ON TABLE p20_pdm.t01_livechat_record IS '即时聊天记录'; \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/国家信息/t00_country_info.sql b/TK_Cust/dev/tk_cust/国家信息/t00_country_info.sql new file mode 100644 index 0000000..9077be7 --- /dev/null +++ b/TK_Cust/dev/tk_cust/国家信息/t00_country_info.sql @@ -0,0 +1,36 @@ + +DROP TABLE IF EXISTS p20_pdm.t00_country_info; +CREATE TABLE IF NOT EXISTS p20_pdm.t00_country_info ( + country_cn_name varchar(50) + , country_en_name varchar(50) + , country_cd varchar(10) + , country_abbr varchar(10) + , country_number int + , inter_tel_cd varchar(10) + , internet_name varchar(20) + , Etl_Batch_No varchar(50) + , Etl_First_Dt timestamp(0) + , Etl_Job varchar(50) + , Etl_Proc_Dt timestamp(0) + , Etl_Tx_Dt timestamp(0) + , Src_Sysname varchar(50) + , Src_Table varchar(50) + ,primary key( country_cd ) +); + + COMMENT ON COLUMN p20_pdm.t00_country_info.country_cn_name IS '国家'; + COMMENT ON COLUMN p20_pdm.t00_country_info.country_en_name IS '国家英文名'; + COMMENT ON COLUMN p20_pdm.t00_country_info.country_cd IS '国家代码'; + COMMENT ON COLUMN p20_pdm.t00_country_info.country_abbr IS '国家缩写'; + COMMENT ON COLUMN p20_pdm.t00_country_info.country_number IS '数字代码'; + COMMENT ON COLUMN p20_pdm.t00_country_info.inter_tel_cd IS '国际区号'; + COMMENT ON COLUMN p20_pdm.t00_country_info.internet_name IS '域名'; + COMMENT ON COLUMN p20_pdm.t00_country_info.Etl_Batch_No IS '作业批次号'; + COMMENT ON COLUMN p20_pdm.t00_country_info.Etl_First_Dt IS '最初入库时间'; + COMMENT ON COLUMN p20_pdm.t00_country_info.Etl_Job IS '作业名称'; + COMMENT ON COLUMN p20_pdm.t00_country_info.Etl_Proc_Dt IS '本次入库时间'; + COMMENT ON COLUMN p20_pdm.t00_country_info.Etl_Tx_Dt IS '作业运行时间'; + COMMENT ON COLUMN p20_pdm.t00_country_info.Src_Sysname IS '来源系统'; + COMMENT ON COLUMN p20_pdm.t00_country_info.Src_Table IS '来源表'; + +COMMENT ON TABLE p20_pdm.t00_country_info IS '国家信息'; \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/国家信息/t00_country_info_agi.sql b/TK_Cust/dev/tk_cust/国家信息/t00_country_info_agi.sql new file mode 100644 index 0000000..45933fc --- /dev/null +++ b/TK_Cust/dev/tk_cust/国家信息/t00_country_info_agi.sql @@ -0,0 +1,190 @@ +/***************************************************************************************************/ +/*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 :t00_country_info(国家信息) */ +/*Create Date:2024-01-16 18:27:51 */ +/*SDM Developed By: dev */ +/*SDM Developed Date: 2024-01-16 */ +/*SDM Checked By: dev */ +/*SDM Checked Date: 2024-01-16 */ +/*Script Developed By: dev */ +/*Script Checked By: dev */ +/*Source table 1: p10_sa.s98_s_country_cde */ +/*Job Type: Inbound transform (Tier 1 to Tier 2) */ +/*Target Table:t00_country_info */ +/*ETL Job Name:t00_country_info */ +/*ETL Frequency:Daily */ +/*ETL Policy:F2 */ +/********************************************************************************************/ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on + + + +/*创建临时表加载当前数据 */ +CREATE TEMPORARY TABLE t00_country_info_agi_CUR_I + ( LIKE :PDMDB.t00_country_info) +ON COMMIT PRESERVE ROWS; + + + +/*创建临时表加载不同数据 */ +CREATE TEMPORARY TABLE t00_country_info_agi_INS +( LIKE :PDMDB.t00_country_info) +ON COMMIT PRESERVE ROWS; + + +/*****************************************************************************************************/ +/* GROUP 1:Source Table:s98_s_country_cde*************************************************************/ +/*****************************************************************************************************/ +INSERT INTO t00_country_info_agi_CUR_I ( + country_cn_name /*国家*/ + ,country_en_name /*国家英文名*/ + ,country_cd /*国家代码*/ + ,country_abbr /*国家缩写*/ + ,country_number /*数字代码*/ + ,inter_tel_cd /*国际区号*/ + ,internet_name /*域名*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + ) +SELECT + COALESCE(TRIM(CAST(p0.country_cn_name AS varchar(50))),'') /*country_cn_name*/ + ,COALESCE(TRIM(CAST(p0.country_en_name AS varchar(50))),'') /*country_en_name*/ + ,COALESCE(TRIM(CAST(p0.country_cd AS varchar(10))),'') /*country_cd*/ + ,COALESCE(TRIM(CAST(p0.country_abbr AS varchar(10))),'') /*country_abbr*/ + ,COALESCE(CAST(p0.country_number AS int),0) /*country_number*/ + ,COALESCE(TRIM(CAST(p0.inter_tel_cd AS varchar(10))),'') /*inter_tel_cd*/ + ,COALESCE(TRIM(CAST(p0.internet_name AS varchar(20))),'') /*internet_name*/ + ,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('s98_s_country_cde',1,3) /*Src_Sysname*/ + ,'s98_s_country_cde' /*Src_Table*/ + +FROM p10_sa.s98_s_country_cde p0 +; + + + +/*将不同数据插入到临时表 */ +;INSERT INTO t00_country_info_agi_INS ( + country_cn_name /*国家*/ + ,country_en_name /*国家英文名*/ + ,country_abbr /*国家缩写*/ + ,country_number /*数字代码*/ + ,inter_tel_cd /*国际区号*/ + ,internet_name /*域名*/ + ,country_cd /*国家代码*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) + SELECT + P1.country_cn_name /*国家*/ + ,P1.country_en_name /*国家英文名*/ + ,P1.country_abbr /*国家缩写*/ + ,P1.country_number /*数字代码*/ + ,P1.inter_tel_cd /*国际区号*/ + ,P1.internet_name /*域名*/ + ,P1.country_cd /*国家代码*/ + ,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 t00_country_info_agi_CUR_I P1 +LEFT JOIN :PDMDB.t00_country_info P2 +ON P1.country_cn_name = P2.country_cn_name + AND P1.country_en_name = P2.country_en_name + AND P1.country_abbr = P2.country_abbr + AND P1.country_number = P2.country_number + AND P1.inter_tel_cd = P2.inter_tel_cd + AND P1.internet_name = P2.internet_name + AND P1.country_cd = P2.country_cd + +WHERE P2.country_cn_name IS NULL + OR P2.country_en_name IS NULL + OR P2.country_abbr IS NULL + OR P2.country_number IS NULL + OR P2.inter_tel_cd IS NULL + OR P2.internet_name IS NULL + OR P2.country_cd IS NULL + +; +/*将新增数据插入到目标表 */ +;INSERT INTO :PDMDB.t00_country_info ( + country_cn_name /*国家*/ + ,country_en_name /*国家英文名*/ + ,country_abbr /*国家缩写*/ + ,country_number /*数字代码*/ + ,inter_tel_cd /*国际区号*/ + ,internet_name /*域名*/ + ,country_cd /*国家代码*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) +SELECT + P1.country_cn_name /*国家*/ + ,P1.country_en_name /*国家英文名*/ + ,P1.country_abbr /*国家缩写*/ + ,P1.country_number /*数字代码*/ + ,P1.inter_tel_cd /*国际区号*/ + ,P1.internet_name /*域名*/ + ,P1.country_cd /*国家代码*/ + ,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 t00_country_info_agi_INS P1 +ON CONFLICT ( country_cd) +DO UPDATE SET + country_cd=excluded.country_cd + ,country_cn_name=excluded.country_cn_name + ,country_en_name=excluded.country_en_name + ,country_abbr=excluded.country_abbr + ,country_number=excluded.country_number + ,inter_tel_cd=excluded.inter_tel_cd + ,internet_name=excluded.internet_name + ,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 + diff --git a/TK_Cust/dev/tk_cust/泰克客户/wf_dag_tk_cust.py b/TK_Cust/dev/tk_cust/泰克客户/wf_dag_tk_cust.py new file mode 100644 index 0000000..03b71b3 --- /dev/null +++ b/TK_Cust/dev/tk_cust/泰克客户/wf_dag_tk_cust.py @@ -0,0 +1,370 @@ +#!/usr/bin/python +# -*- encoding=utf-8 -*- +from airflow import DAG +from datetime import datetime, timedelta +from airflow.contrib.hooks.ssh_hook import SSHHook +from airflow.contrib.operators.ssh_operator import SSHOperator +from airflow.sensors.external_task_sensor import ExternalTaskSensor +import json + +from airflow.operators.email_operator import EmailOperator +from airflow.utils.trigger_rule import TriggerRule + + +sshHook = SSHHook(ssh_conn_id ='ssh_air') +default_args = { +'owner': 'info@idgvalue.com', +'email': [''], +'email_on_failure': True, +'email_on_retry':True, +'start_date': datetime(2022, 9, 12), +'depends_on_past': False, +'retries': 6, +'retry_delay': timedelta(minutes=10), +} + +dag = DAG('wf_dag_tk_cust', default_args=default_args, +schedule_interval="0 0 * * *", +catchup=False, +dagrun_timeout=timedelta(minutes=160), +max_active_runs=3) + +task_failed = EmailOperator ( + dag=dag, + trigger_rule=TriggerRule.ONE_FAILED, + task_id="task_failed", + to=["info@idgvalue.com"], + cc=[""], + subject="tk_cust_failed", + html_content='

您好,tk_cust作业失败,请及时处理"

') + +file_Tk01 = SSHOperator( +ssh_hook=sshHook, +task_id='file_Tk01', +command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }} >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"Tk01"}, +depends_on_past=False, +retries=3, +dag=dag) + + +file_Update_af0912 = SSHOperator( +ssh_hook=sshHook, +task_id='file_Update_af0912', +command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }} >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"Update_af0912"}, +depends_on_past=False, +retries=3, +dag=dag) + + +file_Merge_af0912 = SSHOperator( +ssh_hook=sshHook, +task_id='file_Merge_af0912', +command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }} >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"Merge_af0912"}, +depends_on_past=False, +retries=3, +dag=dag) + + +file_SCRM_Contact_af0912 = SSHOperator( +ssh_hook=sshHook, +task_id='file_SCRM_Contact_af0912', +command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }} >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"SCRM_Contact_af0912"}, +depends_on_past=False, +retries=3, +dag=dag) + + +file_SCRM_Contact_bf0912 = SSHOperator( +ssh_hook=sshHook, +task_id='file_SCRM_Contact_bf0912', +command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }} >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"SCRM_Contact_bf0912"}, +depends_on_past=False, +retries=3, +dag=dag) + + +livechat_6381 = SSHOperator( +ssh_hook=sshHook, +task_id='livechat_6381', +command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"S98_S_livechat"}, +depends_on_past=False, +retries=3, +dag=dag) + +scrm_contact_af0912_6333 = SSHOperator( +ssh_hook=sshHook, +task_id='scrm_contact_af0912_6333', +command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"S98_S_scrm_contact_af0912"}, +depends_on_past=False, +retries=3, +dag=dag) + +scrm_contact_update_af0912_6448 = SSHOperator( +ssh_hook=sshHook, +task_id='scrm_contact_update_af0912_6448', +command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"S98_S_scrm_contact_update_af0912"}, +depends_on_past=False, +retries=3, +dag=dag) + +scrm_contact_merge_af0912_7975 = SSHOperator( +ssh_hook=sshHook, +task_id='scrm_contact_merge_af0912_7975', +command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"S98_S_scrm_contact_merge_af0912"}, +depends_on_past=False, +retries=3, +dag=dag) + +scrm_contact_bf0912_6949 = SSHOperator( +ssh_hook=sshHook, +task_id='scrm_contact_bf0912_6949', +command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"S98_S_scrm_contact_bf0912"}, +depends_on_past=False, +retries=3, +dag=dag) + +T01_SCRM_CONTACT = SSHOperator( +ssh_hook=sshHook, +task_id='T01_SCRM_CONTACT', +command='/data/airflow/etl/PDM/run_sa.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"T01_SCRM_CONTACT_agi"}, +depends_on_past=False, +retries=3, +dag=dag) +file_Udesk_record = SSHOperator( +ssh_hook=sshHook, +task_id='file_Udesk_record', +command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }} >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"Udesk_record"}, +depends_on_past=False, +retries=3, +dag=dag) + + +file_CRM_Raw_Leads = SSHOperator( +ssh_hook=sshHook, +task_id='file_CRM_Raw_Leads', +command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }} >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"CRM_Raw_Leads"}, +depends_on_past=False, +retries=3, +dag=dag) + + +file_scrm_leads_bf0912 = SSHOperator( +ssh_hook=sshHook, +task_id='file_scrm_leads_bf0912', +command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }} >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"scrm_leads_bf0912"}, +depends_on_past=False, +retries=3, +dag=dag) + + +file_scrm_leads_af0912 = SSHOperator( +ssh_hook=sshHook, +task_id='file_scrm_leads_af0912', +command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }} >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"scrm_leads_af0912"}, +depends_on_past=False, +retries=3, +dag=dag) + + +udesk_record_3768 = SSHOperator( +ssh_hook=sshHook, +task_id='udesk_record_3768', +command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"S98_S_udesk_record"}, +depends_on_past=False, +retries=3, +dag=dag) + +scrm_leads_bf0912_508 = SSHOperator( +ssh_hook=sshHook, +task_id='scrm_leads_bf0912_508', +command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"S98_S_scrm_leads_bf0912"}, +depends_on_past=False, +retries=3, +dag=dag) + +scrm_leads_af0912_5813 = SSHOperator( +ssh_hook=sshHook, +task_id='scrm_leads_af0912_5813', +command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"S98_S_scrm_leads_af0912"}, +depends_on_past=False, +retries=3, +dag=dag) + +crm_raw_leads_6024 = SSHOperator( +ssh_hook=sshHook, +task_id='crm_raw_leads_6024', +command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"S98_S_crm_raw_leads"}, +depends_on_past=False, +retries=3, +dag=dag) + +t01_scrm_contact_his = SSHOperator( +ssh_hook=sshHook, +task_id='t01_scrm_contact_his', +command='/data/airflow/etl/PDM/run_sa.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"t01_scrm_contact_his_agi"}, +depends_on_past=False, +retries=3, +dag=dag) +t01_scrm_contact_update = SSHOperator( +ssh_hook=sshHook, +task_id='t01_scrm_contact_update', +command='/data/airflow/etl/PDM/run_sa.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"t01_scrm_contact_update_agi"}, +depends_on_past=False, +retries=3, +dag=dag) +t01_scrm_contact_merge = SSHOperator( +ssh_hook=sshHook, +task_id='t01_scrm_contact_merge', +command='/data/airflow/etl/PDM/run_sa.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"t01_scrm_contact_merge_agi"}, +depends_on_past=False, +retries=3, +dag=dag) +t01_livechat_record = SSHOperator( +ssh_hook=sshHook, +task_id='t01_livechat_record', +command='/data/airflow/etl/PDM/run_sa.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"t01_livechat_record_agi"}, +depends_on_past=False, +retries=3, +dag=dag) +china_city_4536 = SSHOperator( +ssh_hook=sshHook, +task_id='china_city_4536', +command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"S98_S_china_city"}, +depends_on_past=False, +retries=3, +dag=dag) + +country_cde_3310 = SSHOperator( +ssh_hook=sshHook, +task_id='country_cde_3310', +command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"S98_S_country_cde"}, +depends_on_past=False, +retries=3, +dag=dag) + +file_china_city = SSHOperator( +ssh_hook=sshHook, +task_id='file_china_city', +command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }} >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"china_city"}, +depends_on_past=False, +retries=3, +dag=dag) + + +file_country_cde = SSHOperator( +ssh_hook=sshHook, +task_id='file_country_cde', +command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }} >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"country_cde"}, +depends_on_past=False, +retries=3, +dag=dag) + + +t01_crm_raw_leads = SSHOperator( +ssh_hook=sshHook, +task_id='t01_crm_raw_leads', +command='/data/airflow/etl/PDM/run_sa.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"t01_crm_raw_leads_agi"}, +depends_on_past=False, +retries=3, +dag=dag) +t00_country_info = SSHOperator( +ssh_hook=sshHook, +task_id='t00_country_info', +command='/data/airflow/etl/PDM/run_sa.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"t00_country_info_agi"}, +depends_on_past=False, +retries=3, +dag=dag) +t00_china_city_info = SSHOperator( +ssh_hook=sshHook, +task_id='t00_china_city_info', +command='/data/airflow/etl/PDM/run_sa.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"t00_china_city_info_agi"}, +depends_on_past=False, +retries=3, +dag=dag) +t01_scrm_leads_his = SSHOperator( +ssh_hook=sshHook, +task_id='t01_scrm_leads_his', +command='/data/airflow/etl/PDM/run_sa.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"t01_scrm_leads_his_agi"}, +depends_on_past=False, +retries=3, +dag=dag) +t01_scrm_leads = SSHOperator( +ssh_hook=sshHook, +task_id='t01_scrm_leads', +command='/data/airflow/etl/PDM/run_sa.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"t01_scrm_leads_agi"}, +depends_on_past=False, +retries=3, +dag=dag) +t01_udesk_record = SSHOperator( +ssh_hook=sshHook, +task_id='t01_udesk_record', +command='/data/airflow/etl/PDM/run_sa.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"t01_udesk_record_agi"}, +depends_on_past=False, +retries=3, +dag=dag) +d_crm_contact = SSHOperator( +ssh_hook=sshHook, +task_id='d_crm_contact', +command='/data/airflow/etl/PDM/run_sa.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"d_crm_contact_agi"}, +depends_on_past=False, +retries=3, +dag=dag) +file_Tk01 >> livechat_6381 +file_Merge_af0912 >> scrm_contact_merge_af0912_7975 +file_SCRM_Contact_bf0912 >> scrm_contact_bf0912_6949 +file_SCRM_Contact_af0912 >> scrm_contact_af0912_6333 +file_Update_af0912 >> scrm_contact_update_af0912_6448 +scrm_contact_af0912_6333 >> T01_SCRM_CONTACT +file_Udesk_record >> udesk_record_3768 +file_scrm_leads_bf0912 >> scrm_leads_bf0912_508 +file_scrm_leads_af0912 >> scrm_leads_af0912_5813 +file_CRM_Raw_Leads >> crm_raw_leads_6024 +scrm_contact_bf0912_6949 >> t01_scrm_contact_his +scrm_contact_update_af0912_6448 >> t01_scrm_contact_update +scrm_contact_merge_af0912_7975 >> t01_scrm_contact_merge +livechat_6381 >> t01_livechat_record +file_country_cde >> country_cde_3310 +file_china_city >> china_city_4536 +crm_raw_leads_6024 >> t01_crm_raw_leads +country_cde_3310 >> t00_country_info +china_city_4536 >> t00_china_city_info +scrm_leads_bf0912_508 >> t01_scrm_leads_his +scrm_leads_af0912_5813 >> t01_scrm_leads +udesk_record_3768 >> t01_udesk_record +t01_scrm_contact_update >> d_crm_contact +t01_livechat_record >> d_crm_contact +d_crm_contact >> task_failed