add workflow 泰克CRM,dev

This commit is contained in:
root 2025-12-09 16:48:48 +08:00
parent f070250659
commit e9caccbbad
5 changed files with 825 additions and 1 deletions

View File

@ -0,0 +1,48 @@
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 timestamp(0)
, 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)
, tek_sqldate text
, tek_assigntopartnercompanyidname text
, 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.tek_sqldate IS 'sql时间';
COMMENT ON COLUMN p20_pdm.t01_crm_raw_leads.tek_assigntopartnercompanyidname IS '分配至合作公司ID';
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原始线索';

View File

@ -0,0 +1,244 @@
/***************************************************************************************************/
/*script in Sql, generate by SdmCreateScript 2024(by IdgValue, qihang.feng@idgvalue.COM) */
/*VERSION 01.10 revised on 2020-08-25 */
/*Brilliance stems from wisdoms. */
/*************Head Section**************************************************************************/
/*Script Use: Periodically load data to :t01_crm_raw_leads(CRM原始线索) */
/*Create Date:2025-12-09 15:32:27 */
/*SDM Developed By: dev */
/*SDM Developed Date: 2024-01-12 */
/*SDM Checked By: dev */
/*SDM Checked Date: 2025-12-09 */
/*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 /*市场类型*/
,tek_sqldate /*sql时间*/
,tek_assigntopartnercompanyidname /*分配至合作公司ID*/
,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('19000102','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*/
,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(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*/
,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 /*市场类型*/
,tek_sqldate /*sql时间*/
,tek_assigntopartnercompanyidname /*分配至合作公司ID*/
,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.tek_sqldate /*sql时间*/
,P1.tek_assigntopartnercompanyidname /*分配至合作公司ID*/
,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.tek_sqldate = P2.tek_sqldate
AND P1.tek_assigntopartnercompanyidname = P2.tek_assigntopartnercompanyidname
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.tek_sqldate IS NULL
OR P2.tek_assigntopartnercompanyidname 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 /*市场类型*/
,tek_sqldate /*sql时间*/
,tek_assigntopartnercompanyidname /*分配至合作公司ID*/
,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.tek_sqldate /*sql时间*/
,P1.tek_assigntopartnercompanyidname /*分配至合作公司ID*/
,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
,tek_sqldate=excluded.tek_sqldate
,tek_assigntopartnercompanyidname=excluded.tek_assigntopartnercompanyidname
,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

@ -0,0 +1,90 @@
DROP TABLE IF EXISTS p20_pdm.t01_crm_order;
CREATE TABLE IF NOT EXISTS p20_pdm.t01_crm_order (
salesorderdetailid text
, tek_ordernumber text
, uomid text
, tek_companyname text
, tek_pivotalordernumber text
, tek_orderrelatedopportunity text
, tek_shiptocompanyname text
, productname text
, tek_productfamilycode text
, tek_productgroup3code text
, tek_productgroup3name text
, tek_productgroup2name text
, extendedamount numeric(24,6)
, qty int
, extendedamount_base numeric(24,6)
, priceperunit_base numeric(24,6)
, priceperunit numeric(24,6)
, extendedamount_base2 numeric(24,6)
, baseamount_base numeric(24,6)
, baseamount numeric(24,6)
, transactioncurrencyid text
, totalamount_base numeric(24,6)
, totalamount numeric(24,6)
, tek_orderstatus text
, tek_billtocompanyname text
, tek_contactcompanyname text
, tek_accountmanagerid text
, tek_orderbookdate text
, tek_shiptocompanyid text
, tek_companylegalname text
, statecode text
, tek_ordertype text
, tek_channelid text
, tek_regionidname text
, Etl_Batch_No varchar(50)
, Etl_First_Dt timestamp(0)
, Etl_Job varchar(200)
, Etl_Proc_Dt timestamp(0)
, Etl_Tx_Dt timestamp(0)
, Src_Sysname varchar(50)
, Src_Table varchar(50)
,primary key( salesorderdetailid )
);
COMMENT ON COLUMN p20_pdm.t01_crm_order.salesorderdetailid IS '销售订单编号明细';
COMMENT ON COLUMN p20_pdm.t01_crm_order.tek_ordernumber IS '泰克订单编号';
COMMENT ON COLUMN p20_pdm.t01_crm_order.uomid IS 'Uom编号';
COMMENT ON COLUMN p20_pdm.t01_crm_order.tek_companyname IS '泰克公司名称';
COMMENT ON COLUMN p20_pdm.t01_crm_order.tek_pivotalordernumber IS '泰克关键订单号';
COMMENT ON COLUMN p20_pdm.t01_crm_order.tek_orderrelatedopportunity IS '泰克订单相关机会编号';
COMMENT ON COLUMN p20_pdm.t01_crm_order.tek_shiptocompanyname IS '泰克收货公司名称';
COMMENT ON COLUMN p20_pdm.t01_crm_order.productname IS '产品名称';
COMMENT ON COLUMN p20_pdm.t01_crm_order.tek_productfamilycode IS '泰克产品系列代码';
COMMENT ON COLUMN p20_pdm.t01_crm_order.tek_productgroup3code IS '泰克产品系列3代码';
COMMENT ON COLUMN p20_pdm.t01_crm_order.tek_productgroup3name IS '泰克产品系列2代码';
COMMENT ON COLUMN p20_pdm.t01_crm_order.tek_productgroup2name IS '泰克产品系列2名称';
COMMENT ON COLUMN p20_pdm.t01_crm_order.extendedamount IS '金额扩展';
COMMENT ON COLUMN p20_pdm.t01_crm_order.qty IS '数量';
COMMENT ON COLUMN p20_pdm.t01_crm_order.extendedamount_base IS '基础金额扩展';
COMMENT ON COLUMN p20_pdm.t01_crm_order.priceperunit_base IS '基础单价';
COMMENT ON COLUMN p20_pdm.t01_crm_order.priceperunit IS '单价';
COMMENT ON COLUMN p20_pdm.t01_crm_order.extendedamount_base2 IS '基础金额扩展2';
COMMENT ON COLUMN p20_pdm.t01_crm_order.baseamount_base IS '基础金额基础';
COMMENT ON COLUMN p20_pdm.t01_crm_order.baseamount IS '基础金额';
COMMENT ON COLUMN p20_pdm.t01_crm_order.transactioncurrencyid IS '交易货币编号';
COMMENT ON COLUMN p20_pdm.t01_crm_order.totalamount_base IS '基础总金额';
COMMENT ON COLUMN p20_pdm.t01_crm_order.totalamount IS '总金额';
COMMENT ON COLUMN p20_pdm.t01_crm_order.tek_orderstatus IS '泰克订单状态';
COMMENT ON COLUMN p20_pdm.t01_crm_order.tek_billtocompanyname IS '泰克订单公司';
COMMENT ON COLUMN p20_pdm.t01_crm_order.tek_contactcompanyname IS '泰克联系人公司';
COMMENT ON COLUMN p20_pdm.t01_crm_order.tek_accountmanagerid IS '泰克Account管理员ID';
COMMENT ON COLUMN p20_pdm.t01_crm_order.tek_orderbookdate IS '泰克订单预定日期';
COMMENT ON COLUMN p20_pdm.t01_crm_order.tek_shiptocompanyid IS '泰克收货公司编号';
COMMENT ON COLUMN p20_pdm.t01_crm_order.tek_companylegalname IS '泰克公司合法名称';
COMMENT ON COLUMN p20_pdm.t01_crm_order.statecode IS '状态代码';
COMMENT ON COLUMN p20_pdm.t01_crm_order.tek_ordertype IS '泰克订单类型';
COMMENT ON COLUMN p20_pdm.t01_crm_order.tek_channelid IS '泰克渠道编号';
COMMENT ON COLUMN p20_pdm.t01_crm_order.tek_regionidname IS '泰克区域名称';
COMMENT ON COLUMN p20_pdm.t01_crm_order.Etl_Batch_No IS '作业批次号';
COMMENT ON COLUMN p20_pdm.t01_crm_order.Etl_First_Dt IS '最初入库时间';
COMMENT ON COLUMN p20_pdm.t01_crm_order.Etl_Job IS '作业名称';
COMMENT ON COLUMN p20_pdm.t01_crm_order.Etl_Proc_Dt IS '本次入库时间';
COMMENT ON COLUMN p20_pdm.t01_crm_order.Etl_Tx_Dt IS '作业运行时间';
COMMENT ON COLUMN p20_pdm.t01_crm_order.Src_Sysname IS '来源系统';
COMMENT ON COLUMN p20_pdm.t01_crm_order.Src_Table IS '来源表';
COMMENT ON TABLE p20_pdm.t01_crm_order IS 'CRM订单';

View File

@ -0,0 +1,433 @@
/***************************************************************************************************/
/*script in Sql, generate by SdmCreateScript 2024(by IdgValue, qihang.feng@idgvalue.COM) */
/*VERSION 01.10 revised on 2020-08-25 */
/*Brilliance stems from wisdoms. */
/*************Head Section**************************************************************************/
/*Script Use: Periodically load data to :t01_crm_order(CRM订单) */
/*Create Date:2025-12-09 16:43:31 */
/*SDM Developed By: dev */
/*SDM Developed Date: 2025-12-09 */
/*SDM Checked By: dev */
/*SDM Checked Date: 2025-12-09 */
/*Script Developed By: dev */
/*Script Checked By: dev */
/*Source table 1: p10_sa.s98_s_crm_order */
/*Job Type: Inbound transform (Tier 1 to Tier 2) */
/*Target Table:t01_crm_order */
/*ETL Job Name:t01_crm_order */
/*ETL Frequency:None */
/*ETL Policy:F2 */
/********************************************************************************************/
/*******Main Section**************************************************************************/
\set ON_ERROR_STOP on
\set AUTOCOMMIT on
\timing on
/*创建临时表加载当前数据 */
CREATE TEMPORARY TABLE t01_crm_order_agi_CUR_I
( LIKE :PDMDB.t01_crm_order)
ON COMMIT PRESERVE ROWS;
/*创建临时表加载不同数据 */
CREATE TEMPORARY TABLE t01_crm_order_agi_INS
( LIKE :PDMDB.t01_crm_order)
ON COMMIT PRESERVE ROWS;
/*****************************************************************************************************/
/* GROUP 1:Source Table:s98_s_crm_order***************************************************************/
/*****************************************************************************************************/
INSERT INTO t01_crm_order_agi_CUR_I (
salesorderdetailid /*销售订单编号明细*/
,tek_ordernumber /*泰克订单编号*/
,uomid /*Uom编号*/
,tek_companyname /*泰克公司名称*/
,tek_pivotalordernumber /*泰克关键订单号*/
,tek_orderrelatedopportunity /*泰克订单相关机会编号*/
,tek_shiptocompanyname /*泰克收货公司名称*/
,productname /*产品名称*/
,tek_productfamilycode /*泰克产品系列代码*/
,tek_productgroup3code /*泰克产品系列3代码*/
,tek_productgroup3name /*泰克产品系列2代码*/
,tek_productgroup2name /*泰克产品系列2名称*/
,extendedamount /*金额扩展*/
,qty /*数量*/
,extendedamount_base /*基础金额扩展*/
,priceperunit_base /*基础单价*/
,priceperunit /*单价*/
,extendedamount_base2 /*基础金额扩展2*/
,baseamount_base /*基础金额基础*/
,baseamount /*基础金额*/
,transactioncurrencyid /*交易货币编号*/
,totalamount_base /*基础总金额*/
,totalamount /*总金额*/
,tek_orderstatus /*泰克订单状态*/
,tek_billtocompanyname /*泰克订单公司*/
,tek_contactcompanyname /*泰克联系人公司*/
,tek_accountmanagerid /*泰克Account管理员ID*/
,tek_orderbookdate /*泰克订单预定日期*/
,tek_shiptocompanyid /*泰克收货公司编号*/
,tek_companylegalname /*泰克公司合法名称*/
,statecode /*状态代码*/
,tek_ordertype /*泰克订单类型*/
,tek_channelid /*泰克渠道编号*/
,tek_regionidname /*泰克区域名称*/
,Etl_Batch_No /*作业批次号*/
,Etl_First_Dt /*最初入库时间*/
,Etl_Job /*作业名称*/
,Etl_Proc_Dt /*本次入库时间*/
,Etl_Tx_Dt /*作业运行时间*/
,Src_Sysname /*来源系统*/
,Src_Table /*来源表*/
)
SELECT
COALESCE(TRIM(p0.salesorderdetailid),'') /*salesorderdetailid*/
,COALESCE(TRIM(p0.tek_ordernumber),'') /*tek_ordernumber*/
,COALESCE(TRIM(p0.uomid),'') /*uomid*/
,COALESCE(TRIM(p0.tek_companyname),'') /*tek_companyname*/
,COALESCE(TRIM(p0.tek_pivotalordernumber),'') /*tek_pivotalordernumber*/
,COALESCE(TRIM(p0.tek_orderrelatedopportunity),'') /*tek_orderrelatedopportunity*/
,COALESCE(TRIM(p0.tek_shiptocompanyname),'') /*tek_shiptocompanyname*/
,COALESCE(TRIM(p0.productname),'') /*productname*/
,COALESCE(TRIM(p0.tek_productfamilycode),'') /*tek_productfamilycode*/
,COALESCE(TRIM(p0.tek_productgroup3code),'') /*tek_productgroup3code*/
,COALESCE(TRIM(p0.tek_productgroup3name),'') /*tek_productgroup3name*/
,COALESCE(TRIM(p0.tek_productgroup2name),'') /*tek_productgroup2name*/
,COALESCE(CAST(p0.extendedamount AS numeric(24,6)),0) /*extendedamount*/
,COALESCE(CAST(p0.quantity AS int),0) /*qty*/
,COALESCE(CAST(p0.extendedamount_base AS numeric(24,6)),0) /*extendedamount_base*/
,COALESCE(CAST(p0.priceperunit_base AS numeric(24,6)),0) /*priceperunit_base*/
,COALESCE(CAST(p0.priceperunit AS numeric(24,6)),0) /*priceperunit*/
,COALESCE(CAST(p0.extendedamount_base2 AS numeric(24,6)),0) /*extendedamount_base2*/
,COALESCE(CAST(p0.baseamount_base AS numeric(24,6)),0) /*baseamount_base*/
,COALESCE(CAST(p0.baseamount AS numeric(24,6)),0) /*baseamount*/
,COALESCE(TRIM(p0.transactioncurrencyid),'') /*transactioncurrencyid*/
,COALESCE(CAST(p0.totalamount_base AS numeric(24,6)),0) /*totalamount_base*/
,COALESCE(CAST(p0.totalamount AS numeric(24,6)),0) /*totalamount*/
,COALESCE(TRIM(p0.tek_orderstatus),'') /*tek_orderstatus*/
,COALESCE(TRIM(p0.tek_billtocompanyname),'') /*tek_billtocompanyname*/
,COALESCE(TRIM(p0.tek_contactcompanyname),'') /*tek_contactcompanyname*/
,COALESCE(TRIM(p0.tek_accountmanagerid),'') /*tek_accountmanagerid*/
,COALESCE(TRIM(p0.tek_orderbookdate),'') /*tek_orderbookdate*/
,COALESCE(TRIM(p0.tek_shiptocompanyid),'') /*tek_shiptocompanyid*/
,COALESCE(TRIM(p0.tek_companylegalname),'') /*tek_companylegalname*/
,COALESCE(TRIM(p0.statecode),'') /*statecode*/
,COALESCE(TRIM(p0.tek_ordertype),'') /*tek_ordertype*/
,COALESCE(TRIM(p0.tek_channelid),'') /*tek_channelid*/
,COALESCE(TRIM(p0.tek_regionidname),'') /*tek_regionidname*/
,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_order',1,3) /*Src_Sysname*/
,'s98_s_crm_order' /*Src_Table*/
FROM p10_sa.s98_s_crm_order p0
;
/*将不同数据插入到临时表 */
;INSERT INTO t01_crm_order_agi_INS (
tek_ordernumber /*泰克订单编号*/
,uomid /*Uom编号*/
,tek_companyname /*泰克公司名称*/
,tek_pivotalordernumber /*泰克关键订单号*/
,tek_orderrelatedopportunity /*泰克订单相关机会编号*/
,tek_shiptocompanyname /*泰克收货公司名称*/
,productname /*产品名称*/
,tek_productfamilycode /*泰克产品系列代码*/
,tek_productgroup3code /*泰克产品系列3代码*/
,tek_productgroup3name /*泰克产品系列2代码*/
,tek_productgroup2name /*泰克产品系列2名称*/
,extendedamount /*金额扩展*/
,qty /*数量*/
,extendedamount_base /*基础金额扩展*/
,priceperunit_base /*基础单价*/
,priceperunit /*单价*/
,extendedamount_base2 /*基础金额扩展2*/
,baseamount_base /*基础金额基础*/
,baseamount /*基础金额*/
,transactioncurrencyid /*交易货币编号*/
,totalamount_base /*基础总金额*/
,totalamount /*总金额*/
,tek_orderstatus /*泰克订单状态*/
,tek_billtocompanyname /*泰克订单公司*/
,tek_contactcompanyname /*泰克联系人公司*/
,tek_accountmanagerid /*泰克Account管理员ID*/
,tek_orderbookdate /*泰克订单预定日期*/
,tek_shiptocompanyid /*泰克收货公司编号*/
,tek_companylegalname /*泰克公司合法名称*/
,statecode /*状态代码*/
,tek_ordertype /*泰克订单类型*/
,tek_channelid /*泰克渠道编号*/
,tek_regionidname /*泰克区域名称*/
,salesorderdetailid /*销售订单编号明细*/
,Etl_Batch_No /*作业批次号*/
,Etl_First_Dt /*最初入库时间*/
,Etl_Job /*作业名称*/
,Etl_Proc_Dt /*本次入库时间*/
,Etl_Tx_Dt /*作业运行时间*/
,Src_Sysname /*来源系统*/
,Src_Table /*来源表*/
)
SELECT
P1.tek_ordernumber /*泰克订单编号*/
,P1.uomid /*Uom编号*/
,P1.tek_companyname /*泰克公司名称*/
,P1.tek_pivotalordernumber /*泰克关键订单号*/
,P1.tek_orderrelatedopportunity /*泰克订单相关机会编号*/
,P1.tek_shiptocompanyname /*泰克收货公司名称*/
,P1.productname /*产品名称*/
,P1.tek_productfamilycode /*泰克产品系列代码*/
,P1.tek_productgroup3code /*泰克产品系列3代码*/
,P1.tek_productgroup3name /*泰克产品系列2代码*/
,P1.tek_productgroup2name /*泰克产品系列2名称*/
,P1.extendedamount /*金额扩展*/
,P1.qty /*数量*/
,P1.extendedamount_base /*基础金额扩展*/
,P1.priceperunit_base /*基础单价*/
,P1.priceperunit /*单价*/
,P1.extendedamount_base2 /*基础金额扩展2*/
,P1.baseamount_base /*基础金额基础*/
,P1.baseamount /*基础金额*/
,P1.transactioncurrencyid /*交易货币编号*/
,P1.totalamount_base /*基础总金额*/
,P1.totalamount /*总金额*/
,P1.tek_orderstatus /*泰克订单状态*/
,P1.tek_billtocompanyname /*泰克订单公司*/
,P1.tek_contactcompanyname /*泰克联系人公司*/
,P1.tek_accountmanagerid /*泰克Account管理员ID*/
,P1.tek_orderbookdate /*泰克订单预定日期*/
,P1.tek_shiptocompanyid /*泰克收货公司编号*/
,P1.tek_companylegalname /*泰克公司合法名称*/
,P1.statecode /*状态代码*/
,P1.tek_ordertype /*泰克订单类型*/
,P1.tek_channelid /*泰克渠道编号*/
,P1.tek_regionidname /*泰克区域名称*/
,P1.salesorderdetailid /*销售订单编号明细*/
,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_order_agi_CUR_I P1
LEFT JOIN :PDMDB.t01_crm_order P2
ON P1.tek_ordernumber = P2.tek_ordernumber
AND P1.uomid = P2.uomid
AND P1.tek_companyname = P2.tek_companyname
AND P1.tek_pivotalordernumber = P2.tek_pivotalordernumber
AND P1.tek_orderrelatedopportunity = P2.tek_orderrelatedopportunity
AND P1.tek_shiptocompanyname = P2.tek_shiptocompanyname
AND P1.productname = P2.productname
AND P1.tek_productfamilycode = P2.tek_productfamilycode
AND P1.tek_productgroup3code = P2.tek_productgroup3code
AND P1.tek_productgroup3name = P2.tek_productgroup3name
AND P1.tek_productgroup2name = P2.tek_productgroup2name
AND P1.extendedamount = P2.extendedamount
AND P1.qty = P2.qty
AND P1.extendedamount_base = P2.extendedamount_base
AND P1.priceperunit_base = P2.priceperunit_base
AND P1.priceperunit = P2.priceperunit
AND P1.extendedamount_base2 = P2.extendedamount_base2
AND P1.baseamount_base = P2.baseamount_base
AND P1.baseamount = P2.baseamount
AND P1.transactioncurrencyid = P2.transactioncurrencyid
AND P1.totalamount_base = P2.totalamount_base
AND P1.totalamount = P2.totalamount
AND P1.tek_orderstatus = P2.tek_orderstatus
AND P1.tek_billtocompanyname = P2.tek_billtocompanyname
AND P1.tek_contactcompanyname = P2.tek_contactcompanyname
AND P1.tek_accountmanagerid = P2.tek_accountmanagerid
AND P1.tek_orderbookdate = P2.tek_orderbookdate
AND P1.tek_shiptocompanyid = P2.tek_shiptocompanyid
AND P1.tek_companylegalname = P2.tek_companylegalname
AND P1.statecode = P2.statecode
AND P1.tek_ordertype = P2.tek_ordertype
AND P1.tek_channelid = P2.tek_channelid
AND P1.tek_regionidname = P2.tek_regionidname
AND P1.salesorderdetailid = P2.salesorderdetailid
WHERE P2.tek_ordernumber IS NULL
OR P2.uomid IS NULL
OR P2.tek_companyname IS NULL
OR P2.tek_pivotalordernumber IS NULL
OR P2.tek_orderrelatedopportunity IS NULL
OR P2.tek_shiptocompanyname IS NULL
OR P2.productname IS NULL
OR P2.tek_productfamilycode IS NULL
OR P2.tek_productgroup3code IS NULL
OR P2.tek_productgroup3name IS NULL
OR P2.tek_productgroup2name IS NULL
OR P2.extendedamount IS NULL
OR P2.qty IS NULL
OR P2.extendedamount_base IS NULL
OR P2.priceperunit_base IS NULL
OR P2.priceperunit IS NULL
OR P2.extendedamount_base2 IS NULL
OR P2.baseamount_base IS NULL
OR P2.baseamount IS NULL
OR P2.transactioncurrencyid IS NULL
OR P2.totalamount_base IS NULL
OR P2.totalamount IS NULL
OR P2.tek_orderstatus IS NULL
OR P2.tek_billtocompanyname IS NULL
OR P2.tek_contactcompanyname IS NULL
OR P2.tek_accountmanagerid IS NULL
OR P2.tek_orderbookdate IS NULL
OR P2.tek_shiptocompanyid IS NULL
OR P2.tek_companylegalname IS NULL
OR P2.statecode IS NULL
OR P2.tek_ordertype IS NULL
OR P2.tek_channelid IS NULL
OR P2.tek_regionidname IS NULL
OR P2.salesorderdetailid IS NULL
;
/*将新增数据插入到目标表 */
;INSERT INTO :PDMDB.t01_crm_order (
tek_ordernumber /*泰克订单编号*/
,uomid /*Uom编号*/
,tek_companyname /*泰克公司名称*/
,tek_pivotalordernumber /*泰克关键订单号*/
,tek_orderrelatedopportunity /*泰克订单相关机会编号*/
,tek_shiptocompanyname /*泰克收货公司名称*/
,productname /*产品名称*/
,tek_productfamilycode /*泰克产品系列代码*/
,tek_productgroup3code /*泰克产品系列3代码*/
,tek_productgroup3name /*泰克产品系列2代码*/
,tek_productgroup2name /*泰克产品系列2名称*/
,extendedamount /*金额扩展*/
,qty /*数量*/
,extendedamount_base /*基础金额扩展*/
,priceperunit_base /*基础单价*/
,priceperunit /*单价*/
,extendedamount_base2 /*基础金额扩展2*/
,baseamount_base /*基础金额基础*/
,baseamount /*基础金额*/
,transactioncurrencyid /*交易货币编号*/
,totalamount_base /*基础总金额*/
,totalamount /*总金额*/
,tek_orderstatus /*泰克订单状态*/
,tek_billtocompanyname /*泰克订单公司*/
,tek_contactcompanyname /*泰克联系人公司*/
,tek_accountmanagerid /*泰克Account管理员ID*/
,tek_orderbookdate /*泰克订单预定日期*/
,tek_shiptocompanyid /*泰克收货公司编号*/
,tek_companylegalname /*泰克公司合法名称*/
,statecode /*状态代码*/
,tek_ordertype /*泰克订单类型*/
,tek_channelid /*泰克渠道编号*/
,tek_regionidname /*泰克区域名称*/
,salesorderdetailid /*销售订单编号明细*/
,Etl_Batch_No /*作业批次号*/
,Etl_First_Dt /*最初入库时间*/
,Etl_Job /*作业名称*/
,Etl_Proc_Dt /*本次入库时间*/
,Etl_Tx_Dt /*作业运行时间*/
,Src_Sysname /*来源系统*/
,Src_Table /*来源表*/
)
SELECT
P1.tek_ordernumber /*泰克订单编号*/
,P1.uomid /*Uom编号*/
,P1.tek_companyname /*泰克公司名称*/
,P1.tek_pivotalordernumber /*泰克关键订单号*/
,P1.tek_orderrelatedopportunity /*泰克订单相关机会编号*/
,P1.tek_shiptocompanyname /*泰克收货公司名称*/
,P1.productname /*产品名称*/
,P1.tek_productfamilycode /*泰克产品系列代码*/
,P1.tek_productgroup3code /*泰克产品系列3代码*/
,P1.tek_productgroup3name /*泰克产品系列2代码*/
,P1.tek_productgroup2name /*泰克产品系列2名称*/
,P1.extendedamount /*金额扩展*/
,P1.qty /*数量*/
,P1.extendedamount_base /*基础金额扩展*/
,P1.priceperunit_base /*基础单价*/
,P1.priceperunit /*单价*/
,P1.extendedamount_base2 /*基础金额扩展2*/
,P1.baseamount_base /*基础金额基础*/
,P1.baseamount /*基础金额*/
,P1.transactioncurrencyid /*交易货币编号*/
,P1.totalamount_base /*基础总金额*/
,P1.totalamount /*总金额*/
,P1.tek_orderstatus /*泰克订单状态*/
,P1.tek_billtocompanyname /*泰克订单公司*/
,P1.tek_contactcompanyname /*泰克联系人公司*/
,P1.tek_accountmanagerid /*泰克Account管理员ID*/
,P1.tek_orderbookdate /*泰克订单预定日期*/
,P1.tek_shiptocompanyid /*泰克收货公司编号*/
,P1.tek_companylegalname /*泰克公司合法名称*/
,P1.statecode /*状态代码*/
,P1.tek_ordertype /*泰克订单类型*/
,P1.tek_channelid /*泰克渠道编号*/
,P1.tek_regionidname /*泰克区域名称*/
,P1.salesorderdetailid /*销售订单编号明细*/
,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_order_agi_INS P1
ON CONFLICT ( salesorderdetailid)
DO UPDATE SET
salesorderdetailid=excluded.salesorderdetailid
,tek_ordernumber=excluded.tek_ordernumber
,uomid=excluded.uomid
,tek_companyname=excluded.tek_companyname
,tek_pivotalordernumber=excluded.tek_pivotalordernumber
,tek_orderrelatedopportunity=excluded.tek_orderrelatedopportunity
,tek_shiptocompanyname=excluded.tek_shiptocompanyname
,productname=excluded.productname
,tek_productfamilycode=excluded.tek_productfamilycode
,tek_productgroup3code=excluded.tek_productgroup3code
,tek_productgroup3name=excluded.tek_productgroup3name
,tek_productgroup2name=excluded.tek_productgroup2name
,extendedamount=excluded.extendedamount
,qty=excluded.qty
,extendedamount_base=excluded.extendedamount_base
,priceperunit_base=excluded.priceperunit_base
,priceperunit=excluded.priceperunit
,extendedamount_base2=excluded.extendedamount_base2
,baseamount_base=excluded.baseamount_base
,baseamount=excluded.baseamount
,transactioncurrencyid=excluded.transactioncurrencyid
,totalamount_base=excluded.totalamount_base
,totalamount=excluded.totalamount
,tek_orderstatus=excluded.tek_orderstatus
,tek_billtocompanyname=excluded.tek_billtocompanyname
,tek_contactcompanyname=excluded.tek_contactcompanyname
,tek_accountmanagerid=excluded.tek_accountmanagerid
,tek_orderbookdate=excluded.tek_orderbookdate
,tek_shiptocompanyid=excluded.tek_shiptocompanyid
,tek_companylegalname=excluded.tek_companylegalname
,statecode=excluded.statecode
,tek_ordertype=excluded.tek_ordertype
,tek_channelid=excluded.tek_channelid
,tek_regionidname=excluded.tek_regionidname
,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

@ -318,6 +318,14 @@ depends_on_past=False,
retries=3,
dag=dag)
t01_crm_order = SSHOperator(
ssh_hook=sshHook,
task_id='t01_crm_order',
command='/data/airflow/etl/PDM/run_psql.sh {{ ds_nodash }} {{params.my_param}} ',
params={'my_param':"t01_crm_order_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
@ -343,5 +351,6 @@ cust_contact_info >> cust_all_info
t01_crm_raw_leads >> cust_all_info
cust_all_info >> cust_enagement_records
file_crm_order >> crm_order
crm_order >> task_failed
crm_order >> t01_crm_order
t01_crm_order >> task_failed
file_china_city >> task_failed