From 551adc3fda02df840b846b82adcf4d2723570521 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 14 Jan 2026 16:37:52 +0800 Subject: [PATCH] =?UTF-8?q?add=20workflow=20=E6=B3=B0=E5=85=8BCRM,dev?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tk_crm/CRM原始线索/t01_crm_raw_leads.sql | 4 ++ .../CRM原始线索/t01_crm_raw_leads_agi.sql | 40 ++++++++++++++----- .../crm_raw_leads/S98_S_crm_raw_leads.sql | 8 ++++ .../crm_raw_leads/sa_foreign_tables.sql | 2 + .../tk_crm/crm_raw_leads/sa_tables.sql | 8 ++++ 5 files changed, 51 insertions(+), 11 deletions(-) diff --git a/dev/workflow/TK_Cust/tk_crm/CRM原始线索/t01_crm_raw_leads.sql b/dev/workflow/TK_Cust/tk_crm/CRM原始线索/t01_crm_raw_leads.sql index 886cd08..ace140c 100644 --- a/dev/workflow/TK_Cust/tk_crm/CRM原始线索/t01_crm_raw_leads.sql +++ b/dev/workflow/TK_Cust/tk_crm/CRM原始线索/t01_crm_raw_leads.sql @@ -3,12 +3,14 @@ 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) + , account_manager varchar(100) , name varchar(50) , create_time timestamp(0) , company_name varchar(50) , channel_type varchar(50) , email varchar(50) , mobile_phone varchar(20) + , qualification_group varchar(100) , mql_time varchar(20) , campaign_name varchar(50) , industry varchar(20) @@ -27,12 +29,14 @@ CREATE TABLE IF NOT EXISTS p20_pdm.t01_crm_raw_leads ( 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.account_manager IS '销售'; 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.channel_type 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.qualification_group 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 '行业'; diff --git a/dev/workflow/TK_Cust/tk_crm/CRM原始线索/t01_crm_raw_leads_agi.sql b/dev/workflow/TK_Cust/tk_crm/CRM原始线索/t01_crm_raw_leads_agi.sql index e6b833f..5f77a59 100644 --- a/dev/workflow/TK_Cust/tk_crm/CRM原始线索/t01_crm_raw_leads_agi.sql +++ b/dev/workflow/TK_Cust/tk_crm/CRM原始线索/t01_crm_raw_leads_agi.sql @@ -4,11 +4,11 @@ /*Brilliance stems from wisdoms. */ /*************Head Section**************************************************************************/ /*Script Use: Periodically load data to :t01_crm_raw_leads(CRM原始线索) */ -/*Create Date:2025-12-25 19:27:00 */ +/*Create Date:2026-01-14 16:37:23 */ /*SDM Developed By: dev */ /*SDM Developed Date: 2024-01-12 */ /*SDM Checked By: dev */ -/*SDM Checked Date: 2025-12-25 */ +/*SDM Checked Date: 2026-01-14 */ /*Script Developed By: dev */ /*Script Checked By: dev */ /*Source table 1: p10_sa.s98_s_crm_raw_leads */ @@ -44,12 +44,14 @@ ON COMMIT PRESERVE ROWS; INSERT INTO t01_crm_raw_leads_agi_CUR_I ( crm_contact_account /*CRM_CONTACT账号*/ ,lead_number /*lead_number*/ + ,account_manager /*销售*/ ,name /*姓名*/ ,create_time /*创建时间*/ ,company_name /*公司名称*/ ,channel_type /*渠道类型*/ ,email /*电子邮箱*/ ,mobile_phone /*手机号*/ + ,qualification_group /*资历组别*/ ,mql_time /*mql时间*/ ,campaign_name /*活动名称*/ ,industry /*行业*/ @@ -67,16 +69,18 @@ INSERT INTO t01_crm_raw_leads_agi_CUR_I ( 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.tek_accountmanager_leadname AS varchar(100))),'') /*account_manager*/ ,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('19000102','YYYYMMDD')) /*create_time*/ ,COALESCE(TRIM(CAST(p0.companyname AS varchar(50))),'') /*company_name*/ ,COALESCE(TRIM(CAST(p0.tek_channelidname AS varchar(50))),'') /*channel_type*/ ,COALESCE(TRIM(CAST(p0.emailaddress1 AS varchar(50))),'') /*email*/ - ,COALESCE(TRIM(CAST(p0.mobilephone AS varchar(100))),'') /*mobile_phone*/ + ,COALESCE(TRIM(CAST(p0.mobilephone AS varchar(20))),'') /*mobile_phone*/ + ,COALESCE(TRIM(CAST(p0.tek_qualificationgroupname AS varchar(100))),'') /*qualification_group*/ ,case when p0.tek_mqldate = 'NULL' THEN TO_TIMESTAMP('19000102','YYYYMMDD') ELSE COALESCE(TO_TIMESTAMP(CAST(p0.tek_mqldate AS VARCHAR(19)),'YYYY/MM/DD HH24:mi:ss'),TO_TIMESTAMP('19000102','YYYYMMDD')) END /*mql_time*/ ,COALESCE(TRIM(CAST(p0.campaignidname AS varchar(50))),'') /*campaign_name*/ - ,COALESCE(TRIM(CAST(p0.tek_industry2idname AS varchar(100))),'') /*industry*/ - ,COALESCE(TRIM(CAST(p0.tek_marketing_program_type_idname AS varchar(100))),'') /*market_type*/ + ,COALESCE(TRIM(CAST(p0.tek_industry2idname AS varchar(20))),'') /*industry*/ + ,COALESCE(TRIM(CAST(p0.tek_marketing_program_type_idname AS varchar(20))),'') /*market_type*/ ,case when p0.tek_sqldate = '' THEN TO_TIMESTAMP('19000102','YYYYMMDD') ELSE COALESCE(TO_TIMESTAMP(CAST(p0.tek_sqldate AS VARCHAR(19)),'YYYY/MM/DD HH24:mi:ss'),TO_TIMESTAMP('19000102','YYYYMMDD')) END /*tek_sqldate*/ ,COALESCE(TRIM(p0.tek_assigntopartnercompanyidname),'') /*tek_assigntopartnercompanyidname*/ ,0 /*Etl_Batch_No*/ @@ -94,12 +98,14 @@ FROM p10_sa.s98_s_crm_raw_leads p0 /*将不同数据插入到临时表 */ ;INSERT INTO t01_crm_raw_leads_agi_INS ( - name /*姓名*/ + account_manager /*销售*/ + ,name /*姓名*/ ,create_time /*创建时间*/ ,company_name /*公司名称*/ ,channel_type /*渠道类型*/ ,email /*电子邮箱*/ ,mobile_phone /*手机号*/ + ,qualification_group /*资历组别*/ ,mql_time /*mql时间*/ ,campaign_name /*活动名称*/ ,industry /*行业*/ @@ -118,12 +124,14 @@ FROM p10_sa.s98_s_crm_raw_leads p0 ) SELECT - P1.name /*姓名*/ + P1.account_manager /*销售*/ + ,P1.name /*姓名*/ ,P1.create_time /*创建时间*/ ,P1.company_name /*公司名称*/ ,P1.channel_type /*渠道类型*/ ,P1.email /*电子邮箱*/ ,P1.mobile_phone /*手机号*/ + ,P1.qualification_group /*资历组别*/ ,P1.mql_time /*mql时间*/ ,P1.campaign_name /*活动名称*/ ,P1.industry /*行业*/ @@ -142,12 +150,14 @@ FROM p10_sa.s98_s_crm_raw_leads p0 FROM t01_crm_raw_leads_agi_CUR_I P1 LEFT JOIN :PDMDB.t01_crm_raw_leads P2 -ON P1.name = P2.name +ON P1.account_manager = P2.account_manager + AND P1.name = P2.name AND P1.create_time = P2.create_time AND P1.company_name = P2.company_name AND P1.channel_type = P2.channel_type AND P1.email = P2.email AND P1.mobile_phone = P2.mobile_phone + AND P1.qualification_group = P2.qualification_group AND P1.mql_time = P2.mql_time AND P1.campaign_name = P2.campaign_name AND P1.industry = P2.industry @@ -157,12 +167,14 @@ ON P1.name = P2.name AND P1.crm_contact_account = P2.crm_contact_account AND P1.lead_number = P2.lead_number -WHERE P2.name IS NULL +WHERE P2.account_manager IS NULL + OR P2.name IS NULL OR P2.create_time IS NULL OR P2.company_name IS NULL OR P2.channel_type IS NULL OR P2.email IS NULL OR P2.mobile_phone IS NULL + OR P2.qualification_group IS NULL OR P2.mql_time IS NULL OR P2.campaign_name IS NULL OR P2.industry IS NULL @@ -175,12 +187,14 @@ WHERE P2.name IS NULL ; /*将新增数据插入到目标表 */ ;INSERT INTO :PDMDB.t01_crm_raw_leads ( - name /*姓名*/ + account_manager /*销售*/ + ,name /*姓名*/ ,create_time /*创建时间*/ ,company_name /*公司名称*/ ,channel_type /*渠道类型*/ ,email /*电子邮箱*/ ,mobile_phone /*手机号*/ + ,qualification_group /*资历组别*/ ,mql_time /*mql时间*/ ,campaign_name /*活动名称*/ ,industry /*行业*/ @@ -199,12 +213,14 @@ WHERE P2.name IS NULL ) SELECT - P1.name /*姓名*/ + P1.account_manager /*销售*/ + ,P1.name /*姓名*/ ,P1.create_time /*创建时间*/ ,P1.company_name /*公司名称*/ ,P1.channel_type /*渠道类型*/ ,P1.email /*电子邮箱*/ ,P1.mobile_phone /*手机号*/ + ,P1.qualification_group /*资历组别*/ ,P1.mql_time /*mql时间*/ ,P1.campaign_name /*活动名称*/ ,P1.industry /*行业*/ @@ -226,12 +242,14 @@ ON CONFLICT ( crm_contact_account,lead_number) DO UPDATE SET crm_contact_account=excluded.crm_contact_account ,lead_number=excluded.lead_number + ,account_manager=excluded.account_manager ,name=excluded.name ,create_time=excluded.create_time ,company_name=excluded.company_name ,channel_type=excluded.channel_type ,email=excluded.email ,mobile_phone=excluded.mobile_phone + ,qualification_group=excluded.qualification_group ,mql_time=excluded.mql_time ,campaign_name=excluded.campaign_name ,industry=excluded.industry diff --git a/dev/workflow/TK_Cust/tk_crm/crm_raw_leads/S98_S_crm_raw_leads.sql b/dev/workflow/TK_Cust/tk_crm/crm_raw_leads/S98_S_crm_raw_leads.sql index 12cdcc6..bde198e 100644 --- a/dev/workflow/TK_Cust/tk_crm/crm_raw_leads/S98_S_crm_raw_leads.sql +++ b/dev/workflow/TK_Cust/tk_crm/crm_raw_leads/S98_S_crm_raw_leads.sql @@ -7,6 +7,7 @@ delete from p10_sa.S98_S_crm_raw_leads insert into p10_sa.S98_S_crm_raw_leads ( tek_contactnumber , tek_leadnumber + , tek_accountmanager_leadname , fullname , createdon , tek_sqldate @@ -17,12 +18,14 @@ insert into p10_sa.S98_S_crm_raw_leads , mobilephone , tek_mqldate , campaignidname + , tek_qualificationgroupname , tek_industry2idname , tek_marketing_program_type_idname , etl_tx_dt ) select tek_contactnumber , tek_leadnumber + , tek_accountmanager_leadname , fullname , createdon , tek_sqldate @@ -33,6 +36,7 @@ insert into p10_sa.S98_S_crm_raw_leads , mobilephone , tek_mqldate , campaignidname + , tek_qualificationgroupname , tek_industry2idname , tek_marketing_program_type_idname , etl_tx_dt @@ -44,6 +48,7 @@ insert into p10_sa.S98_S_crm_raw_leads insert into p12_sfull.S98_S_crm_raw_leads ( tek_contactnumber , tek_leadnumber + , tek_accountmanager_leadname , fullname , createdon , tek_sqldate @@ -54,12 +59,14 @@ insert into p12_sfull.S98_S_crm_raw_leads , mobilephone , tek_mqldate , campaignidname + , tek_qualificationgroupname , tek_industry2idname , tek_marketing_program_type_idname , etl_tx_dt ) select tek_contactnumber , tek_leadnumber + , tek_accountmanager_leadname , fullname , createdon , tek_sqldate @@ -70,6 +77,7 @@ insert into p12_sfull.S98_S_crm_raw_leads , mobilephone , tek_mqldate , campaignidname + , tek_qualificationgroupname , tek_industry2idname , tek_marketing_program_type_idname , etl_tx_dt diff --git a/dev/workflow/TK_Cust/tk_crm/crm_raw_leads/sa_foreign_tables.sql b/dev/workflow/TK_Cust/tk_crm/crm_raw_leads/sa_foreign_tables.sql index 2af017e..039c98e 100644 --- a/dev/workflow/TK_Cust/tk_crm/crm_raw_leads/sa_foreign_tables.sql +++ b/dev/workflow/TK_Cust/tk_crm/crm_raw_leads/sa_foreign_tables.sql @@ -2,6 +2,7 @@ CREATE FOREIGN TABLE if not exists p00_tal.S98_S_crm_raw_leads ( tek_contactnumber TEXT , tek_leadnumber TEXT + , tek_accountmanager_leadname TEXT , fullname TEXT , createdon TEXT , tek_sqldate TEXT @@ -12,6 +13,7 @@ CREATE FOREIGN TABLE if not exists p00_tal.S98_S_crm_raw_leads ( , mobilephone TEXT , tek_mqldate TEXT , campaignidname TEXT + , tek_qualificationgroupname TEXT , tek_industry2idname TEXT , tek_marketing_program_type_idname TEXT , etl_tx_dt TIMESTAMP diff --git a/dev/workflow/TK_Cust/tk_crm/crm_raw_leads/sa_tables.sql b/dev/workflow/TK_Cust/tk_crm/crm_raw_leads/sa_tables.sql index e897468..79bff26 100644 --- a/dev/workflow/TK_Cust/tk_crm/crm_raw_leads/sa_tables.sql +++ b/dev/workflow/TK_Cust/tk_crm/crm_raw_leads/sa_tables.sql @@ -2,6 +2,7 @@ create table if not exists p10_sa.S98_S_crm_raw_leads ( tek_contactnumber TEXT , tek_leadnumber TEXT + , tek_accountmanager_leadname TEXT , fullname TEXT , createdon TEXT , tek_sqldate TEXT @@ -12,6 +13,7 @@ create table if not exists p10_sa.S98_S_crm_raw_leads ( , mobilephone TEXT , tek_mqldate TEXT , campaignidname TEXT + , tek_qualificationgroupname TEXT , tek_industry2idname TEXT , tek_marketing_program_type_idname TEXT , etl_tx_dt TIMESTAMP @@ -19,6 +21,7 @@ create table if not exists p10_sa.S98_S_crm_raw_leads ( 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.tek_accountmanager_leadname IS 'tek_accountmanager_leadname'; 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.tek_sqldate IS 'tek_sqldate'; @@ -29,6 +32,7 @@ create table if not exists p10_sa.S98_S_crm_raw_leads ( 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_qualificationgroupname IS 'tek_qualificationgroupname'; 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 ''; @@ -40,6 +44,7 @@ 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 + , tek_accountmanager_leadname TEXT , fullname TEXT , createdon TEXT , tek_sqldate TEXT @@ -50,6 +55,7 @@ create table if not exists p12_sfull.S98_S_crm_raw_leads ( , mobilephone TEXT , tek_mqldate TEXT , campaignidname TEXT + , tek_qualificationgroupname TEXT , tek_industry2idname TEXT , tek_marketing_program_type_idname TEXT , etl_tx_dt TIMESTAMP @@ -57,6 +63,7 @@ create table if not exists p12_sfull.S98_S_crm_raw_leads ( 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.tek_accountmanager_leadname IS 'tek_accountmanager_leadname'; 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.tek_sqldate IS 'tek_sqldate'; @@ -67,6 +74,7 @@ create table if not exists p12_sfull.S98_S_crm_raw_leads ( 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_qualificationgroupname IS 'tek_qualificationgroupname'; 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 '';