diff --git a/dev/workflow/TK_Cust/partner1site/Partner POS数据/t01_partner_pos.sql b/dev/workflow/TK_Cust/partner1site/Partner POS数据/t01_partner_pos.sql new file mode 100644 index 0000000..070507a --- /dev/null +++ b/dev/workflow/TK_Cust/partner1site/Partner POS数据/t01_partner_pos.sql @@ -0,0 +1,94 @@ + +DROP TABLE IF EXISTS p20_pdm.t01_partner_pos; +CREATE TABLE IF NOT EXISTS p20_pdm.t01_partner_pos ( + id varchar(100) + , address varchar(500) + , alias varchar(100) + , ap varchar(100) + , province varchar(50) + , city varchar(50) + , application varchar(100) + , area_name varchar(100) + , channel_type varchar(100) + , contact_department varchar(100) + , customer_name varchar(100) + , contact_email varchar(100) + , contact_name varchar(100) + , contact_phone varchar(100) + , contact_title varchar(100) + , customer_chanel_name varchar(100) + , distributor_name varchar(100) + , distributor_name2 varchar(100) + , extended_price decimal(24,6) + , industry varchar(100) + , sub_industry varchar(100) + , invoice_number varchar(100) + , online_name varchar(100) + , online_or_offline varchar(100) + , pos_insert_date date + , pos_invoice_date date + , pos_update_date date + , product_ap varchar(100) + , product_qty varchar(100) + , sales_name varchar(100) + , sales_price decimal(24,6) + , sales_trx_currency_code varchar(100) + , temp_city_name varchar(100) + , transfer varchar(100) + , tsm_names_by_alias varchar(100) + , zip varchar(100) + , 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( id ) +); + + COMMENT ON COLUMN p20_pdm.t01_partner_pos.id IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.address IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.alias IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.ap IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.province IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.city IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.application IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.area_name IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.channel_type IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.contact_department IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.customer_name IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.contact_email IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.contact_name IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.contact_phone IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.contact_title IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.customer_chanel_name IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.distributor_name IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.distributor_name2 IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.extended_price IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.industry IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.sub_industry IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.invoice_number IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.online_name IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.online_or_offline IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.pos_insert_date IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.pos_invoice_date IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.pos_update_date IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.product_ap IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.product_qty IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.sales_name IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.sales_price IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.sales_trx_currency_code IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.temp_city_name IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.transfer IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.tsm_names_by_alias IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.zip IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.Etl_Batch_No IS '作业批次号'; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.Etl_First_Dt IS '最初入库时间'; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.Etl_Job IS '作业名称'; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.Etl_Proc_Dt IS '本次入库时间'; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.Etl_Tx_Dt IS '作业运行时间'; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.Src_Sysname IS '来源系统'; + COMMENT ON COLUMN p20_pdm.t01_partner_pos.Src_Table IS '来源表'; + +COMMENT ON TABLE p20_pdm.t01_partner_pos IS 'Partner POS数据'; \ No newline at end of file diff --git a/dev/workflow/TK_Cust/partner1site/Partner POS数据/t01_partner_pos_agi.sql b/dev/workflow/TK_Cust/partner1site/Partner POS数据/t01_partner_pos_agi.sql new file mode 100644 index 0000000..9c1ad7b --- /dev/null +++ b/dev/workflow/TK_Cust/partner1site/Partner POS数据/t01_partner_pos_agi.sql @@ -0,0 +1,451 @@ +/***************************************************************************************************/ +/*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_partner_pos(Partner POS数据) */ +/*Create Date:2025-09-30 19:12:24 */ +/*SDM Developed By: dev */ +/*SDM Developed Date: 2025-09-29 */ +/*SDM Checked By: dev */ +/*SDM Checked Date: 2025-09-30 */ +/*Script Developed By: dev */ +/*Script Checked By: dev */ +/*Source table 1: p10_sa.s98_s_partner_summary_pos */ +/*Job Type: Inbound transform (Tier 1 to Tier 2) */ +/*Target Table:t01_partner_pos */ +/*ETL Job Name:t01_partner_pos */ +/*ETL Frequency:None */ +/*ETL Policy:F2 */ +/********************************************************************************************/ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on + + + +/*创建临时表加载当前数据 */ +CREATE TEMPORARY TABLE t01_partner_pos_agi_CUR_I + ( LIKE :PDMDB.t01_partner_pos) +ON COMMIT PRESERVE ROWS; + + + +/*创建临时表加载不同数据 */ +CREATE TEMPORARY TABLE t01_partner_pos_agi_INS +( LIKE :PDMDB.t01_partner_pos) +ON COMMIT PRESERVE ROWS; + + +/*****************************************************************************************************/ +/* GROUP 1:Source Table:s98_s_partner_summary_pos*****************************************************/ +/*****************************************************************************************************/ +INSERT INTO t01_partner_pos_agi_CUR_I ( + id /**/ + ,address /**/ + ,alias /**/ + ,ap /**/ + ,province /**/ + ,city /**/ + ,application /**/ + ,area_name /**/ + ,channel_type /**/ + ,contact_department /**/ + ,customer_name /**/ + ,contact_email /**/ + ,contact_name /**/ + ,contact_phone /**/ + ,contact_title /**/ + ,customer_chanel_name /**/ + ,distributor_name /**/ + ,distributor_name2 /**/ + ,extended_price /**/ + ,industry /**/ + ,sub_industry /**/ + ,invoice_number /**/ + ,online_name /**/ + ,online_or_offline /**/ + ,pos_insert_date /**/ + ,pos_invoice_date /**/ + ,pos_update_date /**/ + ,product_ap /**/ + ,product_qty /**/ + ,sales_name /**/ + ,sales_price /**/ + ,sales_trx_currency_code /**/ + ,temp_city_name /**/ + ,transfer /**/ + ,tsm_names_by_alias /**/ + ,zip /**/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + ) +SELECT + COALESCE(TRIM(CAST(p0.id AS varchar(100))),'') /*id*/ + ,COALESCE(TRIM(CAST(p0.address AS varchar(500))),'') /*address*/ + ,COALESCE(TRIM(CAST(p0.alias AS varchar(100))),'') /*alias*/ + ,COALESCE(TRIM(CAST(p0.ap AS varchar(100))),'') /*ap*/ + ,COALESCE(TRIM(CAST(p0.province AS varchar(50))),'') /*province*/ + ,COALESCE(TRIM(CAST(p0.city AS varchar(50))),'') /*city*/ + ,COALESCE(TRIM(CAST(p0.application AS varchar(100))),'') /*application*/ + ,COALESCE(TRIM(CAST(p0.area_name AS varchar(100))),'') /*area_name*/ + ,COALESCE(TRIM(CAST(p0.channel_type AS varchar(100))),'') /*channel_type*/ + ,COALESCE(TRIM(CAST(p0.contact_department AS varchar(100))),'') /*contact_department*/ + ,COALESCE(TRIM(CAST(p0.customer_name AS varchar(100))),'') /*customer_name*/ + ,COALESCE(TRIM(CAST(p0.contact_email AS varchar(100))),'') /*contact_email*/ + ,COALESCE(TRIM(CAST(p0.contact_name AS varchar(100))),'') /*contact_name*/ + ,COALESCE(TRIM(CAST(p0.contact_phone AS varchar(100))),'') /*contact_phone*/ + ,COALESCE(TRIM(CAST(p0.contact_title AS varchar(100))),'') /*contact_title*/ + ,COALESCE(TRIM(CAST(p0.customer_chanel_name AS varchar(100))),'') /*customer_chanel_name*/ + ,COALESCE(TRIM(CAST(p0.distributor_name AS varchar(100))),'') /*distributor_name*/ + ,COALESCE(TRIM(CAST(p0.distributor_name2 AS varchar(100))),'') /*distributor_name2*/ + ,p0.extended_price::decimal(24,2) /*extended_price*/ + ,COALESCE(TRIM(CAST(p0.industry AS varchar(100))),'') /*industry*/ + ,COALESCE(TRIM(CAST(p0.sub_industry AS varchar(100))),'') /*sub_industry*/ + ,COALESCE(TRIM(CAST(p0.invoice_number AS varchar(100))),'') /*invoice_number*/ + ,COALESCE(TRIM(CAST(p0.online_name AS varchar(100))),'') /*online_name*/ + ,COALESCE(TRIM(CAST(p0.online_or_offline AS varchar(100))),'') /*online_or_offline*/ + ,p0.pos_insert_date::date /*pos_insert_date*/ + ,p0.pos_invoice_date::date /*pos_invoice_date*/ + ,p0.pos_update_date::date /*pos_update_date*/ + ,COALESCE(TRIM(CAST(p0.product_ap AS varchar(100))),'') /*product_ap*/ + ,COALESCE(TRIM(CAST(p0.product_qty AS varchar(100))),'') /*product_qty*/ + ,COALESCE(TRIM(CAST(p0.sales_name AS varchar(100))),'') /*sales_name*/ + ,p0.sales_price::decimal(24,2) /*sales_price*/ + ,COALESCE(TRIM(CAST(p0.sales_trx_currency_code AS varchar(100))),'') /*sales_trx_currency_code*/ + ,COALESCE(TRIM(CAST(p0.temp_city_name AS varchar(100))),'') /*temp_city_name*/ + ,COALESCE(TRIM(CAST(p0.transfer AS varchar(100))),'') /*transfer*/ + ,COALESCE(TRIM(CAST(p0.tsm_names_by_alias AS varchar(100))),'') /*tsm_names_by_alias*/ + ,COALESCE(TRIM(CAST(p0.zip AS varchar(100))),'') /*zip*/ + ,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_partner_summary_pos',1,3) /*Src_Sysname*/ + ,'s98_s_partner_summary_pos' /*Src_Table*/ + +FROM p10_sa.s98_s_partner_summary_pos p0 +; + + + +/*将不同数据插入到临时表 */ +;INSERT INTO t01_partner_pos_agi_INS ( + address /**/ + ,alias /**/ + ,ap /**/ + ,province /**/ + ,city /**/ + ,application /**/ + ,area_name /**/ + ,channel_type /**/ + ,contact_department /**/ + ,customer_name /**/ + ,contact_email /**/ + ,contact_name /**/ + ,contact_phone /**/ + ,contact_title /**/ + ,customer_chanel_name /**/ + ,distributor_name /**/ + ,distributor_name2 /**/ + ,extended_price /**/ + ,industry /**/ + ,sub_industry /**/ + ,invoice_number /**/ + ,online_name /**/ + ,online_or_offline /**/ + ,pos_insert_date /**/ + ,pos_invoice_date /**/ + ,pos_update_date /**/ + ,product_ap /**/ + ,product_qty /**/ + ,sales_name /**/ + ,sales_price /**/ + ,sales_trx_currency_code /**/ + ,temp_city_name /**/ + ,transfer /**/ + ,tsm_names_by_alias /**/ + ,zip /**/ + ,id /**/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) + SELECT + P1.address /**/ + ,P1.alias /**/ + ,P1.ap /**/ + ,P1.province /**/ + ,P1.city /**/ + ,P1.application /**/ + ,P1.area_name /**/ + ,P1.channel_type /**/ + ,P1.contact_department /**/ + ,P1.customer_name /**/ + ,P1.contact_email /**/ + ,P1.contact_name /**/ + ,P1.contact_phone /**/ + ,P1.contact_title /**/ + ,P1.customer_chanel_name /**/ + ,P1.distributor_name /**/ + ,P1.distributor_name2 /**/ + ,P1.extended_price /**/ + ,P1.industry /**/ + ,P1.sub_industry /**/ + ,P1.invoice_number /**/ + ,P1.online_name /**/ + ,P1.online_or_offline /**/ + ,P1.pos_insert_date /**/ + ,P1.pos_invoice_date /**/ + ,P1.pos_update_date /**/ + ,P1.product_ap /**/ + ,P1.product_qty /**/ + ,P1.sales_name /**/ + ,P1.sales_price /**/ + ,P1.sales_trx_currency_code /**/ + ,P1.temp_city_name /**/ + ,P1.transfer /**/ + ,P1.tsm_names_by_alias /**/ + ,P1.zip /**/ + ,P1.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_partner_pos_agi_CUR_I P1 +LEFT JOIN :PDMDB.t01_partner_pos P2 +ON P1.address = P2.address + AND P1.alias = P2.alias + AND P1.ap = P2.ap + AND P1.province = P2.province + AND P1.city = P2.city + AND P1.application = P2.application + AND P1.area_name = P2.area_name + AND P1.channel_type = P2.channel_type + AND P1.contact_department = P2.contact_department + AND P1.customer_name = P2.customer_name + AND P1.contact_email = P2.contact_email + AND P1.contact_name = P2.contact_name + AND P1.contact_phone = P2.contact_phone + AND P1.contact_title = P2.contact_title + AND P1.customer_chanel_name = P2.customer_chanel_name + AND P1.distributor_name = P2.distributor_name + AND P1.distributor_name2 = P2.distributor_name2 + AND P1.extended_price = P2.extended_price + AND P1.industry = P2.industry + AND P1.sub_industry = P2.sub_industry + AND P1.invoice_number = P2.invoice_number + AND P1.online_name = P2.online_name + AND P1.online_or_offline = P2.online_or_offline + AND P1.pos_insert_date = P2.pos_insert_date + AND P1.pos_invoice_date = P2.pos_invoice_date + AND P1.pos_update_date = P2.pos_update_date + AND P1.product_ap = P2.product_ap + AND P1.product_qty = P2.product_qty + AND P1.sales_name = P2.sales_name + AND P1.sales_price = P2.sales_price + AND P1.sales_trx_currency_code = P2.sales_trx_currency_code + AND P1.temp_city_name = P2.temp_city_name + AND P1.transfer = P2.transfer + AND P1.tsm_names_by_alias = P2.tsm_names_by_alias + AND P1.zip = P2.zip + AND P1.id = P2.id + +WHERE P2.address IS NULL + OR P2.alias IS NULL + OR P2.ap IS NULL + OR P2.province IS NULL + OR P2.city IS NULL + OR P2.application IS NULL + OR P2.area_name IS NULL + OR P2.channel_type IS NULL + OR P2.contact_department IS NULL + OR P2.customer_name IS NULL + OR P2.contact_email IS NULL + OR P2.contact_name IS NULL + OR P2.contact_phone IS NULL + OR P2.contact_title IS NULL + OR P2.customer_chanel_name IS NULL + OR P2.distributor_name IS NULL + OR P2.distributor_name2 IS NULL + OR P2.extended_price IS NULL + OR P2.industry IS NULL + OR P2.sub_industry IS NULL + OR P2.invoice_number IS NULL + OR P2.online_name IS NULL + OR P2.online_or_offline IS NULL + OR P2.pos_insert_date IS NULL + OR P2.pos_invoice_date IS NULL + OR P2.pos_update_date IS NULL + OR P2.product_ap IS NULL + OR P2.product_qty IS NULL + OR P2.sales_name IS NULL + OR P2.sales_price IS NULL + OR P2.sales_trx_currency_code IS NULL + OR P2.temp_city_name IS NULL + OR P2.transfer IS NULL + OR P2.tsm_names_by_alias IS NULL + OR P2.zip IS NULL + OR P2.id IS NULL + +; +/*将新增数据插入到目标表 */ +;INSERT INTO :PDMDB.t01_partner_pos ( + address /**/ + ,alias /**/ + ,ap /**/ + ,province /**/ + ,city /**/ + ,application /**/ + ,area_name /**/ + ,channel_type /**/ + ,contact_department /**/ + ,customer_name /**/ + ,contact_email /**/ + ,contact_name /**/ + ,contact_phone /**/ + ,contact_title /**/ + ,customer_chanel_name /**/ + ,distributor_name /**/ + ,distributor_name2 /**/ + ,extended_price /**/ + ,industry /**/ + ,sub_industry /**/ + ,invoice_number /**/ + ,online_name /**/ + ,online_or_offline /**/ + ,pos_insert_date /**/ + ,pos_invoice_date /**/ + ,pos_update_date /**/ + ,product_ap /**/ + ,product_qty /**/ + ,sales_name /**/ + ,sales_price /**/ + ,sales_trx_currency_code /**/ + ,temp_city_name /**/ + ,transfer /**/ + ,tsm_names_by_alias /**/ + ,zip /**/ + ,id /**/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) +SELECT + P1.address /**/ + ,P1.alias /**/ + ,P1.ap /**/ + ,P1.province /**/ + ,P1.city /**/ + ,P1.application /**/ + ,P1.area_name /**/ + ,P1.channel_type /**/ + ,P1.contact_department /**/ + ,P1.customer_name /**/ + ,P1.contact_email /**/ + ,P1.contact_name /**/ + ,P1.contact_phone /**/ + ,P1.contact_title /**/ + ,P1.customer_chanel_name /**/ + ,P1.distributor_name /**/ + ,P1.distributor_name2 /**/ + ,P1.extended_price /**/ + ,P1.industry /**/ + ,P1.sub_industry /**/ + ,P1.invoice_number /**/ + ,P1.online_name /**/ + ,P1.online_or_offline /**/ + ,P1.pos_insert_date /**/ + ,P1.pos_invoice_date /**/ + ,P1.pos_update_date /**/ + ,P1.product_ap /**/ + ,P1.product_qty /**/ + ,P1.sales_name /**/ + ,P1.sales_price /**/ + ,P1.sales_trx_currency_code /**/ + ,P1.temp_city_name /**/ + ,P1.transfer /**/ + ,P1.tsm_names_by_alias /**/ + ,P1.zip /**/ + ,P1.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_partner_pos_agi_INS P1 +ON CONFLICT ( id) +DO UPDATE SET + id=excluded.id + ,address=excluded.address + ,alias=excluded.alias + ,ap=excluded.ap + ,province=excluded.province + ,city=excluded.city + ,application=excluded.application + ,area_name=excluded.area_name + ,channel_type=excluded.channel_type + ,contact_department=excluded.contact_department + ,customer_name=excluded.customer_name + ,contact_email=excluded.contact_email + ,contact_name=excluded.contact_name + ,contact_phone=excluded.contact_phone + ,contact_title=excluded.contact_title + ,customer_chanel_name=excluded.customer_chanel_name + ,distributor_name=excluded.distributor_name + ,distributor_name2=excluded.distributor_name2 + ,extended_price=excluded.extended_price + ,industry=excluded.industry + ,sub_industry=excluded.sub_industry + ,invoice_number=excluded.invoice_number + ,online_name=excluded.online_name + ,online_or_offline=excluded.online_or_offline + ,pos_insert_date=excluded.pos_insert_date + ,pos_invoice_date=excluded.pos_invoice_date + ,pos_update_date=excluded.pos_update_date + ,product_ap=excluded.product_ap + ,product_qty=excluded.product_qty + ,sales_name=excluded.sales_name + ,sales_price=excluded.sales_price + ,sales_trx_currency_code=excluded.sales_trx_currency_code + ,temp_city_name=excluded.temp_city_name + ,transfer=excluded.transfer + ,tsm_names_by_alias=excluded.tsm_names_by_alias + ,zip=excluded.zip + ,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/dev/workflow/TK_Cust/partner1site/Partner客户拜访记录/t01_partner_visit.sql b/dev/workflow/TK_Cust/partner1site/Partner客户拜访记录/t01_partner_visit.sql new file mode 100644 index 0000000..12f2bb4 --- /dev/null +++ b/dev/workflow/TK_Cust/partner1site/Partner客户拜访记录/t01_partner_visit.sql @@ -0,0 +1,76 @@ + +DROP TABLE IF EXISTS p20_pdm.t01_partner_visit; +CREATE TABLE IF NOT EXISTS p20_pdm.t01_partner_visit ( + insert_date datetime + , visitor varchar(100) + , dealer_name varchar(100) + , customer_name varchar(100) + , contact_name varchar(100) + , contact_department varchar(100) + , customer_category_type varchar(100) + , intention_product varchar(100) + , into_report bool + , contact_ways varchar(50) + , attachment_number int4 + , visit_remark text + , comment_number int4 + , like_number int4 + , area varchar(50) + , contact_province varchar(50) + , contact_city varchar(50) + , contact_district varchar(50) + , contact_phone varchar(50) + , contact_email varchar(50) + , contact_address text + , like_name varchar(100) + , alias varchar(50) + , industry varchar(50) + , sub_industry varchar(100) + , tsm_names_by_alias varchar(100) + , customer_category varchar(100) + , 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) + +); + + COMMENT ON COLUMN p20_pdm.t01_partner_visit.insert_date IS '录入时间'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.visitor IS '拜访人'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.dealer_name IS '代理商名称'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.customer_name IS '客户名称'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.contact_name IS '联系人'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.contact_department IS '联系人部门'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.customer_category_type IS '产品分类'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.intention_product IS '意向产品'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.into_report IS '是否进入报备'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.contact_ways IS '联络方式'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.attachment_number IS '附件数量'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.visit_remark IS '拜访备注'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.comment_number IS '评论数'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.like_number IS '点赞数'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.area IS '大区'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.contact_province IS '省份'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.contact_city IS '城市'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.contact_district IS '区域'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.contact_phone IS '联系电话'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.contact_email IS '联系人邮件'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.contact_address IS '地址'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.like_name IS '点赞人'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.alias IS '别名'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.industry IS '行业'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.sub_industry IS '子行业'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.tsm_names_by_alias IS 'tsm名'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.customer_category IS '客户类别'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.Etl_Batch_No IS '作业批次号'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.Etl_First_Dt IS '最初入库时间'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.Etl_Job IS '作业名称'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.Etl_Proc_Dt IS '本次入库时间'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.Etl_Tx_Dt IS '作业运行时间'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.Src_Sysname IS '来源系统'; + COMMENT ON COLUMN p20_pdm.t01_partner_visit.Src_Table IS '来源表'; + +COMMENT ON TABLE p20_pdm.t01_partner_visit IS 'Partner客户拜访记录'; \ No newline at end of file diff --git a/dev/workflow/TK_Cust/partner1site/Partner客户拜访记录/t01_partner_visit_agi.sql b/dev/workflow/TK_Cust/partner1site/Partner客户拜访记录/t01_partner_visit_agi.sql new file mode 100644 index 0000000..308100a --- /dev/null +++ b/dev/workflow/TK_Cust/partner1site/Partner客户拜访记录/t01_partner_visit_agi.sql @@ -0,0 +1,198 @@ +/***************************************************************************************************/ +/*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_partner_visit(Partner客户拜访记录) */ +/*Create Date:2025-09-29 15:49:57 */ +/*SDM Developed By: dev */ +/*SDM Developed Date: 2025-09-29 */ +/*SDM Checked By: dev */ +/*SDM Checked Date: 2025-09-29 */ +/*Script Developed By: dev */ +/*Script Checked By: dev */ +/*Source table 1: p10_sa.s98_s_partner_summary_visit */ +/*Job Type: Inbound transform (Tier 1 to Tier 2) */ +/*Target Table:t01_partner_visit */ +/*ETL Job Name:t01_partner_visit */ +/*ETL Frequency:None */ +/*ETL Policy:F1 */ +/********************************************************************************************/ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on + + + +/*创建临时表加载当前数据 */ +CREATE TEMPORARY TABLE t01_partner_visit_agi_CUR_I + ( LIKE :PDMDB.t01_partner_visit) +ON COMMIT PRESERVE ROWS; + + +/*****************************************************************************************************/ +/* GROUP 1:Source Table:s98_s_partner_summary_visit***************************************************/ +/*****************************************************************************************************/ +INSERT INTO t01_partner_visit_agi_CUR_I ( + insert_date /*录入时间*/ + ,visitor /*拜访人*/ + ,dealer_name /*代理商名称*/ + ,customer_name /*客户名称*/ + ,contact_name /*联系人*/ + ,contact_department /*联系人部门*/ + ,customer_category_type /*产品分类*/ + ,intention_product /*意向产品*/ + ,into_report /*是否进入报备*/ + ,contact_ways /*联络方式*/ + ,attachment_number /*附件数量*/ + ,visit_remark /*拜访备注*/ + ,comment_number /*评论数*/ + ,like_number /*点赞数*/ + ,area /*大区*/ + ,contact_province /*省份*/ + ,contact_city /*城市*/ + ,contact_district /*区域*/ + ,contact_phone /*联系电话*/ + ,contact_email /*联系人邮件*/ + ,contact_address /*地址*/ + ,like_name /*点赞人*/ + ,alias /*别名*/ + ,industry /*行业*/ + ,sub_industry /*子行业*/ + ,tsm_names_by_alias /*tsm名*/ + ,customer_category /*客户类别*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + ) +SELECT + p0.insert_date::date /*insert_date*/ + ,COALESCE(TRIM(CAST(p0.visitor AS varchar(100))),'') /*visitor*/ + ,COALESCE(TRIM(CAST(p0.dealer_name AS varchar(100))),'') /*dealer_name*/ + ,COALESCE(TRIM(CAST(p0.customer_name AS varchar(100))),'') /*customer_name*/ + ,COALESCE(TRIM(CAST(p0.contact_name AS varchar(100))),'') /*contact_name*/ + ,COALESCE(TRIM(CAST(p0.contact_department AS varchar(100))),'') /*contact_department*/ + ,COALESCE(TRIM(CAST(p0.customer_category_type AS varchar(100))),'') /*customer_category_type*/ + ,COALESCE(TRIM(CAST(p0.intention_product AS varchar(100))),'') /*intention_product*/ + ,p0.into_report::bool /*into_report*/ + ,COALESCE(TRIM(CAST(p0.contact_ways AS varchar(50))),'') /*contact_ways*/ + ,p0.attachment_number::int4 /*attachment_number*/ + ,COALESCE(TRIM(p0.visit_remark),'') /*visit_remark*/ + ,p0.comment_number::int4 /*comment_number*/ + ,p0.like_number::int4 /*like_number*/ + ,COALESCE(TRIM(CAST(p0.area AS varchar(50))),'') /*area*/ + ,COALESCE(TRIM(CAST(p0.contact_province AS varchar(50))),'') /*contact_province*/ + ,COALESCE(TRIM(CAST(p0.contact_city AS varchar(50))),'') /*contact_city*/ + ,COALESCE(TRIM(CAST(p0.contact_district AS varchar(50))),'') /*contact_district*/ + ,COALESCE(TRIM(CAST(p0.contact_phone AS varchar(50))),'') /*contact_phone*/ + ,COALESCE(TRIM(CAST(p0.contact_email AS varchar(50))),'') /*contact_email*/ + ,COALESCE(TRIM(p0.contact_address),'') /*contact_address*/ + ,COALESCE(TRIM(CAST(p0.like_name AS varchar(100))),'') /*like_name*/ + ,COALESCE(TRIM(CAST(p0.alias AS varchar(50))),'') /*alias*/ + ,COALESCE(TRIM(CAST(p0.industry AS varchar(50))),'') /*industry*/ + ,COALESCE(TRIM(CAST(p0.sub_industry AS varchar(100))),'') /*sub_industry*/ + ,COALESCE(TRIM(CAST(p0.tsm_names_by_alias AS varchar(100))),'') /*tsm_names_by_alias*/ + ,COALESCE(TRIM(CAST(p0.customer_category AS varchar(100))),'') /*customer_category*/ + ,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_partner_summary_visit',1,3) /*Src_Sysname*/ + ,'s98_s_partner_summary_visit' /*Src_Table*/ + +FROM p10_sa.s98_s_partner_summary_visit p0 +; + + + +/*从目标表中删除所有数据 t01_partner_visit(Partner客户拜访记录) */ +DELETE FROM :PDMDB.t01_partner_visit +WHERE ETL_JOB=:ETLJOB; + + +/*将新增数据插入到目标表 */ +;INSERT INTO :PDMDB.t01_partner_visit ( + insert_date /*录入时间*/ + ,visitor /*拜访人*/ + ,dealer_name /*代理商名称*/ + ,customer_name /*客户名称*/ + ,contact_name /*联系人*/ + ,contact_department /*联系人部门*/ + ,customer_category_type /*产品分类*/ + ,intention_product /*意向产品*/ + ,into_report /*是否进入报备*/ + ,contact_ways /*联络方式*/ + ,attachment_number /*附件数量*/ + ,visit_remark /*拜访备注*/ + ,comment_number /*评论数*/ + ,like_number /*点赞数*/ + ,area /*大区*/ + ,contact_province /*省份*/ + ,contact_city /*城市*/ + ,contact_district /*区域*/ + ,contact_phone /*联系电话*/ + ,contact_email /*联系人邮件*/ + ,contact_address /*地址*/ + ,like_name /*点赞人*/ + ,alias /*别名*/ + ,industry /*行业*/ + ,sub_industry /*子行业*/ + ,tsm_names_by_alias /*tsm名*/ + ,customer_category /*客户类别*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + + ) + SELECT + P1.insert_date /*录入时间*/ + ,P1.visitor /*拜访人*/ + ,P1.dealer_name /*代理商名称*/ + ,P1.customer_name /*客户名称*/ + ,P1.contact_name /*联系人*/ + ,P1.contact_department /*联系人部门*/ + ,P1.customer_category_type /*产品分类*/ + ,P1.intention_product /*意向产品*/ + ,P1.into_report /*是否进入报备*/ + ,P1.contact_ways /*联络方式*/ + ,P1.attachment_number /*附件数量*/ + ,P1.visit_remark /*拜访备注*/ + ,P1.comment_number /*评论数*/ + ,P1.like_number /*点赞数*/ + ,P1.area /*大区*/ + ,P1.contact_province /*省份*/ + ,P1.contact_city /*城市*/ + ,P1.contact_district /*区域*/ + ,P1.contact_phone /*联系电话*/ + ,P1.contact_email /*联系人邮件*/ + ,P1.contact_address /*地址*/ + ,P1.like_name /*点赞人*/ + ,P1.alias /*别名*/ + ,P1.industry /*行业*/ + ,P1.sub_industry /*子行业*/ + ,P1.tsm_names_by_alias /*tsm名*/ + ,P1.customer_category /*客户类别*/ + ,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_partner_visit_agi_CUR_I P1 + +; +/*****程序结束退出 */ +\q + diff --git a/dev/workflow/TK_Cust/partner1site/Partner客户联系人表/t01_partner_customer_and_contact.sql b/dev/workflow/TK_Cust/partner1site/Partner客户联系人表/t01_partner_customer_and_contact.sql new file mode 100644 index 0000000..96dc835 --- /dev/null +++ b/dev/workflow/TK_Cust/partner1site/Partner客户联系人表/t01_partner_customer_and_contact.sql @@ -0,0 +1,56 @@ + +DROP TABLE IF EXISTS p20_pdm.t01_partner_customer_and_contact; +CREATE TABLE IF NOT EXISTS p20_pdm.t01_partner_customer_and_contact ( + customer_id int8 + , customer_name varchar(200) + , province varchar(50) + , city varchar(50) + , address text + , customer_contact_id int8 + , contact_name varchar(200) + , contact_province varchar(50) + , contact_city varchar(50) + , contact_address text + , industry varchar(100) + , sub_industry varchar(200) + , department varchar(50) + , email varchar(50) + , phone_number varchar(50) + , website_desc text + , website_url 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( customer_id,customer_contact_id ) +); + + COMMENT ON COLUMN p20_pdm.t01_partner_customer_and_contact.customer_id IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_customer_and_contact.customer_name IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_customer_and_contact.province IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_customer_and_contact.city IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_customer_and_contact.address IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_customer_and_contact.customer_contact_id IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_customer_and_contact.contact_name IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_customer_and_contact.contact_province IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_customer_and_contact.contact_city IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_customer_and_contact.contact_address IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_customer_and_contact.industry IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_customer_and_contact.sub_industry IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_customer_and_contact.department IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_customer_and_contact.email IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_customer_and_contact.phone_number IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_customer_and_contact.website_desc IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_customer_and_contact.website_url IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_customer_and_contact.Etl_Batch_No IS '作业批次号'; + COMMENT ON COLUMN p20_pdm.t01_partner_customer_and_contact.Etl_First_Dt IS '最初入库时间'; + COMMENT ON COLUMN p20_pdm.t01_partner_customer_and_contact.Etl_Job IS '作业名称'; + COMMENT ON COLUMN p20_pdm.t01_partner_customer_and_contact.Etl_Proc_Dt IS '本次入库时间'; + COMMENT ON COLUMN p20_pdm.t01_partner_customer_and_contact.Etl_Tx_Dt IS '作业运行时间'; + COMMENT ON COLUMN p20_pdm.t01_partner_customer_and_contact.Src_Sysname IS '来源系统'; + COMMENT ON COLUMN p20_pdm.t01_partner_customer_and_contact.Src_Table IS '来源表'; + +COMMENT ON TABLE p20_pdm.t01_partner_customer_and_contact IS 'Partner客户联系人表'; \ No newline at end of file diff --git a/dev/workflow/TK_Cust/partner1site/Partner客户联系人表/t01_partner_customer_and_contact_agi.sql b/dev/workflow/TK_Cust/partner1site/Partner客户联系人表/t01_partner_customer_and_contact_agi.sql new file mode 100644 index 0000000..597a79e --- /dev/null +++ b/dev/workflow/TK_Cust/partner1site/Partner客户联系人表/t01_partner_customer_and_contact_agi.sql @@ -0,0 +1,280 @@ +/***************************************************************************************************/ +/*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_partner_customer_and_contact(Partner客户联系人表) */ +/*Create Date:2025-09-30 19:10:37 */ +/*SDM Developed By: dev */ +/*SDM Developed Date: 2025-09-29 */ +/*SDM Checked By: dev */ +/*SDM Checked Date: 2025-09-30 */ +/*Script Developed By: dev */ +/*Script Checked By: dev */ +/*Source table 1: p10_sa.s98_s_partner_summary_customer */ +/*Job Type: Inbound transform (Tier 1 to Tier 2) */ +/*Target Table:t01_partner_customer_and_contact */ +/*ETL Job Name:t01_partner_customer_and_contact */ +/*ETL Frequency:None */ +/*ETL Policy:F2 */ +/********************************************************************************************/ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on + + + +/*创建临时表加载当前数据 */ +CREATE TEMPORARY TABLE t01_partner_customer_and_contact_agi_CUR_I + ( LIKE :PDMDB.t01_partner_customer_and_contact) +ON COMMIT PRESERVE ROWS; + + + +/*创建临时表加载不同数据 */ +CREATE TEMPORARY TABLE t01_partner_customer_and_contact_agi_INS +( LIKE :PDMDB.t01_partner_customer_and_contact) +ON COMMIT PRESERVE ROWS; + + +/*****************************************************************************************************/ +/* GROUP 1:Source Table:s98_s_partner_summary_customer************************************************/ +/*****************************************************************************************************/ +INSERT INTO t01_partner_customer_and_contact_agi_CUR_I ( + customer_id /**/ + ,customer_name /**/ + ,province /**/ + ,city /**/ + ,address /**/ + ,customer_contact_id /**/ + ,contact_name /**/ + ,contact_province /**/ + ,contact_city /**/ + ,contact_address /**/ + ,industry /**/ + ,sub_industry /**/ + ,department /**/ + ,email /**/ + ,phone_number /**/ + ,website_desc /**/ + ,website_url /**/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + ) +SELECT + p0.customer_id::int8 /*customer_id*/ + ,COALESCE(TRIM(CAST(p0.customer_name AS varchar(200))),'') /*customer_name*/ + ,COALESCE(TRIM(CAST(p0.province AS varchar(50))),'') /*province*/ + ,COALESCE(TRIM(CAST(p0.city AS varchar(50))),'') /*city*/ + ,COALESCE(TRIM(p0.address),'') /*address*/ + ,p0.customer_contact_id::int8 /*customer_contact_id*/ + ,COALESCE(TRIM(CAST(p0.contact_name AS varchar(200))),'') /*contact_name*/ + ,COALESCE(TRIM(CAST(p0.contact_province AS varchar(50))),'') /*contact_province*/ + ,COALESCE(TRIM(CAST(p0.contact_city AS varchar(50))),'') /*contact_city*/ + ,COALESCE(TRIM(p0.contact_address),'') /*contact_address*/ + ,COALESCE(TRIM(CAST(p0.industry AS varchar(100))),'') /*industry*/ + ,COALESCE(TRIM(CAST(p0.sub_industry AS varchar(200))),'') /*sub_industry*/ + ,COALESCE(TRIM(CAST(p0.department AS varchar(50))),'') /*department*/ + ,COALESCE(TRIM(CAST(p0.email AS varchar(50))),'') /*email*/ + ,COALESCE(TRIM(CAST(p0.phone_number AS varchar(50))),'') /*phone_number*/ + ,COALESCE(TRIM(p0.website_desc),'') /*website_desc*/ + ,COALESCE(TRIM(p0.website_url),'') /*website_url*/ + ,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_partner_summary_customer',1,3) /*Src_Sysname*/ + ,'s98_s_partner_summary_customer' /*Src_Table*/ + +FROM p10_sa.s98_s_partner_summary_customer p0 +; + + + +/*将不同数据插入到临时表 */ +;INSERT INTO t01_partner_customer_and_contact_agi_INS ( + customer_name /**/ + ,province /**/ + ,city /**/ + ,address /**/ + ,contact_name /**/ + ,contact_province /**/ + ,contact_city /**/ + ,contact_address /**/ + ,industry /**/ + ,sub_industry /**/ + ,department /**/ + ,email /**/ + ,phone_number /**/ + ,website_desc /**/ + ,website_url /**/ + ,customer_id /**/ + ,customer_contact_id /**/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) + SELECT + P1.customer_name /**/ + ,P1.province /**/ + ,P1.city /**/ + ,P1.address /**/ + ,P1.contact_name /**/ + ,P1.contact_province /**/ + ,P1.contact_city /**/ + ,P1.contact_address /**/ + ,P1.industry /**/ + ,P1.sub_industry /**/ + ,P1.department /**/ + ,P1.email /**/ + ,P1.phone_number /**/ + ,P1.website_desc /**/ + ,P1.website_url /**/ + ,P1.customer_id /**/ + ,P1.customer_contact_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_partner_customer_and_contact_agi_CUR_I P1 +LEFT JOIN :PDMDB.t01_partner_customer_and_contact P2 +ON P1.customer_name = P2.customer_name + AND P1.province = P2.province + AND P1.city = P2.city + AND P1.address = P2.address + AND P1.contact_name = P2.contact_name + AND P1.contact_province = P2.contact_province + AND P1.contact_city = P2.contact_city + AND P1.contact_address = P2.contact_address + AND P1.industry = P2.industry + AND P1.sub_industry = P2.sub_industry + AND P1.department = P2.department + AND P1.email = P2.email + AND P1.phone_number = P2.phone_number + AND P1.website_desc = P2.website_desc + AND P1.website_url = P2.website_url + AND P1.customer_id = P2.customer_id + AND P1.customer_contact_id = P2.customer_contact_id + +WHERE P2.customer_name IS NULL + OR P2.province IS NULL + OR P2.city IS NULL + OR P2.address IS NULL + OR P2.contact_name IS NULL + OR P2.contact_province IS NULL + OR P2.contact_city IS NULL + OR P2.contact_address IS NULL + OR P2.industry IS NULL + OR P2.sub_industry IS NULL + OR P2.department IS NULL + OR P2.email IS NULL + OR P2.phone_number IS NULL + OR P2.website_desc IS NULL + OR P2.website_url IS NULL + OR P2.customer_id IS NULL + OR P2.customer_contact_id IS NULL + +; +/*将新增数据插入到目标表 */ +;INSERT INTO :PDMDB.t01_partner_customer_and_contact ( + customer_name /**/ + ,province /**/ + ,city /**/ + ,address /**/ + ,contact_name /**/ + ,contact_province /**/ + ,contact_city /**/ + ,contact_address /**/ + ,industry /**/ + ,sub_industry /**/ + ,department /**/ + ,email /**/ + ,phone_number /**/ + ,website_desc /**/ + ,website_url /**/ + ,customer_id /**/ + ,customer_contact_id /**/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) +SELECT + P1.customer_name /**/ + ,P1.province /**/ + ,P1.city /**/ + ,P1.address /**/ + ,P1.contact_name /**/ + ,P1.contact_province /**/ + ,P1.contact_city /**/ + ,P1.contact_address /**/ + ,P1.industry /**/ + ,P1.sub_industry /**/ + ,P1.department /**/ + ,P1.email /**/ + ,P1.phone_number /**/ + ,P1.website_desc /**/ + ,P1.website_url /**/ + ,P1.customer_id /**/ + ,P1.customer_contact_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_partner_customer_and_contact_agi_INS P1 +ON CONFLICT ( customer_id,customer_contact_id) +DO UPDATE SET + customer_id=excluded.customer_id + ,customer_contact_id=excluded.customer_contact_id + ,customer_name=excluded.customer_name + ,province=excluded.province + ,city=excluded.city + ,address=excluded.address + ,contact_name=excluded.contact_name + ,contact_province=excluded.contact_province + ,contact_city=excluded.contact_city + ,contact_address=excluded.contact_address + ,industry=excluded.industry + ,sub_industry=excluded.sub_industry + ,department=excluded.department + ,email=excluded.email + ,phone_number=excluded.phone_number + ,website_desc=excluded.website_desc + ,website_url=excluded.website_url + ,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/dev/workflow/TK_Cust/partner1site/Partner报备数据表/t01_partner_report.sql b/dev/workflow/TK_Cust/partner1site/Partner报备数据表/t01_partner_report.sql new file mode 100644 index 0000000..bd39373 --- /dev/null +++ b/dev/workflow/TK_Cust/partner1site/Partner报备数据表/t01_partner_report.sql @@ -0,0 +1,136 @@ + +DROP TABLE IF EXISTS p20_pdm.t01_partner_report; +CREATE TABLE IF NOT EXISTS p20_pdm.t01_partner_report ( + record_id varchar(200) + , report_num varchar(500) + , dealer_name varchar(200) + , region_name varchar(50) + , apply_admin_name varchar(100) + , apply_phone varchar(50) + , apply_email varchar(100) + , apply_date date + , check_admin_name varchar(50) + , check_status_str varchar(50) + , check_date date + , customer_name varchar(200) + , way varchar(50) + , trader_name varchar(200) + , trader_contact_name varchar(200) + , trader_contact_phone varchar(50) + , province varchar(50) + , city varchar(50) + , district varchar(50) + , address varchar(500) + , integrated_sales varchar(50) + , department varchar(100) + , department_attr varchar(100) + , industry varchar(100) + , sub_industry varchar(100) + , contact_name varchar(100) + , contact_phone varchar(50) + , funding_situation varchar(100) + , apply_situation varchar(100) + , complete_date date + , feature varchar(500) + , advantage varchar(500) + , benefit varchar(500) + , progress varchar(20) + , lost_reason_type varchar(100) + , lost_reason varchar(200) + , update_date date + , source varchar(100) + , leads_num varchar(100) + , delay varchar(20) + , delay_reason varchar(200) + , other_remark varchar(500) + , total_price decimal(24,2) + , package_type_name varchar(100) + , package_name varchar(100) + , series_name varchar(100) + , product_type varchar(100) + , product_sku_type varchar(100) + , product_name varchar(200) + , skus varchar(200) + , list_price decimal(24,2) + , count int4 + , rp_total_price decimal(24,2) + , end_date date + , tsm_names_by_alias varchar(200) + , alias varchar(100) + , remark varchar(1000) + , 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( record_id ) +); + + COMMENT ON COLUMN p20_pdm.t01_partner_report.record_id IS '主键ID'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.report_num IS '报备编号'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.dealer_name IS '合作伙伴'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.region_name IS '大区'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.apply_admin_name IS '申请人'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.apply_phone IS '申请人电话'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.apply_email IS '申请人邮箱'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.apply_date IS '申请时间'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.check_admin_name IS '审核销售经理'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.check_status_str IS '审核状态'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.check_date IS '审核时间'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.customer_name IS '客户名称'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.way IS '采购方式及渠道'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.trader_name IS '贸易商名称'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.trader_contact_name IS '贸易商联系人'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.trader_contact_phone IS '贸易商联系人电话'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.province IS '省份'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.city IS '城市'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.district IS '区域'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.address IS '用户详细地址'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.integrated_sales IS '系统集成销售'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.department IS '使用部门'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.department_attr IS '使用部门属性'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.industry IS '行业'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.sub_industry IS '子行业'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.contact_name IS '联系人姓名'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.contact_phone IS '联系人电话'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.funding_situation IS '资金情况'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.apply_situation IS '项目批准情况'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.complete_date IS '预计结单时间'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.feature IS '主要特点'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.advantage IS '优于竞争对手的地方'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.benefit IS '我们方案的好处'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.progress IS '进展阶段'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.lost_reason_type IS '丢单原因类型'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.lost_reason IS '丢单原因'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.update_date IS '结单/丢单时间'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.source IS '信息来源'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.leads_num IS 'leads编号'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.delay IS '报备需要延期90天'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.delay_reason IS '延期原因'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.other_remark IS '审核备注'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.total_price IS '报备总价'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.package_type_name IS '打包方案类型'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.package_name IS '打包方案名称'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.series_name IS '产品系列/方案类型'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.product_type IS '产品类型'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.product_sku_type IS '型号类型'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.product_name IS '产品/方案名称'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.skus IS '方案中选择产品'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.list_price IS '单价'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.count IS '数量'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.rp_total_price IS '折扣后总价'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.end_date IS '最后修改时间'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.tsm_names_by_alias IS 'TsmNamesByAlias'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.alias IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_report.remark IS ''; + COMMENT ON COLUMN p20_pdm.t01_partner_report.Etl_Batch_No IS '作业批次号'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.Etl_First_Dt IS '最初入库时间'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.Etl_Job IS '作业名称'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.Etl_Proc_Dt IS '本次入库时间'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.Etl_Tx_Dt IS '作业运行时间'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.Src_Sysname IS '来源系统'; + COMMENT ON COLUMN p20_pdm.t01_partner_report.Src_Table IS '来源表'; + +COMMENT ON TABLE p20_pdm.t01_partner_report IS 'Partner报备数据表'; \ No newline at end of file diff --git a/dev/workflow/TK_Cust/partner1site/Partner报备数据表/t01_partner_report_agi.sql b/dev/workflow/TK_Cust/partner1site/Partner报备数据表/t01_partner_report_agi.sql new file mode 100644 index 0000000..e57f181 --- /dev/null +++ b/dev/workflow/TK_Cust/partner1site/Partner报备数据表/t01_partner_report_agi.sql @@ -0,0 +1,640 @@ +/***************************************************************************************************/ +/*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_partner_report(Partner报备数据表) */ +/*Create Date:2025-09-30 19:03:29 */ +/*SDM Developed By: dev */ +/*SDM Developed Date: 2025-09-29 */ +/*SDM Checked By: dev */ +/*SDM Checked Date: 2025-09-30 */ +/*Script Developed By: dev */ +/*Script Checked By: dev */ +/*Source table 1: p10_sa.s98_s_partner_summary_report */ +/*Job Type: Inbound transform (Tier 1 to Tier 2) */ +/*Target Table:t01_partner_report */ +/*ETL Job Name:t01_partner_report */ +/*ETL Frequency:None */ +/*ETL Policy:F2 */ +/********************************************************************************************/ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on + + + +/*创建临时表加载当前数据 */ +CREATE TEMPORARY TABLE t01_partner_report_agi_CUR_I + ( LIKE :PDMDB.t01_partner_report) +ON COMMIT PRESERVE ROWS; + + + +/*创建临时表加载不同数据 */ +CREATE TEMPORARY TABLE t01_partner_report_agi_INS +( LIKE :PDMDB.t01_partner_report) +ON COMMIT PRESERVE ROWS; + + +/*****************************************************************************************************/ +/* GROUP 1:Source Table:s98_s_partner_summary_report**************************************************/ +/*****************************************************************************************************/ +INSERT INTO t01_partner_report_agi_CUR_I ( + record_id /*主键ID*/ + ,report_num /*报备编号*/ + ,dealer_name /*合作伙伴*/ + ,region_name /*大区*/ + ,apply_admin_name /*申请人*/ + ,apply_phone /*申请人电话*/ + ,apply_email /*申请人邮箱*/ + ,apply_date /*申请时间*/ + ,check_admin_name /*审核销售经理*/ + ,check_status_str /*审核状态*/ + ,check_date /*审核时间*/ + ,customer_name /*客户名称*/ + ,way /*采购方式及渠道*/ + ,trader_name /*贸易商名称*/ + ,trader_contact_name /*贸易商联系人*/ + ,trader_contact_phone /*贸易商联系人电话*/ + ,province /*省份*/ + ,city /*城市*/ + ,district /*区域*/ + ,address /*用户详细地址*/ + ,integrated_sales /*系统集成销售*/ + ,department /*使用部门*/ + ,department_attr /*使用部门属性*/ + ,industry /*行业*/ + ,sub_industry /*子行业*/ + ,contact_name /*联系人姓名*/ + ,contact_phone /*联系人电话*/ + ,funding_situation /*资金情况*/ + ,apply_situation /*项目批准情况*/ + ,complete_date /*预计结单时间*/ + ,feature /*主要特点*/ + ,advantage /*优于竞争对手的地方*/ + ,benefit /*我们方案的好处*/ + ,progress /*进展阶段*/ + ,lost_reason_type /*丢单原因类型*/ + ,lost_reason /*丢单原因*/ + ,update_date /*结单/丢单时间*/ + ,source /*信息来源*/ + ,leads_num /*leads编号*/ + ,delay /*报备需要延期90天*/ + ,delay_reason /*延期原因*/ + ,other_remark /*审核备注*/ + ,total_price /*报备总价*/ + ,package_type_name /*打包方案类型*/ + ,package_name /*打包方案名称*/ + ,series_name /*产品系列/方案类型*/ + ,product_type /*产品类型*/ + ,product_sku_type /*型号类型*/ + ,product_name /*产品/方案名称*/ + ,skus /*方案中选择产品*/ + ,list_price /*单价*/ + ,count /*数量*/ + ,rp_total_price /*折扣后总价*/ + ,end_date /*最后修改时间*/ + ,tsm_names_by_alias /*TsmNamesByAlias*/ + ,alias /**/ + ,remark /**/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + ) +SELECT + COALESCE(TRIM(CAST(p0.record_id AS varchar(200))),'') /*record_id*/ + ,COALESCE(TRIM(CAST(p0.report_num AS varchar(500))),'') /*report_num*/ + ,COALESCE(TRIM(CAST(p0.dealer_name AS varchar(200))),'') /*dealer_name*/ + ,COALESCE(TRIM(CAST(p0.region_name AS varchar(50))),'') /*region_name*/ + ,COALESCE(TRIM(CAST(p0.apply_admin_name AS varchar(100))),'') /*apply_admin_name*/ + ,COALESCE(TRIM(CAST(p0.apply_phone AS varchar(50))),'') /*apply_phone*/ + ,COALESCE(TRIM(CAST(p0.apply_email AS varchar(100))),'') /*apply_email*/ + ,p0.apply_date::date /*apply_date*/ + ,COALESCE(TRIM(CAST(p0.check_admin_name AS varchar(50))),'') /*check_admin_name*/ + ,COALESCE(TRIM(CAST(p0.check_status_str AS varchar(50))),'') /*check_status_str*/ + ,p0.check_date::date /*check_date*/ + ,COALESCE(TRIM(CAST(p0.customer_name AS varchar(200))),'') /*customer_name*/ + ,COALESCE(TRIM(CAST(p0.way AS varchar(50))),'') /*way*/ + ,COALESCE(TRIM(CAST(p0.trader_name AS varchar(200))),'') /*trader_name*/ + ,COALESCE(TRIM(CAST(p0.trader_contact_name AS varchar(200))),'') /*trader_contact_name*/ + ,COALESCE(TRIM(CAST(p0.trader_contact_phone AS varchar(50))),'') /*trader_contact_phone*/ + ,COALESCE(TRIM(CAST(p0.province AS varchar(50))),'') /*province*/ + ,COALESCE(TRIM(CAST(p0.city AS varchar(50))),'') /*city*/ + ,COALESCE(TRIM(CAST(p0.district AS varchar(50))),'') /*district*/ + ,COALESCE(TRIM(CAST(p0.address AS varchar(500))),'') /*address*/ + ,COALESCE(TRIM(CAST(p0.integrated_sales AS varchar(50))),'') /*integrated_sales*/ + ,COALESCE(TRIM(CAST(p0.department AS varchar(100))),'') /*department*/ + ,COALESCE(TRIM(CAST(p0.department_attr AS varchar(100))),'') /*department_attr*/ + ,COALESCE(TRIM(CAST(p0.industry AS varchar(100))),'') /*industry*/ + ,COALESCE(TRIM(CAST(p0.sub_industry AS varchar(100))),'') /*sub_industry*/ + ,COALESCE(TRIM(CAST(p0.contact_name AS varchar(100))),'') /*contact_name*/ + ,COALESCE(TRIM(CAST(p0.contact_phone AS varchar(50))),'') /*contact_phone*/ + ,COALESCE(TRIM(CAST(p0.funding_situation AS varchar(100))),'') /*funding_situation*/ + ,COALESCE(TRIM(CAST(p0.apply_situation AS varchar(100))),'') /*apply_situation*/ + ,p0.complete_date::date /*complete_date*/ + ,COALESCE(TRIM(CAST(p0.feature AS varchar(500))),'') /*feature*/ + ,COALESCE(TRIM(CAST(p0.advantage AS varchar(500))),'') /*advantage*/ + ,COALESCE(TRIM(CAST(p0.benefit AS varchar(500))),'') /*benefit*/ + ,COALESCE(TRIM(CAST(p0.progress AS varchar(20))),'') /*progress*/ + ,COALESCE(TRIM(CAST(p0.lost_reason_type AS varchar(100))),'') /*lost_reason_type*/ + ,COALESCE(TRIM(CAST(p0.lost_reason AS varchar(200))),'') /*lost_reason*/ + ,p0.update_date::date /*update_date*/ + ,COALESCE(TRIM(CAST(p0.source AS varchar(100))),'') /*source*/ + ,COALESCE(TRIM(CAST(p0.leads_num AS varchar(100))),'') /*leads_num*/ + ,COALESCE(TRIM(CAST(p0.delay AS varchar(20))),'') /*delay*/ + ,COALESCE(TRIM(CAST(p0.delay_reason AS varchar(200))),'') /*delay_reason*/ + ,COALESCE(TRIM(CAST(p0.other_remark AS varchar(500))),'') /*other_remark*/ + ,p0.total_price::decimal(24,2) /*total_price*/ + ,COALESCE(TRIM(CAST(p0.package_type_name AS varchar(100))),'') /*package_type_name*/ + ,COALESCE(TRIM(CAST(p0.package_name AS varchar(100))),'') /*package_name*/ + ,COALESCE(TRIM(CAST(p0.series_name AS varchar(100))),'') /*series_name*/ + ,COALESCE(TRIM(CAST(p0.product_type AS varchar(100))),'') /*product_type*/ + ,COALESCE(TRIM(CAST(p0.product_sku_type AS varchar(100))),'') /*product_sku_type*/ + ,COALESCE(TRIM(CAST(p0.product_name AS varchar(200))),'') /*product_name*/ + ,COALESCE(TRIM(CAST(p0.skus AS varchar(200))),'') /*skus*/ + ,p0.list_price::decimal(24,2) /*list_price*/ + ,p0.count::int4 /*count*/ + ,p0.rp_total_price::decimal(24,2) /*rp_total_price*/ + ,p0.end_date::date /*end_date*/ + ,COALESCE(TRIM(CAST(p0.tsm_names_by_alias AS varchar(200))),'') /*tsm_names_by_alias*/ + ,COALESCE(TRIM(CAST(p0.alias AS varchar(100))),'') /*alias*/ + ,COALESCE(TRIM(CAST(p0.remark AS varchar(1000))),'') /*remark*/ + ,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_partner_summary_report',1,3) /*Src_Sysname*/ + ,'s98_s_partner_summary_report' /*Src_Table*/ + +FROM p10_sa.s98_s_partner_summary_report p0 +; + + + +/*将不同数据插入到临时表 */ +;INSERT INTO t01_partner_report_agi_INS ( + report_num /*报备编号*/ + ,dealer_name /*合作伙伴*/ + ,region_name /*大区*/ + ,apply_admin_name /*申请人*/ + ,apply_phone /*申请人电话*/ + ,apply_email /*申请人邮箱*/ + ,apply_date /*申请时间*/ + ,check_admin_name /*审核销售经理*/ + ,check_status_str /*审核状态*/ + ,check_date /*审核时间*/ + ,customer_name /*客户名称*/ + ,way /*采购方式及渠道*/ + ,trader_name /*贸易商名称*/ + ,trader_contact_name /*贸易商联系人*/ + ,trader_contact_phone /*贸易商联系人电话*/ + ,province /*省份*/ + ,city /*城市*/ + ,district /*区域*/ + ,address /*用户详细地址*/ + ,integrated_sales /*系统集成销售*/ + ,department /*使用部门*/ + ,department_attr /*使用部门属性*/ + ,industry /*行业*/ + ,sub_industry /*子行业*/ + ,contact_name /*联系人姓名*/ + ,contact_phone /*联系人电话*/ + ,funding_situation /*资金情况*/ + ,apply_situation /*项目批准情况*/ + ,complete_date /*预计结单时间*/ + ,feature /*主要特点*/ + ,advantage /*优于竞争对手的地方*/ + ,benefit /*我们方案的好处*/ + ,progress /*进展阶段*/ + ,lost_reason_type /*丢单原因类型*/ + ,lost_reason /*丢单原因*/ + ,update_date /*结单/丢单时间*/ + ,source /*信息来源*/ + ,leads_num /*leads编号*/ + ,delay /*报备需要延期90天*/ + ,delay_reason /*延期原因*/ + ,other_remark /*审核备注*/ + ,total_price /*报备总价*/ + ,package_type_name /*打包方案类型*/ + ,package_name /*打包方案名称*/ + ,series_name /*产品系列/方案类型*/ + ,product_type /*产品类型*/ + ,product_sku_type /*型号类型*/ + ,product_name /*产品/方案名称*/ + ,skus /*方案中选择产品*/ + ,list_price /*单价*/ + ,count /*数量*/ + ,rp_total_price /*折扣后总价*/ + ,end_date /*最后修改时间*/ + ,tsm_names_by_alias /*TsmNamesByAlias*/ + ,alias /**/ + ,remark /**/ + ,record_id /*主键ID*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) + SELECT + P1.report_num /*报备编号*/ + ,P1.dealer_name /*合作伙伴*/ + ,P1.region_name /*大区*/ + ,P1.apply_admin_name /*申请人*/ + ,P1.apply_phone /*申请人电话*/ + ,P1.apply_email /*申请人邮箱*/ + ,P1.apply_date /*申请时间*/ + ,P1.check_admin_name /*审核销售经理*/ + ,P1.check_status_str /*审核状态*/ + ,P1.check_date /*审核时间*/ + ,P1.customer_name /*客户名称*/ + ,P1.way /*采购方式及渠道*/ + ,P1.trader_name /*贸易商名称*/ + ,P1.trader_contact_name /*贸易商联系人*/ + ,P1.trader_contact_phone /*贸易商联系人电话*/ + ,P1.province /*省份*/ + ,P1.city /*城市*/ + ,P1.district /*区域*/ + ,P1.address /*用户详细地址*/ + ,P1.integrated_sales /*系统集成销售*/ + ,P1.department /*使用部门*/ + ,P1.department_attr /*使用部门属性*/ + ,P1.industry /*行业*/ + ,P1.sub_industry /*子行业*/ + ,P1.contact_name /*联系人姓名*/ + ,P1.contact_phone /*联系人电话*/ + ,P1.funding_situation /*资金情况*/ + ,P1.apply_situation /*项目批准情况*/ + ,P1.complete_date /*预计结单时间*/ + ,P1.feature /*主要特点*/ + ,P1.advantage /*优于竞争对手的地方*/ + ,P1.benefit /*我们方案的好处*/ + ,P1.progress /*进展阶段*/ + ,P1.lost_reason_type /*丢单原因类型*/ + ,P1.lost_reason /*丢单原因*/ + ,P1.update_date /*结单/丢单时间*/ + ,P1.source /*信息来源*/ + ,P1.leads_num /*leads编号*/ + ,P1.delay /*报备需要延期90天*/ + ,P1.delay_reason /*延期原因*/ + ,P1.other_remark /*审核备注*/ + ,P1.total_price /*报备总价*/ + ,P1.package_type_name /*打包方案类型*/ + ,P1.package_name /*打包方案名称*/ + ,P1.series_name /*产品系列/方案类型*/ + ,P1.product_type /*产品类型*/ + ,P1.product_sku_type /*型号类型*/ + ,P1.product_name /*产品/方案名称*/ + ,P1.skus /*方案中选择产品*/ + ,P1.list_price /*单价*/ + ,P1.count /*数量*/ + ,P1.rp_total_price /*折扣后总价*/ + ,P1.end_date /*最后修改时间*/ + ,P1.tsm_names_by_alias /*TsmNamesByAlias*/ + ,P1.alias /**/ + ,P1.remark /**/ + ,P1.record_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_partner_report_agi_CUR_I P1 +LEFT JOIN :PDMDB.t01_partner_report P2 +ON P1.report_num = P2.report_num + AND P1.dealer_name = P2.dealer_name + AND P1.region_name = P2.region_name + AND P1.apply_admin_name = P2.apply_admin_name + AND P1.apply_phone = P2.apply_phone + AND P1.apply_email = P2.apply_email + AND P1.apply_date = P2.apply_date + AND P1.check_admin_name = P2.check_admin_name + AND P1.check_status_str = P2.check_status_str + AND P1.check_date = P2.check_date + AND P1.customer_name = P2.customer_name + AND P1.way = P2.way + AND P1.trader_name = P2.trader_name + AND P1.trader_contact_name = P2.trader_contact_name + AND P1.trader_contact_phone = P2.trader_contact_phone + AND P1.province = P2.province + AND P1.city = P2.city + AND P1.district = P2.district + AND P1.address = P2.address + AND P1.integrated_sales = P2.integrated_sales + AND P1.department = P2.department + AND P1.department_attr = P2.department_attr + AND P1.industry = P2.industry + AND P1.sub_industry = P2.sub_industry + AND P1.contact_name = P2.contact_name + AND P1.contact_phone = P2.contact_phone + AND P1.funding_situation = P2.funding_situation + AND P1.apply_situation = P2.apply_situation + AND P1.complete_date = P2.complete_date + AND P1.feature = P2.feature + AND P1.advantage = P2.advantage + AND P1.benefit = P2.benefit + AND P1.progress = P2.progress + AND P1.lost_reason_type = P2.lost_reason_type + AND P1.lost_reason = P2.lost_reason + AND P1.update_date = P2.update_date + AND P1.source = P2.source + AND P1.leads_num = P2.leads_num + AND P1.delay = P2.delay + AND P1.delay_reason = P2.delay_reason + AND P1.other_remark = P2.other_remark + AND P1.total_price = P2.total_price + AND P1.package_type_name = P2.package_type_name + AND P1.package_name = P2.package_name + AND P1.series_name = P2.series_name + AND P1.product_type = P2.product_type + AND P1.product_sku_type = P2.product_sku_type + AND P1.product_name = P2.product_name + AND P1.skus = P2.skus + AND P1.list_price = P2.list_price + AND P1.count = P2.count + AND P1.rp_total_price = P2.rp_total_price + AND P1.end_date = P2.end_date + AND P1.tsm_names_by_alias = P2.tsm_names_by_alias + AND P1.alias = P2.alias + AND P1.remark = P2.remark + AND P1.record_id = P2.record_id + +WHERE P2.report_num IS NULL + OR P2.dealer_name IS NULL + OR P2.region_name IS NULL + OR P2.apply_admin_name IS NULL + OR P2.apply_phone IS NULL + OR P2.apply_email IS NULL + OR P2.apply_date IS NULL + OR P2.check_admin_name IS NULL + OR P2.check_status_str IS NULL + OR P2.check_date IS NULL + OR P2.customer_name IS NULL + OR P2.way IS NULL + OR P2.trader_name IS NULL + OR P2.trader_contact_name IS NULL + OR P2.trader_contact_phone IS NULL + OR P2.province IS NULL + OR P2.city IS NULL + OR P2.district IS NULL + OR P2.address IS NULL + OR P2.integrated_sales IS NULL + OR P2.department IS NULL + OR P2.department_attr IS NULL + OR P2.industry IS NULL + OR P2.sub_industry IS NULL + OR P2.contact_name IS NULL + OR P2.contact_phone IS NULL + OR P2.funding_situation IS NULL + OR P2.apply_situation IS NULL + OR P2.complete_date IS NULL + OR P2.feature IS NULL + OR P2.advantage IS NULL + OR P2.benefit IS NULL + OR P2.progress IS NULL + OR P2.lost_reason_type IS NULL + OR P2.lost_reason IS NULL + OR P2.update_date IS NULL + OR P2.source IS NULL + OR P2.leads_num IS NULL + OR P2.delay IS NULL + OR P2.delay_reason IS NULL + OR P2.other_remark IS NULL + OR P2.total_price IS NULL + OR P2.package_type_name IS NULL + OR P2.package_name IS NULL + OR P2.series_name IS NULL + OR P2.product_type IS NULL + OR P2.product_sku_type IS NULL + OR P2.product_name IS NULL + OR P2.skus IS NULL + OR P2.list_price IS NULL + OR P2.count IS NULL + OR P2.rp_total_price IS NULL + OR P2.end_date IS NULL + OR P2.tsm_names_by_alias IS NULL + OR P2.alias IS NULL + OR P2.remark IS NULL + OR P2.record_id IS NULL + +; +/*将新增数据插入到目标表 */ +;INSERT INTO :PDMDB.t01_partner_report ( + report_num /*报备编号*/ + ,dealer_name /*合作伙伴*/ + ,region_name /*大区*/ + ,apply_admin_name /*申请人*/ + ,apply_phone /*申请人电话*/ + ,apply_email /*申请人邮箱*/ + ,apply_date /*申请时间*/ + ,check_admin_name /*审核销售经理*/ + ,check_status_str /*审核状态*/ + ,check_date /*审核时间*/ + ,customer_name /*客户名称*/ + ,way /*采购方式及渠道*/ + ,trader_name /*贸易商名称*/ + ,trader_contact_name /*贸易商联系人*/ + ,trader_contact_phone /*贸易商联系人电话*/ + ,province /*省份*/ + ,city /*城市*/ + ,district /*区域*/ + ,address /*用户详细地址*/ + ,integrated_sales /*系统集成销售*/ + ,department /*使用部门*/ + ,department_attr /*使用部门属性*/ + ,industry /*行业*/ + ,sub_industry /*子行业*/ + ,contact_name /*联系人姓名*/ + ,contact_phone /*联系人电话*/ + ,funding_situation /*资金情况*/ + ,apply_situation /*项目批准情况*/ + ,complete_date /*预计结单时间*/ + ,feature /*主要特点*/ + ,advantage /*优于竞争对手的地方*/ + ,benefit /*我们方案的好处*/ + ,progress /*进展阶段*/ + ,lost_reason_type /*丢单原因类型*/ + ,lost_reason /*丢单原因*/ + ,update_date /*结单/丢单时间*/ + ,source /*信息来源*/ + ,leads_num /*leads编号*/ + ,delay /*报备需要延期90天*/ + ,delay_reason /*延期原因*/ + ,other_remark /*审核备注*/ + ,total_price /*报备总价*/ + ,package_type_name /*打包方案类型*/ + ,package_name /*打包方案名称*/ + ,series_name /*产品系列/方案类型*/ + ,product_type /*产品类型*/ + ,product_sku_type /*型号类型*/ + ,product_name /*产品/方案名称*/ + ,skus /*方案中选择产品*/ + ,list_price /*单价*/ + ,count /*数量*/ + ,rp_total_price /*折扣后总价*/ + ,end_date /*最后修改时间*/ + ,tsm_names_by_alias /*TsmNamesByAlias*/ + ,alias /**/ + ,remark /**/ + ,record_id /*主键ID*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) +SELECT + P1.report_num /*报备编号*/ + ,P1.dealer_name /*合作伙伴*/ + ,P1.region_name /*大区*/ + ,P1.apply_admin_name /*申请人*/ + ,P1.apply_phone /*申请人电话*/ + ,P1.apply_email /*申请人邮箱*/ + ,P1.apply_date /*申请时间*/ + ,P1.check_admin_name /*审核销售经理*/ + ,P1.check_status_str /*审核状态*/ + ,P1.check_date /*审核时间*/ + ,P1.customer_name /*客户名称*/ + ,P1.way /*采购方式及渠道*/ + ,P1.trader_name /*贸易商名称*/ + ,P1.trader_contact_name /*贸易商联系人*/ + ,P1.trader_contact_phone /*贸易商联系人电话*/ + ,P1.province /*省份*/ + ,P1.city /*城市*/ + ,P1.district /*区域*/ + ,P1.address /*用户详细地址*/ + ,P1.integrated_sales /*系统集成销售*/ + ,P1.department /*使用部门*/ + ,P1.department_attr /*使用部门属性*/ + ,P1.industry /*行业*/ + ,P1.sub_industry /*子行业*/ + ,P1.contact_name /*联系人姓名*/ + ,P1.contact_phone /*联系人电话*/ + ,P1.funding_situation /*资金情况*/ + ,P1.apply_situation /*项目批准情况*/ + ,P1.complete_date /*预计结单时间*/ + ,P1.feature /*主要特点*/ + ,P1.advantage /*优于竞争对手的地方*/ + ,P1.benefit /*我们方案的好处*/ + ,P1.progress /*进展阶段*/ + ,P1.lost_reason_type /*丢单原因类型*/ + ,P1.lost_reason /*丢单原因*/ + ,P1.update_date /*结单/丢单时间*/ + ,P1.source /*信息来源*/ + ,P1.leads_num /*leads编号*/ + ,P1.delay /*报备需要延期90天*/ + ,P1.delay_reason /*延期原因*/ + ,P1.other_remark /*审核备注*/ + ,P1.total_price /*报备总价*/ + ,P1.package_type_name /*打包方案类型*/ + ,P1.package_name /*打包方案名称*/ + ,P1.series_name /*产品系列/方案类型*/ + ,P1.product_type /*产品类型*/ + ,P1.product_sku_type /*型号类型*/ + ,P1.product_name /*产品/方案名称*/ + ,P1.skus /*方案中选择产品*/ + ,P1.list_price /*单价*/ + ,P1.count /*数量*/ + ,P1.rp_total_price /*折扣后总价*/ + ,P1.end_date /*最后修改时间*/ + ,P1.tsm_names_by_alias /*TsmNamesByAlias*/ + ,P1.alias /**/ + ,P1.remark /**/ + ,P1.record_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_partner_report_agi_INS P1 +ON CONFLICT ( record_id) +DO UPDATE SET + record_id=excluded.record_id + ,report_num=excluded.report_num + ,dealer_name=excluded.dealer_name + ,region_name=excluded.region_name + ,apply_admin_name=excluded.apply_admin_name + ,apply_phone=excluded.apply_phone + ,apply_email=excluded.apply_email + ,apply_date=excluded.apply_date + ,check_admin_name=excluded.check_admin_name + ,check_status_str=excluded.check_status_str + ,check_date=excluded.check_date + ,customer_name=excluded.customer_name + ,way=excluded.way + ,trader_name=excluded.trader_name + ,trader_contact_name=excluded.trader_contact_name + ,trader_contact_phone=excluded.trader_contact_phone + ,province=excluded.province + ,city=excluded.city + ,district=excluded.district + ,address=excluded.address + ,integrated_sales=excluded.integrated_sales + ,department=excluded.department + ,department_attr=excluded.department_attr + ,industry=excluded.industry + ,sub_industry=excluded.sub_industry + ,contact_name=excluded.contact_name + ,contact_phone=excluded.contact_phone + ,funding_situation=excluded.funding_situation + ,apply_situation=excluded.apply_situation + ,complete_date=excluded.complete_date + ,feature=excluded.feature + ,advantage=excluded.advantage + ,benefit=excluded.benefit + ,progress=excluded.progress + ,lost_reason_type=excluded.lost_reason_type + ,lost_reason=excluded.lost_reason + ,update_date=excluded.update_date + ,source=excluded.source + ,leads_num=excluded.leads_num + ,delay=excluded.delay + ,delay_reason=excluded.delay_reason + ,other_remark=excluded.other_remark + ,total_price=excluded.total_price + ,package_type_name=excluded.package_type_name + ,package_name=excluded.package_name + ,series_name=excluded.series_name + ,product_type=excluded.product_type + ,product_sku_type=excluded.product_sku_type + ,product_name=excluded.product_name + ,skus=excluded.skus + ,list_price=excluded.list_price + ,count=excluded.count + ,rp_total_price=excluded.rp_total_price + ,end_date=excluded.end_date + ,tsm_names_by_alias=excluded.tsm_names_by_alias + ,alias=excluded.alias + ,remark=excluded.remark + ,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/dev/workflow/TK_Cust/partner1site/partner1site/wf_dag_partner1site.py b/dev/workflow/TK_Cust/partner1site/partner1site/wf_dag_partner1site.py index b9b68ef..46a7849 100644 --- a/dev/workflow/TK_Cust/partner1site/partner1site/wf_dag_partner1site.py +++ b/dev/workflow/TK_Cust/partner1site/partner1site/wf_dag_partner1site.py @@ -150,8 +150,44 @@ depends_on_past=False, retries=3, dag=dag) +t01_partner_pos = SSHOperator( +ssh_hook=sshHook, +task_id='t01_partner_pos', +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_partner_pos_agi"}, +depends_on_past=False, +retries=3, +dag=dag) +t01_partner_customer_and_contact = SSHOperator( +ssh_hook=sshHook, +task_id='t01_partner_customer_and_contact', +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_partner_customer_and_contact_agi"}, +depends_on_past=False, +retries=3, +dag=dag) +t01_partner_report = SSHOperator( +ssh_hook=sshHook, +task_id='t01_partner_report', +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_partner_report_agi"}, +depends_on_past=False, +retries=3, +dag=dag) +t01_partner_visit = SSHOperator( +ssh_hook=sshHook, +task_id='t01_partner_visit', +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_partner_visit_agi"}, +depends_on_past=False, +retries=3, +dag=dag) part_summary_visit_load >> partner_summary_visit_9060 part_summary_report_load >> partner_summary_report_6257 part_summary_pos_load >> partner_summary_pos_4937 part_summary_custome_load >> partner_summary_customer_5702 -partner_summary_customer_5702 >> task_failed +partner_summary_pos_4937 >> t01_partner_pos +partner_summary_report_6257 >> t01_partner_report +partner_summary_visit_9060 >> t01_partner_visit +partner_summary_customer_5702 >> t01_partner_customer_and_contact +t01_partner_customer_and_contact >> task_failed