add workflow 泰克CRM,dev

This commit is contained in:
root 2024-04-29 13:49:13 +08:00
parent 371005918b
commit 106a5fdb88
3 changed files with 804 additions and 6 deletions

View File

@ -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联系方式';

View File

@ -0,0 +1,650 @@
/***************************************************************************************************/
/*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-04-29 13:48:36 */
/*SDM Developed By: dev */
/*SDM Developed Date: 2024-01-18 */
/*SDM Checked By: dev */
/*SDM Checked Date: 2024-04-29 */
/*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 :COMMDB.d_crm_contact)
ON COMMIT PRESERVE ROWS;
/*创建临时表加载不同数据 */
CREATE TEMPORARY TABLE d_crm_contact_agi_INS
( LIKE :COMMDB.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线索ID*/
,company_name /*公司名称*/
,account_name /*CRM账号名称*/
,owner_id /*责任人ID*/
,full_name /*姓名*/
,mobile_phone /*手机号*/
,mobile_phone_data_ind /*手机号数据标志*/
,mobile_phone_availability /*手机号合规标志*/
,email /*电子邮箱*/
,email_data_ind /*邮箱数据标志*/
,email_availability /*邮箱合规标志*/
,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*/
,0 /*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*/
,0 /*mobile_phone_data_ind*/
,0 /*mobile_phone_availability*/
,COALESCE(TRIM(p0.email),'') /*email*/
,0 /*email_data_ind*/
,0 /*email_availability*/
,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 /*CRM账号名称*/
,owner_id /*责任人ID*/
,full_name /*姓名*/
,mobile_phone /*手机号*/
,mobile_phone_data_ind /*手机号数据标志*/
,mobile_phone_availability /*手机号合规标志*/
,email /*电子邮箱*/
,email_data_ind /*邮箱数据标志*/
,email_availability /*邮箱合规标志*/
,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线索ID*/
,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 /*CRM账号名称*/
,P1.owner_id /*责任人ID*/
,P1.full_name /*姓名*/
,P1.mobile_phone /*手机号*/
,P1.mobile_phone_data_ind /*手机号数据标志*/
,P1.mobile_phone_availability /*手机号合规标志*/
,P1.email /*电子邮箱*/
,P1.email_data_ind /*邮箱数据标志*/
,P1.email_availability /*邮箱合规标志*/
,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线索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 d_crm_contact_agi_CUR_I P1
LEFT JOIN :COMMDB.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_availability = P2.mobile_phone_availability
AND P1.email = P2.email
AND P1.email_data_ind = P2.email_data_ind
AND P1.email_availability = P2.email_availability
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_availability IS NULL
OR P2.email IS NULL
OR P2.email_data_ind IS NULL
OR P2.email_availability 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 :COMMDB.d_crm_contact (
company_name /*公司名称*/
,account_name /*CRM账号名称*/
,owner_id /*责任人ID*/
,full_name /*姓名*/
,mobile_phone /*手机号*/
,mobile_phone_data_ind /*手机号数据标志*/
,mobile_phone_availability /*手机号合规标志*/
,email /*电子邮箱*/
,email_data_ind /*邮箱数据标志*/
,email_availability /*邮箱合规标志*/
,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线索ID*/
,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 /*CRM账号名称*/
,P1.owner_id /*责任人ID*/
,P1.full_name /*姓名*/
,P1.mobile_phone /*手机号*/
,P1.mobile_phone_data_ind /*手机号数据标志*/
,P1.mobile_phone_availability /*手机号合规标志*/
,P1.email /*电子邮箱*/
,P1.email_data_ind /*邮箱数据标志*/
,P1.email_availability /*邮箱合规标志*/
,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线索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 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_availability=excluded.mobile_phone_availability
,email=excluded.email
,email_data_ind=excluded.email_data_ind
,email_availability=excluded.email_availability
,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

View File

@ -145,7 +145,7 @@ dag=dag)
t01_crm_contact = SSHOperator(
ssh_hook=sshHook,
task_id='t01_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 ',
command='/data/airflow/etl/PDM/run_psql.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ',
params={'my_param':"t01_crm_contact_agi"},
depends_on_past=False,
retries=3,
@ -153,7 +153,7 @@ dag=dag)
T01_CRM_CCP_TYPE = SSHOperator(
ssh_hook=sshHook,
task_id='T01_CRM_CCP_TYPE',
command='/data/airflow/etl/PDM/run_sa.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ',
command='/data/airflow/etl/PDM/run_psql.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ',
params={'my_param':"T01_CRM_CCP_TYPE_agi"},
depends_on_past=False,
retries=3,
@ -161,7 +161,7 @@ dag=dag)
t01_crm_cust_ccp = SSHOperator(
ssh_hook=sshHook,
task_id='t01_crm_cust_ccp',
command='/data/airflow/etl/PDM/run_sa.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ',
command='/data/airflow/etl/PDM/run_psql.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ',
params={'my_param':"t01_crm_cust_ccp_agi"},
depends_on_past=False,
retries=3,
@ -169,7 +169,7 @@ dag=dag)
t01_crm_account = SSHOperator(
ssh_hook=sshHook,
task_id='t01_crm_account',
command='/data/airflow/etl/PDM/run_sa.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ',
command='/data/airflow/etl/PDM/run_psql.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ',
params={'my_param':"t01_crm_account_agi"},
depends_on_past=False,
retries=3,
@ -196,11 +196,19 @@ dag=dag)
t01_crm_opportunity = SSHOperator(
ssh_hook=sshHook,
task_id='t01_crm_opportunity',
command='/data/airflow/etl/PDM/run_sa.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ',
command='/data/airflow/etl/PDM/run_psql.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ',
params={'my_param':"t01_crm_opportunity_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/COM/run_psql.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_CRM_account >> crm_account_4545
file_CRM_contact_ccp >> crm_contact_ccp_5681
file_CCP_mapping_table >> ccp_mapping_table_8972
@ -212,4 +220,6 @@ crm_contact_part_605 >> t01_crm_contact
crm_account_4545 >> t01_crm_account
file_crm_opp >> crm_opp
crm_opp >> t01_crm_opportunity
t01_crm_opportunity >> task_failed
t01_crm_contact >> d_crm_contact
d_crm_contact >> task_failed
file_china_city >> task_failed