diff --git a/dev/workflow/TK_Cust/jdy_account_vist_syncs/jdy_contact/S98_S_jdy_contact.sql b/dev/workflow/TK_Cust/jdy_account_vist_syncs/jdy_contact/S98_S_jdy_contact.sql index 70e821d..d7f1e9d 100644 --- a/dev/workflow/TK_Cust/jdy_account_vist_syncs/jdy_contact/S98_S_jdy_contact.sql +++ b/dev/workflow/TK_Cust/jdy_account_vist_syncs/jdy_contact/S98_S_jdy_contact.sql @@ -53,7 +53,7 @@ insert into p10_sa.S98_S_jdy_contact , updater , etl_tx_dt from p00_tal.S98_S_jdy_contact - ; + ; delete from p12_sfull.S98_S_jdy_contact ; ; diff --git a/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云AE排期表/t01_s_jdy_ae_plan.sql b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云AE排期表/t01_s_jdy_ae_plan.sql new file mode 100644 index 0000000..3a47d0c --- /dev/null +++ b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云AE排期表/t01_s_jdy_ae_plan.sql @@ -0,0 +1,46 @@ + +DROP TABLE IF EXISTS p20_pdm.t01_s_jdy_ae_plan; +CREATE TABLE IF NOT EXISTS p20_pdm.t01_s_jdy_ae_plan ( + id varchar(50) + , ae_id varchar(50) + , task_follow_up_time timestamp(0) + , ae_status varchar(20) + , creator_id varchar(50) + , create_time timestamp(0) + , updater_id varchar(50) + , update_time timestamp(0) + , deleter_id varchar(50) + , delete_time timestamp(0) + , app_id varchar(50) + , entry_id varchar(50) + , 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_s_jdy_ae_plan.id IS '主键ID'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_ae_plan.ae_id IS 'AE ID'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_ae_plan.task_follow_up_time IS 'Task Followup Date/Time'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_ae_plan.ae_status IS '排期状态'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_ae_plan.creator_id IS '创建人ID'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_ae_plan.create_time IS '创建时间'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_ae_plan.updater_id IS '更新人ID'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_ae_plan.update_time IS '更新时间'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_ae_plan.deleter_id IS '删除人ID'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_ae_plan.delete_time IS '删除时间'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_ae_plan.app_id IS ''; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_ae_plan.entry_id IS ''; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_ae_plan.Etl_Batch_No IS '作业批次号'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_ae_plan.Etl_First_Dt IS '最初入库时间'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_ae_plan.Etl_Job IS '作业名称'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_ae_plan.Etl_Proc_Dt IS '本次入库时间'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_ae_plan.Etl_Tx_Dt IS '作业运行时间'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_ae_plan.Src_Sysname IS '来源系统'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_ae_plan.Src_Table IS '来源表'; + +COMMENT ON TABLE p20_pdm.t01_s_jdy_ae_plan IS '简道云AE排期表'; \ No newline at end of file diff --git a/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云AE排期表/t01_s_jdy_ae_plan_agi.sql b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云AE排期表/t01_s_jdy_ae_plan_agi.sql new file mode 100644 index 0000000..53f368c --- /dev/null +++ b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云AE排期表/t01_s_jdy_ae_plan_agi.sql @@ -0,0 +1,235 @@ +/***************************************************************************************************/ +/*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_s_jdy_ae_plan(简道云AE排期表) */ +/*Create Date:2025-09-26 14:52:37 */ +/*SDM Developed By: dev */ +/*SDM Developed Date: 2025-09-26 */ +/*SDM Checked By: dev */ +/*SDM Checked Date: 2025-09-26 */ +/*Script Developed By: dev */ +/*Script Checked By: dev */ +/*Source table 1: p10_sa.s98_s_jdy_ae_plan */ +/*Job Type: Inbound transform (Tier 1 to Tier 2) */ +/*Target Table:t01_s_jdy_ae_plan */ +/*ETL Job Name:t01_s_jdy_ae_plan */ +/*ETL Frequency:None */ +/*ETL Policy:F2 */ +/********************************************************************************************/ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on + + + +/*创建临时表加载当前数据 */ +CREATE TEMPORARY TABLE t01_s_jdy_ae_plan_agi_CUR_I + ( LIKE :PDMDB.t01_s_jdy_ae_plan) +ON COMMIT PRESERVE ROWS; + + + +/*创建临时表加载不同数据 */ +CREATE TEMPORARY TABLE t01_s_jdy_ae_plan_agi_INS +( LIKE :PDMDB.t01_s_jdy_ae_plan) +ON COMMIT PRESERVE ROWS; + + +/*****************************************************************************************************/ +/* GROUP 1:Source Table:s98_s_jdy_ae_plan*************************************************************/ +/*****************************************************************************************************/ +INSERT INTO t01_s_jdy_ae_plan_agi_CUR_I ( + id /*主键ID*/ + ,ae_id /*AE ID*/ + ,task_follow_up_time /*Task Followup Date/Time*/ + ,ae_status /*排期状态*/ + ,creator_id /*创建人ID*/ + ,create_time /*创建时间*/ + ,updater_id /*更新人ID*/ + ,update_time /*更新时间*/ + ,deleter_id /*删除人ID*/ + ,delete_time /*删除时间*/ + ,app_id /**/ + ,entry_id /**/ + ,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(50))),'') /*id*/ + ,p0.ae::json ->> 'username' /*ae_id*/ + ,(p0.task_flowup_time::timestamptz AT TIME ZONE '+08')::timestamp(0) /*task_follow_up_time*/ + ,COALESCE(TRIM(CAST(p0.status AS varchar(20))),'') /*ae_status*/ + ,p0.creator::json ->> 'username' /*creator_id*/ + ,(p0.create_time::timestamptz AT TIME ZONE '+08')::timestamp(0) /*create_time*/ + ,p0.updater::json ->> 'username' /*updater_id*/ + ,(p0.update_time::timestamptz AT TIME ZONE '+08')::timestamp(0) /*update_time*/ + ,p0.deleter::json ->> 'username' /*deleter_id*/ + ,(p0.delete_time::timestamptz AT TIME ZONE '+08')::timestamp(0) /*delete_time*/ + ,COALESCE(TRIM(CAST(p0.app_id AS varchar(50))),'') /*app_id*/ + ,COALESCE(TRIM(CAST(p0.entry_id AS varchar(50))),'') /*entry_id*/ + ,0 /*Etl_Batch_No*/ + ,TO_DATE(:TXDATE,'YYYYMMDD') /*Etl_First_Dt*/ + ,:ETLJOB /*Etl_Job*/ + ,current_timestamp(0) /*Etl_Proc_Dt*/ + ,TO_DATE(:TXDATE,'YYYYMMDD') /*Etl_Tx_Dt*/ + ,Substr('s98_s_jdy_ae_plan',1,3) /*Src_Sysname*/ + ,'s98_s_jdy_ae_plan' /*Src_Table*/ + +FROM p10_sa.s98_s_jdy_ae_plan p0 +; + + + +/*将不同数据插入到临时表 */ +;INSERT INTO t01_s_jdy_ae_plan_agi_INS ( + ae_id /*AE ID*/ + ,task_follow_up_time /*Task Followup Date/Time*/ + ,ae_status /*排期状态*/ + ,creator_id /*创建人ID*/ + ,create_time /*创建时间*/ + ,updater_id /*更新人ID*/ + ,update_time /*更新时间*/ + ,deleter_id /*删除人ID*/ + ,delete_time /*删除时间*/ + ,app_id /**/ + ,entry_id /**/ + ,id /*主键ID*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) + SELECT + P1.ae_id /*AE ID*/ + ,P1.task_follow_up_time /*Task Followup Date/Time*/ + ,P1.ae_status /*排期状态*/ + ,P1.creator_id /*创建人ID*/ + ,P1.create_time /*创建时间*/ + ,P1.updater_id /*更新人ID*/ + ,P1.update_time /*更新时间*/ + ,P1.deleter_id /*删除人ID*/ + ,P1.delete_time /*删除时间*/ + ,P1.app_id /**/ + ,P1.entry_id /**/ + ,P1.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_s_jdy_ae_plan_agi_CUR_I P1 +LEFT JOIN :PDMDB.t01_s_jdy_ae_plan P2 +ON P1.ae_id = P2.ae_id + AND P1.task_follow_up_time = P2.task_follow_up_time + AND P1.ae_status = P2.ae_status + AND P1.creator_id = P2.creator_id + AND P1.create_time = P2.create_time + AND P1.updater_id = P2.updater_id + AND P1.update_time = P2.update_time + AND P1.deleter_id = P2.deleter_id + AND P1.delete_time = P2.delete_time + AND P1.app_id = P2.app_id + AND P1.entry_id = P2.entry_id + AND P1.id = P2.id + +WHERE P2.ae_id IS NULL + OR P2.task_follow_up_time IS NULL + OR P2.ae_status IS NULL + OR P2.creator_id IS NULL + OR P2.create_time IS NULL + OR P2.updater_id IS NULL + OR P2.update_time IS NULL + OR P2.deleter_id IS NULL + OR P2.delete_time IS NULL + OR P2.app_id IS NULL + OR P2.entry_id IS NULL + OR P2.id IS NULL + +; +/*将新增数据插入到目标表 */ +;INSERT INTO :PDMDB.t01_s_jdy_ae_plan ( + ae_id /*AE ID*/ + ,task_follow_up_time /*Task Followup Date/Time*/ + ,ae_status /*排期状态*/ + ,creator_id /*创建人ID*/ + ,create_time /*创建时间*/ + ,updater_id /*更新人ID*/ + ,update_time /*更新时间*/ + ,deleter_id /*删除人ID*/ + ,delete_time /*删除时间*/ + ,app_id /**/ + ,entry_id /**/ + ,id /*主键ID*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) +SELECT + P1.ae_id /*AE ID*/ + ,P1.task_follow_up_time /*Task Followup Date/Time*/ + ,P1.ae_status /*排期状态*/ + ,P1.creator_id /*创建人ID*/ + ,P1.create_time /*创建时间*/ + ,P1.updater_id /*更新人ID*/ + ,P1.update_time /*更新时间*/ + ,P1.deleter_id /*删除人ID*/ + ,P1.delete_time /*删除时间*/ + ,P1.app_id /**/ + ,P1.entry_id /**/ + ,P1.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_s_jdy_ae_plan_agi_INS P1 +ON CONFLICT ( id) +DO UPDATE SET + id=excluded.id + ,ae_id=excluded.ae_id + ,task_follow_up_time=excluded.task_follow_up_time + ,ae_status=excluded.ae_status + ,creator_id=excluded.creator_id + ,create_time=excluded.create_time + ,updater_id=excluded.updater_id + ,update_time=excluded.update_time + ,deleter_id=excluded.deleter_id + ,delete_time=excluded.delete_time + ,app_id=excluded.app_id + ,entry_id=excluded.entry_id + ,Etl_Batch_No=excluded.Etl_Batch_No + ,Etl_First_Dt=excluded.Etl_First_Dt + ,Etl_Job=excluded.Etl_Job + ,Etl_Proc_Dt=excluded.Etl_Proc_Dt + ,Etl_Tx_Dt=excluded.Etl_Tx_Dt + ,Src_Sysname=excluded.Src_Sysname + ,Src_Table=excluded.Src_Table + + +; +/*****程序结束退出 */ +\q + diff --git a/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云Account/t01_jdy_account.sql b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云Account/t01_jdy_account.sql new file mode 100644 index 0000000..d8554d9 --- /dev/null +++ b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云Account/t01_jdy_account.sql @@ -0,0 +1,88 @@ + +DROP TABLE IF EXISTS p20_pdm.t01_jdy_account; +CREATE TABLE IF NOT EXISTS p20_pdm.t01_jdy_account ( + id varchar(100) + , import_id varchar(50) + , account_id varchar(100) + , oracle_number varchar(200) + , account_nick_name varchar(200) + , account_name varchar(200) + , search_result text + , city varchar(50) + , code varchar(20) + , legal_name varchar(500) + , depart varchar(100) + , channel varchar(200) + , status varchar(20) + , address text + , post_address text + , sale_id varchar(100) + , parent_company varchar(100) + , industry varchar(200) + , sub_industry varchar(200) + , custom_class varchar(100) + , custom_type varchar(100) + , create_by varchar(100) + , create_tm timestamp(0) + , addition_tm timestamp(0) + , wx_open_id varchar(100) + , create_id varchar(100) + , create_time timestamp(0) + , updater varchar(100) + , update_time timestamp(0) + , deleter varchar(100) + , delete_time timestamp(0) + , app_id varchar(100) + , entry_id 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_jdy_account.id IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.import_id IS '导入ID'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.account_id IS '公司ID'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.oracle_number IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.account_nick_name IS '公司简称'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.account_name IS '公司名称'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.search_result IS '模糊查询结果'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.city IS '城市'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.code IS '邮编'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.legal_name IS '公司英文名称(legal name)'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.depart IS '部门学院'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.channel IS '渠道来源'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.status IS '状态(添加时不显示,仅管理员可编辑'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.address IS '公司地址'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.post_address IS '详细寄件地址'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.sale_id IS '所属销售'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.parent_company IS '上级公司'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.industry IS '行业'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.sub_industry IS '子行业'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.custom_class IS '客户分类'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.custom_type IS '客户类型'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.create_by IS '创建人'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.create_tm IS '创建时间'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.addition_tm IS 'F-辅助时间'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.wx_open_id IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.create_id IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.create_time IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.updater IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.update_time IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.deleter IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.delete_time IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.app_id IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.entry_id IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.Etl_Batch_No IS '作业批次号'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.Etl_First_Dt IS '最初入库时间'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.Etl_Job IS '作业名称'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.Etl_Proc_Dt IS '本次入库时间'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.Etl_Tx_Dt IS '作业运行时间'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.Src_Sysname IS '来源系统'; + COMMENT ON COLUMN p20_pdm.t01_jdy_account.Src_Table IS '来源表'; + +COMMENT ON TABLE p20_pdm.t01_jdy_account IS '简道云Account'; \ No newline at end of file diff --git a/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云Account/t01_jdy_account_agi.sql b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云Account/t01_jdy_account_agi.sql new file mode 100644 index 0000000..d0d8e5d --- /dev/null +++ b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云Account/t01_jdy_account_agi.sql @@ -0,0 +1,424 @@ +/***************************************************************************************************/ +/*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_jdy_account(简道云Account) */ +/*Create Date:2025-09-26 14:59:56 */ +/*SDM Developed By: dev */ +/*SDM Developed Date: 2025-09-26 */ +/*SDM Checked By: dev */ +/*SDM Checked Date: 2025-09-26 */ +/*Script Developed By: dev */ +/*Script Checked By: dev */ +/*Source table 1: p10_sa.s98_s_jdy_account */ +/*Job Type: Inbound transform (Tier 1 to Tier 2) */ +/*Target Table:t01_jdy_account */ +/*ETL Job Name:t01_jdy_account */ +/*ETL Frequency:None */ +/*ETL Policy:F2 */ +/********************************************************************************************/ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on + + + +/*创建临时表加载当前数据 */ +CREATE TEMPORARY TABLE t01_jdy_account_agi_CUR_I + ( LIKE :PDMDB.t01_jdy_account) +ON COMMIT PRESERVE ROWS; + + + +/*创建临时表加载不同数据 */ +CREATE TEMPORARY TABLE t01_jdy_account_agi_INS +( LIKE :PDMDB.t01_jdy_account) +ON COMMIT PRESERVE ROWS; + + +/*****************************************************************************************************/ +/* GROUP 1:Source Table:s98_s_jdy_account*************************************************************/ +/*****************************************************************************************************/ +INSERT INTO t01_jdy_account_agi_CUR_I ( + id /**/ + ,import_id /*导入ID*/ + ,account_id /*公司ID*/ + ,oracle_number /**/ + ,account_nick_name /*公司简称*/ + ,account_name /*公司名称*/ + ,search_result /*模糊查询结果*/ + ,city /*城市*/ + ,code /*邮编*/ + ,legal_name /*公司英文名称(legal name)*/ + ,depart /*部门学院*/ + ,channel /*渠道来源*/ + ,status /*状态(添加时不显示,仅管理员可编辑*/ + ,address /*公司地址*/ + ,post_address /*详细寄件地址*/ + ,sale_id /*所属销售*/ + ,parent_company /*上级公司*/ + ,industry /*行业*/ + ,sub_industry /*子行业*/ + ,custom_class /*客户分类*/ + ,custom_type /*客户类型*/ + ,create_by /*创建人*/ + ,create_tm /*创建时间*/ + ,addition_tm /*F-辅助时间*/ + ,wx_open_id /**/ + ,create_id /**/ + ,create_time /**/ + ,updater /**/ + ,update_time /**/ + ,deleter /**/ + ,delete_time /**/ + ,app_id /**/ + ,entry_id /**/ + ,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.import_id AS varchar(50))),'') /*import_id*/ + ,COALESCE(TRIM(CAST(p0.account_id AS varchar(100))),'') /*account_id*/ + ,COALESCE(TRIM(CAST(p0.oracle_number AS varchar(200))),'') /*oracle_number*/ + ,COALESCE(TRIM(CAST(p0.account_nick_name AS varchar(200))),'') /*account_nick_name*/ + ,COALESCE(TRIM(CAST(p0.account_name AS varchar(200))),'') /*account_name*/ + ,COALESCE(TRIM(p0.search_result),'') /*search_result*/ + ,COALESCE(TRIM(CAST(p0.city AS varchar(50))),'') /*city*/ + ,COALESCE(TRIM(CAST(p0.code AS varchar(20))),'') /*code*/ + ,COALESCE(TRIM(CAST(p0.legal_name AS varchar(500))),'') /*legal_name*/ + ,COALESCE(TRIM(CAST(p0.depart AS varchar(100))),'') /*depart*/ + ,COALESCE(TRIM(CAST(p0.channel AS varchar(200))),'') /*channel*/ + ,COALESCE(TRIM(CAST(p0.status AS varchar(20))),'') /*status*/ + ,COALESCE(TRIM(p0.address),'') /*address*/ + ,COALESCE(TRIM(p0.post_address),'') /*post_address*/ + ,p0.sale_id::json ->> 'username' /*sale_id*/ + ,COALESCE(TRIM(CAST(p0.parent_company AS varchar(100))),'') /*parent_company*/ + ,COALESCE(TRIM(CAST(p0.industry AS varchar(200))),'') /*industry*/ + ,COALESCE(TRIM(CAST(p0.sub_industry AS varchar(200))),'') /*sub_industry*/ + ,COALESCE(TRIM(CAST(p0.custom_class AS varchar(100))),'') /*custom_class*/ + ,COALESCE(TRIM(CAST(p0.custom_type AS varchar(100))),'') /*custom_type*/ + ,p0.create_by::json ->> 'username' /*create_by*/ + ,(p0.create_tm::timestamptz AT TIME ZONE '+08')::timestamp(0) /*create_tm*/ + ,(p0.addition_tm::timestamptz AT TIME ZONE '+08')::timestamp(0) /*addition_tm*/ + ,COALESCE(TRIM(CAST(p0.wx_open_id AS varchar(100))),'') /*wx_open_id*/ + ,p0.creator::json ->> 'username' /*create_id*/ + ,(p0.create_time::timestamptz AT TIME ZONE '+08')::timestamp(0) /*create_time*/ + ,p0.updater::json ->> 'username' /*updater*/ + ,(p0.update_time::timestamptz AT TIME ZONE '+08')::timestamp(0) /*update_time*/ + ,p0.deleter::json ->> 'username' /*deleter*/ + ,(p0.delete_time::timestamptz AT TIME ZONE '+08')::timestamp(0) /*delete_time*/ + ,COALESCE(TRIM(CAST(p0.app_id AS varchar(100))),'') /*app_id*/ + ,COALESCE(TRIM(CAST(p0.entry_id AS varchar(100))),'') /*entry_id*/ + ,0 /*Etl_Batch_No*/ + ,TO_DATE(:TXDATE,'YYYYMMDD') /*Etl_First_Dt*/ + ,:ETLJOB /*Etl_Job*/ + ,current_timestamp(0) /*Etl_Proc_Dt*/ + ,TO_DATE(:TXDATE,'YYYYMMDD') /*Etl_Tx_Dt*/ + ,Substr('s98_s_jdy_account',1,3) /*Src_Sysname*/ + ,'s98_s_jdy_account' /*Src_Table*/ + +FROM p10_sa.s98_s_jdy_account p0 +; + + + +/*将不同数据插入到临时表 */ +;INSERT INTO t01_jdy_account_agi_INS ( + import_id /*导入ID*/ + ,account_id /*公司ID*/ + ,oracle_number /**/ + ,account_nick_name /*公司简称*/ + ,account_name /*公司名称*/ + ,search_result /*模糊查询结果*/ + ,city /*城市*/ + ,code /*邮编*/ + ,legal_name /*公司英文名称(legal name)*/ + ,depart /*部门学院*/ + ,channel /*渠道来源*/ + ,status /*状态(添加时不显示,仅管理员可编辑*/ + ,address /*公司地址*/ + ,post_address /*详细寄件地址*/ + ,sale_id /*所属销售*/ + ,parent_company /*上级公司*/ + ,industry /*行业*/ + ,sub_industry /*子行业*/ + ,custom_class /*客户分类*/ + ,custom_type /*客户类型*/ + ,create_by /*创建人*/ + ,create_tm /*创建时间*/ + ,addition_tm /*F-辅助时间*/ + ,wx_open_id /**/ + ,create_id /**/ + ,create_time /**/ + ,updater /**/ + ,update_time /**/ + ,deleter /**/ + ,delete_time /**/ + ,app_id /**/ + ,entry_id /**/ + ,id /**/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) + SELECT + P1.import_id /*导入ID*/ + ,P1.account_id /*公司ID*/ + ,P1.oracle_number /**/ + ,P1.account_nick_name /*公司简称*/ + ,P1.account_name /*公司名称*/ + ,P1.search_result /*模糊查询结果*/ + ,P1.city /*城市*/ + ,P1.code /*邮编*/ + ,P1.legal_name /*公司英文名称(legal name)*/ + ,P1.depart /*部门学院*/ + ,P1.channel /*渠道来源*/ + ,P1.status /*状态(添加时不显示,仅管理员可编辑*/ + ,P1.address /*公司地址*/ + ,P1.post_address /*详细寄件地址*/ + ,P1.sale_id /*所属销售*/ + ,P1.parent_company /*上级公司*/ + ,P1.industry /*行业*/ + ,P1.sub_industry /*子行业*/ + ,P1.custom_class /*客户分类*/ + ,P1.custom_type /*客户类型*/ + ,P1.create_by /*创建人*/ + ,P1.create_tm /*创建时间*/ + ,P1.addition_tm /*F-辅助时间*/ + ,P1.wx_open_id /**/ + ,P1.create_id /**/ + ,P1.create_time /**/ + ,P1.updater /**/ + ,P1.update_time /**/ + ,P1.deleter /**/ + ,P1.delete_time /**/ + ,P1.app_id /**/ + ,P1.entry_id /**/ + ,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_jdy_account_agi_CUR_I P1 +LEFT JOIN :PDMDB.t01_jdy_account P2 +ON P1.import_id = P2.import_id + AND P1.account_id = P2.account_id + AND P1.oracle_number = P2.oracle_number + AND P1.account_nick_name = P2.account_nick_name + AND P1.account_name = P2.account_name + AND P1.search_result = P2.search_result + AND P1.city = P2.city + AND P1.code = P2.code + AND P1.legal_name = P2.legal_name + AND P1.depart = P2.depart + AND P1.channel = P2.channel + AND P1.status = P2.status + AND P1.address = P2.address + AND P1.post_address = P2.post_address + AND P1.sale_id = P2.sale_id + AND P1.parent_company = P2.parent_company + AND P1.industry = P2.industry + AND P1.sub_industry = P2.sub_industry + AND P1.custom_class = P2.custom_class + AND P1.custom_type = P2.custom_type + AND P1.create_by = P2.create_by + AND P1.create_tm = P2.create_tm + AND P1.addition_tm = P2.addition_tm + AND P1.wx_open_id = P2.wx_open_id + AND P1.create_id = P2.create_id + AND P1.create_time = P2.create_time + AND P1.updater = P2.updater + AND P1.update_time = P2.update_time + AND P1.deleter = P2.deleter + AND P1.delete_time = P2.delete_time + AND P1.app_id = P2.app_id + AND P1.entry_id = P2.entry_id + AND P1.id = P2.id + +WHERE P2.import_id IS NULL + OR P2.account_id IS NULL + OR P2.oracle_number IS NULL + OR P2.account_nick_name IS NULL + OR P2.account_name IS NULL + OR P2.search_result IS NULL + OR P2.city IS NULL + OR P2.code IS NULL + OR P2.legal_name IS NULL + OR P2.depart IS NULL + OR P2.channel IS NULL + OR P2.status IS NULL + OR P2.address IS NULL + OR P2.post_address IS NULL + OR P2.sale_id IS NULL + OR P2.parent_company IS NULL + OR P2.industry IS NULL + OR P2.sub_industry IS NULL + OR P2.custom_class IS NULL + OR P2.custom_type IS NULL + OR P2.create_by IS NULL + OR P2.create_tm IS NULL + OR P2.addition_tm IS NULL + OR P2.wx_open_id IS NULL + OR P2.create_id IS NULL + OR P2.create_time IS NULL + OR P2.updater IS NULL + OR P2.update_time IS NULL + OR P2.deleter IS NULL + OR P2.delete_time IS NULL + OR P2.app_id IS NULL + OR P2.entry_id IS NULL + OR P2.id IS NULL + +; +/*将新增数据插入到目标表 */ +;INSERT INTO :PDMDB.t01_jdy_account ( + import_id /*导入ID*/ + ,account_id /*公司ID*/ + ,oracle_number /**/ + ,account_nick_name /*公司简称*/ + ,account_name /*公司名称*/ + ,search_result /*模糊查询结果*/ + ,city /*城市*/ + ,code /*邮编*/ + ,legal_name /*公司英文名称(legal name)*/ + ,depart /*部门学院*/ + ,channel /*渠道来源*/ + ,status /*状态(添加时不显示,仅管理员可编辑*/ + ,address /*公司地址*/ + ,post_address /*详细寄件地址*/ + ,sale_id /*所属销售*/ + ,parent_company /*上级公司*/ + ,industry /*行业*/ + ,sub_industry /*子行业*/ + ,custom_class /*客户分类*/ + ,custom_type /*客户类型*/ + ,create_by /*创建人*/ + ,create_tm /*创建时间*/ + ,addition_tm /*F-辅助时间*/ + ,wx_open_id /**/ + ,create_id /**/ + ,create_time /**/ + ,updater /**/ + ,update_time /**/ + ,deleter /**/ + ,delete_time /**/ + ,app_id /**/ + ,entry_id /**/ + ,id /**/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) +SELECT + P1.import_id /*导入ID*/ + ,P1.account_id /*公司ID*/ + ,P1.oracle_number /**/ + ,P1.account_nick_name /*公司简称*/ + ,P1.account_name /*公司名称*/ + ,P1.search_result /*模糊查询结果*/ + ,P1.city /*城市*/ + ,P1.code /*邮编*/ + ,P1.legal_name /*公司英文名称(legal name)*/ + ,P1.depart /*部门学院*/ + ,P1.channel /*渠道来源*/ + ,P1.status /*状态(添加时不显示,仅管理员可编辑*/ + ,P1.address /*公司地址*/ + ,P1.post_address /*详细寄件地址*/ + ,P1.sale_id /*所属销售*/ + ,P1.parent_company /*上级公司*/ + ,P1.industry /*行业*/ + ,P1.sub_industry /*子行业*/ + ,P1.custom_class /*客户分类*/ + ,P1.custom_type /*客户类型*/ + ,P1.create_by /*创建人*/ + ,P1.create_tm /*创建时间*/ + ,P1.addition_tm /*F-辅助时间*/ + ,P1.wx_open_id /**/ + ,P1.create_id /**/ + ,P1.create_time /**/ + ,P1.updater /**/ + ,P1.update_time /**/ + ,P1.deleter /**/ + ,P1.delete_time /**/ + ,P1.app_id /**/ + ,P1.entry_id /**/ + ,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_jdy_account_agi_INS P1 +ON CONFLICT ( id) +DO UPDATE SET + id=excluded.id + ,import_id=excluded.import_id + ,account_id=excluded.account_id + ,oracle_number=excluded.oracle_number + ,account_nick_name=excluded.account_nick_name + ,account_name=excluded.account_name + ,search_result=excluded.search_result + ,city=excluded.city + ,code=excluded.code + ,legal_name=excluded.legal_name + ,depart=excluded.depart + ,channel=excluded.channel + ,status=excluded.status + ,address=excluded.address + ,post_address=excluded.post_address + ,sale_id=excluded.sale_id + ,parent_company=excluded.parent_company + ,industry=excluded.industry + ,sub_industry=excluded.sub_industry + ,custom_class=excluded.custom_class + ,custom_type=excluded.custom_type + ,create_by=excluded.create_by + ,create_tm=excluded.create_tm + ,addition_tm=excluded.addition_tm + ,wx_open_id=excluded.wx_open_id + ,create_id=excluded.create_id + ,create_time=excluded.create_time + ,updater=excluded.updater + ,update_time=excluded.update_time + ,deleter=excluded.deleter + ,delete_time=excluded.delete_time + ,app_id=excluded.app_id + ,entry_id=excluded.entry_id + ,Etl_Batch_No=excluded.Etl_Batch_No + ,Etl_First_Dt=excluded.Etl_First_Dt + ,Etl_Job=excluded.Etl_Job + ,Etl_Proc_Dt=excluded.Etl_Proc_Dt + ,Etl_Tx_Dt=excluded.Etl_Tx_Dt + ,Src_Sysname=excluded.Src_Sysname + ,Src_Table=excluded.Src_Table + + +; +/*****程序结束退出 */ +\q + diff --git a/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云Contact/t01_jdy_contact.sql b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云Contact/t01_jdy_contact.sql new file mode 100644 index 0000000..2b2c510 --- /dev/null +++ b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云Contact/t01_jdy_contact.sql @@ -0,0 +1,66 @@ + +DROP TABLE IF EXISTS p20_pdm.t01_jdy_contact; +CREATE TABLE IF NOT EXISTS p20_pdm.t01_jdy_contact ( + id varchar(100) + , account_id varchar(100) + , account_name varchar(200) + , legal_name varchar(200) + , abbreviation varchar(200) + , city_name varchar(50) + , contact_id varchar(100) + , contact_name varchar(200) + , phone varchar(50) + , wechat_id varchar(100) + , email varchar(50) + , saler_id varchar(100) + , title varchar(200) + , phone2 text + , create_id varchar(100) + , create_time timestamp(0) + , update_id varchar(100) + , update_time varchar(100) + , delete_time timestamp(0) + , delete_id varchar(100) + , app_id varchar(100) + , entry_id 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_jdy_contact.id IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.account_id IS 'account_id'; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.account_name IS 'account_name'; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.legal_name IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.abbreviation IS 'abbreviation'; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.city_name IS '城市'; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.contact_id IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.contact_name IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.phone IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.wechat_id IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.email IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.saler_id IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.title IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.phone2 IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.create_id IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.create_time IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.update_id IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.update_time IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.delete_time IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.delete_id IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.app_id IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.entry_id IS ''; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.Etl_Batch_No IS '作业批次号'; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.Etl_First_Dt IS '最初入库时间'; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.Etl_Job IS '作业名称'; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.Etl_Proc_Dt IS '本次入库时间'; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.Etl_Tx_Dt IS '作业运行时间'; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.Src_Sysname IS '来源系统'; + COMMENT ON COLUMN p20_pdm.t01_jdy_contact.Src_Table IS '来源表'; + +COMMENT ON TABLE p20_pdm.t01_jdy_contact IS '简道云Contact'; \ No newline at end of file diff --git a/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云Contact/t01_jdy_contact_agi.sql b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云Contact/t01_jdy_contact_agi.sql new file mode 100644 index 0000000..4ed6973 --- /dev/null +++ b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云Contact/t01_jdy_contact_agi.sql @@ -0,0 +1,325 @@ +/***************************************************************************************************/ +/*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_jdy_contact(简道云Contact) */ +/*Create Date:2025-09-26 15:03:38 */ +/*SDM Developed By: dev */ +/*SDM Developed Date: 2025-09-26 */ +/*SDM Checked By: dev */ +/*SDM Checked Date: 2025-09-26 */ +/*Script Developed By: dev */ +/*Script Checked By: dev */ +/*Source table 1: p10_sa.s98_s_jdy_contact */ +/*Job Type: Inbound transform (Tier 1 to Tier 2) */ +/*Target Table:t01_jdy_contact */ +/*ETL Job Name:t01_jdy_contact */ +/*ETL Frequency:None */ +/*ETL Policy:F2 */ +/********************************************************************************************/ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on + + + +/*创建临时表加载当前数据 */ +CREATE TEMPORARY TABLE t01_jdy_contact_agi_CUR_I + ( LIKE :PDMDB.t01_jdy_contact) +ON COMMIT PRESERVE ROWS; + + + +/*创建临时表加载不同数据 */ +CREATE TEMPORARY TABLE t01_jdy_contact_agi_INS +( LIKE :PDMDB.t01_jdy_contact) +ON COMMIT PRESERVE ROWS; + + +/*****************************************************************************************************/ +/* GROUP 1:Source Table:s98_s_jdy_contact*************************************************************/ +/*****************************************************************************************************/ +INSERT INTO t01_jdy_contact_agi_CUR_I ( + id /**/ + ,account_id /*account_id*/ + ,account_name /*account_name*/ + ,legal_name /**/ + ,abbreviation /*abbreviation*/ + ,city_name /*城市*/ + ,contact_id /**/ + ,contact_name /**/ + ,phone /**/ + ,wechat_id /**/ + ,email /**/ + ,saler_id /**/ + ,title /**/ + ,phone2 /**/ + ,create_id /**/ + ,create_time /**/ + ,update_id /**/ + ,update_time /**/ + ,delete_time /**/ + ,delete_id /**/ + ,app_id /**/ + ,entry_id /**/ + ,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.account_id AS varchar(100))),'') /*account_id*/ + ,COALESCE(TRIM(CAST(p0.account_name AS varchar(200))),'') /*account_name*/ + ,COALESCE(TRIM(CAST(p0.legal_name AS varchar(200))),'') /*legal_name*/ + ,COALESCE(TRIM(CAST(p0.abbreviation AS varchar(200))),'') /*abbreviation*/ + ,COALESCE(TRIM(CAST(p0.city_name AS varchar(50))),'') /*city_name*/ + ,COALESCE(TRIM(CAST(p0.contact_id AS varchar(100))),'') /*contact_id*/ + ,COALESCE(TRIM(CAST(p0.contact_name AS varchar(200))),'') /*contact_name*/ + ,COALESCE(TRIM(CAST(p0.phone AS varchar(50))),'') /*phone*/ + ,COALESCE(TRIM(CAST(p0.wechat_id AS varchar(100))),'') /*wechat_id*/ + ,COALESCE(TRIM(CAST(p0.email AS varchar(50))),'') /*email*/ + ,p0.salers::json ->> 'username' /*saler_id*/ + ,COALESCE(TRIM(CAST(p0.title AS varchar(200))),'') /*title*/ + ,COALESCE(TRIM(p0.phone2),'') /*phone2*/ + ,p0.creator::json ->> 'username' /*create_id*/ + ,(p0.create_time::timestamptz AT TIME ZONE '+08')::timestamp(0) /*create_time*/ + ,p0.updater::json ->> 'username' /*update_id*/ + ,(p0.update_time::timestamptz AT TIME ZONE '+08')::timestamp(0) /*update_time*/ + ,(p0.delete_time::timestamptz AT TIME ZONE '+08')::timestamp(0) /*delete_time*/ + ,p0.deleter::json ->> 'username' /*delete_id*/ + ,COALESCE(TRIM(CAST(p0.app_id AS varchar(100))),'') /*app_id*/ + ,COALESCE(TRIM(CAST(p0.entry_id AS varchar(100))),'') /*entry_id*/ + ,0 /*Etl_Batch_No*/ + ,TO_DATE(:TXDATE,'YYYYMMDD') /*Etl_First_Dt*/ + ,:ETLJOB /*Etl_Job*/ + ,current_timestamp(0) /*Etl_Proc_Dt*/ + ,TO_DATE(:TXDATE,'YYYYMMDD') /*Etl_Tx_Dt*/ + ,Substr('s98_s_jdy_contact',1,3) /*Src_Sysname*/ + ,'s98_s_jdy_contact' /*Src_Table*/ + +FROM p10_sa.s98_s_jdy_contact p0 +; + + + +/*将不同数据插入到临时表 */ +;INSERT INTO t01_jdy_contact_agi_INS ( + account_id /*account_id*/ + ,account_name /*account_name*/ + ,legal_name /**/ + ,abbreviation /*abbreviation*/ + ,city_name /*城市*/ + ,contact_id /**/ + ,contact_name /**/ + ,phone /**/ + ,wechat_id /**/ + ,email /**/ + ,saler_id /**/ + ,title /**/ + ,phone2 /**/ + ,create_id /**/ + ,create_time /**/ + ,update_id /**/ + ,update_time /**/ + ,delete_time /**/ + ,delete_id /**/ + ,app_id /**/ + ,entry_id /**/ + ,id /**/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) + SELECT + P1.account_id /*account_id*/ + ,P1.account_name /*account_name*/ + ,P1.legal_name /**/ + ,P1.abbreviation /*abbreviation*/ + ,P1.city_name /*城市*/ + ,P1.contact_id /**/ + ,P1.contact_name /**/ + ,P1.phone /**/ + ,P1.wechat_id /**/ + ,P1.email /**/ + ,P1.saler_id /**/ + ,P1.title /**/ + ,P1.phone2 /**/ + ,P1.create_id /**/ + ,P1.create_time /**/ + ,P1.update_id /**/ + ,P1.update_time /**/ + ,P1.delete_time /**/ + ,P1.delete_id /**/ + ,P1.app_id /**/ + ,P1.entry_id /**/ + ,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_jdy_contact_agi_CUR_I P1 +LEFT JOIN :PDMDB.t01_jdy_contact P2 +ON P1.account_id = P2.account_id + AND P1.account_name = P2.account_name + AND P1.legal_name = P2.legal_name + AND P1.abbreviation = P2.abbreviation + AND P1.city_name = P2.city_name + AND P1.contact_id = P2.contact_id + AND P1.contact_name = P2.contact_name + AND P1.phone = P2.phone + AND P1.wechat_id = P2.wechat_id + AND P1.email = P2.email + AND P1.saler_id = P2.saler_id + AND P1.title = P2.title + AND P1.phone2 = P2.phone2 + AND P1.create_id = P2.create_id + AND P1.create_time = P2.create_time + AND P1.update_id = P2.update_id + AND P1.update_time = P2.update_time + AND P1.delete_time = P2.delete_time + AND P1.delete_id = P2.delete_id + AND P1.app_id = P2.app_id + AND P1.entry_id = P2.entry_id + AND P1.id = P2.id + +WHERE P2.account_id IS NULL + OR P2.account_name IS NULL + OR P2.legal_name IS NULL + OR P2.abbreviation IS NULL + OR P2.city_name IS NULL + OR P2.contact_id IS NULL + OR P2.contact_name IS NULL + OR P2.phone IS NULL + OR P2.wechat_id IS NULL + OR P2.email IS NULL + OR P2.saler_id IS NULL + OR P2.title IS NULL + OR P2.phone2 IS NULL + OR P2.create_id IS NULL + OR P2.create_time IS NULL + OR P2.update_id IS NULL + OR P2.update_time IS NULL + OR P2.delete_time IS NULL + OR P2.delete_id IS NULL + OR P2.app_id IS NULL + OR P2.entry_id IS NULL + OR P2.id IS NULL + +; +/*将新增数据插入到目标表 */ +;INSERT INTO :PDMDB.t01_jdy_contact ( + account_id /*account_id*/ + ,account_name /*account_name*/ + ,legal_name /**/ + ,abbreviation /*abbreviation*/ + ,city_name /*城市*/ + ,contact_id /**/ + ,contact_name /**/ + ,phone /**/ + ,wechat_id /**/ + ,email /**/ + ,saler_id /**/ + ,title /**/ + ,phone2 /**/ + ,create_id /**/ + ,create_time /**/ + ,update_id /**/ + ,update_time /**/ + ,delete_time /**/ + ,delete_id /**/ + ,app_id /**/ + ,entry_id /**/ + ,id /**/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) +SELECT + P1.account_id /*account_id*/ + ,P1.account_name /*account_name*/ + ,P1.legal_name /**/ + ,P1.abbreviation /*abbreviation*/ + ,P1.city_name /*城市*/ + ,P1.contact_id /**/ + ,P1.contact_name /**/ + ,P1.phone /**/ + ,P1.wechat_id /**/ + ,P1.email /**/ + ,P1.saler_id /**/ + ,P1.title /**/ + ,P1.phone2 /**/ + ,P1.create_id /**/ + ,P1.create_time /**/ + ,P1.update_id /**/ + ,P1.update_time /**/ + ,P1.delete_time /**/ + ,P1.delete_id /**/ + ,P1.app_id /**/ + ,P1.entry_id /**/ + ,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_jdy_contact_agi_INS P1 +ON CONFLICT ( id) +DO UPDATE SET + id=excluded.id + ,account_id=excluded.account_id + ,account_name=excluded.account_name + ,legal_name=excluded.legal_name + ,abbreviation=excluded.abbreviation + ,city_name=excluded.city_name + ,contact_id=excluded.contact_id + ,contact_name=excluded.contact_name + ,phone=excluded.phone + ,wechat_id=excluded.wechat_id + ,email=excluded.email + ,saler_id=excluded.saler_id + ,title=excluded.title + ,phone2=excluded.phone2 + ,create_id=excluded.create_id + ,create_time=excluded.create_time + ,update_id=excluded.update_id + ,update_time=excluded.update_time + ,delete_time=excluded.delete_time + ,delete_id=excluded.delete_id + ,app_id=excluded.app_id + ,entry_id=excluded.entry_id + ,Etl_Batch_No=excluded.Etl_Batch_No + ,Etl_First_Dt=excluded.Etl_First_Dt + ,Etl_Job=excluded.Etl_Job + ,Etl_Proc_Dt=excluded.Etl_Proc_Dt + ,Etl_Tx_Dt=excluded.Etl_Tx_Dt + ,Src_Sysname=excluded.Src_Sysname + ,Src_Table=excluded.Src_Table + + +; +/*****程序结束退出 */ +\q + diff --git a/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云Visit/t01_s_jdy_daily_visit.sql b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云Visit/t01_s_jdy_daily_visit.sql new file mode 100644 index 0000000..79d0983 --- /dev/null +++ b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云Visit/t01_s_jdy_daily_visit.sql @@ -0,0 +1,128 @@ + +DROP TABLE IF EXISTS p20_pdm.t01_s_jdy_daily_visit; +CREATE TABLE IF NOT EXISTS p20_pdm.t01_s_jdy_daily_visit ( + id varchar(50) + , account varchar(50) + , assign_id varchar(50) + , task_name varchar(100) + , visit_time timestamp(0) + , task_follow_up_time timestamp(0) + , irtnc_state varchar(20) + , segments varchar(20) + , application varchar(20) + , intelligence_source varchar(20) + , funnels_created varchar(20) + , status varchar(20) + , order_ae_flag varchar(20) + , ae_confict_flag varchar(20) + , account2 varchar(50) + , city varchar(20) + , company_name_en varchar(50) + , nick_name varchar(50) + , company_id varchar(50) + , salar_id varchar(50) + , contact_name varchar(50) + , phone varchar(50) + , wechat_id varchar(50) + , email varchar(50) + , new_flag varchar(20) + , account_type varchar(20) + , products varchar(50) + , product_family1 varchar(50) + , product_family2 varchar(50) + , product_family3 varchar(50) + , attachments text + , remarks varchar(1000) + , contact_phone_flag varchar(50) + , repeat_flag varchar(20) + , am varchar(20) + , visit_tm timestamp(0) + , replan_flag varchar(20) + , status2 varchar(20) + , ap_week varchar(20) + , year_text varchar(20) + , year_no varchar(20) + , quater_no varchar(20) + , assigned_to_text varchar(20) + , time_no varchar(50) + , creator_id varchar(50) + , create_time timestamp(0) + , updater_id varchar(50) + , update_time timestamp(0) + , flow_state varchar(10) + , deleter_id varchar(50) + , delete_time timestamp(0) + , app_id varchar(50) + , entry_id varchar(50) + , 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_s_jdy_daily_visit.id IS '主键ID'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.account IS '公司名称'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.assign_id IS '指派人ID'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.task_name IS '任务名称'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.visit_time IS '拜访时间'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.task_follow_up_time IS 'Task Followup Date/Time'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.irtnc_state IS 'IRTNC状态'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.segments IS '细分'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.application IS '应用'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.intelligence_source IS '信息来源'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.funnels_created IS 'Funnels Created(K/USD)'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.status IS '状态'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.order_ae_flag IS '是否预约AE'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.ae_confict_flag IS 'AE时间是否冲突'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.account2 IS '公司2'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.city IS '城市'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.company_name_en IS '公司英文名称'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.nick_name IS '公司简称'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.company_id IS '公司ID'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.salar_id IS '所属销售ID'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.contact_name IS '联系人'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.phone IS '联系方式'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.wechat_id IS '微信'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.email IS 'Email'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.new_flag IS 'New/Old'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.account_type IS '公司类型'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.products IS '产品'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.product_family1 IS '产品系列1'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.product_family2 IS '产品系列2'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.product_family3 IS '产品系列3'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.attachments IS 'Attachments'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.remarks IS '备注'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.contact_phone_flag IS '判断是否能返回联系人电话号'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.repeat_flag IS '判断是否重复数据'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.am IS 'AM'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.visit_tm IS '选择拜访时间'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.replan_flag IS '辅助-判断是否重复排期2'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.status2 IS '状态2'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.ap_week IS 'AP-WEEK'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.year_text IS 'Year-文本'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.year_no IS '年份'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.quater_no IS '季度'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.assigned_to_text IS 'Assigned to-文本'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.time_no IS '时间-数字'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.creator_id IS '创建人ID'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.create_time IS '创建时间'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.updater_id IS '更新人ID'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.update_time IS '更新时间'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.flow_state IS '流程状态'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.deleter_id IS '删除人ID'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.delete_time IS '删除时间'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.app_id IS ''; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.entry_id IS ''; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.Etl_Batch_No IS '作业批次号'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.Etl_First_Dt IS '最初入库时间'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.Etl_Job IS '作业名称'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.Etl_Proc_Dt IS '本次入库时间'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.Etl_Tx_Dt IS '作业运行时间'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.Src_Sysname IS '来源系统'; + COMMENT ON COLUMN p20_pdm.t01_s_jdy_daily_visit.Src_Table IS '来源表'; + +COMMENT ON TABLE p20_pdm.t01_s_jdy_daily_visit IS '简道云Visit'; \ No newline at end of file diff --git a/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云Visit/t01_s_jdy_daily_visit_agi.sql b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云Visit/t01_s_jdy_daily_visit_agi.sql new file mode 100644 index 0000000..f7b8dc0 --- /dev/null +++ b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云Visit/t01_s_jdy_daily_visit_agi.sql @@ -0,0 +1,604 @@ +/***************************************************************************************************/ +/*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_s_jdy_daily_visit(简道云Visit) */ +/*Create Date:2025-09-26 15:37:51 */ +/*SDM Developed By: dev */ +/*SDM Developed Date: 2025-09-26 */ +/*SDM Checked By: dev */ +/*SDM Checked Date: 2025-09-26 */ +/*Script Developed By: dev */ +/*Script Checked By: dev */ +/*Source table 1: p10_sa.s98_s_jdy_daily_visit */ +/*Job Type: Inbound transform (Tier 1 to Tier 2) */ +/*Target Table:t01_s_jdy_daily_visit */ +/*ETL Job Name:t01_s_jdy_daily_visit */ +/*ETL Frequency:None */ +/*ETL Policy:F2 */ +/********************************************************************************************/ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on + + + +/*创建临时表加载当前数据 */ +CREATE TEMPORARY TABLE t01_s_jdy_daily_visit_agi_CUR_I + ( LIKE :PDMDB.t01_s_jdy_daily_visit) +ON COMMIT PRESERVE ROWS; + + + +/*创建临时表加载不同数据 */ +CREATE TEMPORARY TABLE t01_s_jdy_daily_visit_agi_INS +( LIKE :PDMDB.t01_s_jdy_daily_visit) +ON COMMIT PRESERVE ROWS; + + +/*****************************************************************************************************/ +/* GROUP 1:Source Table:s98_s_jdy_daily_visit*********************************************************/ +/*****************************************************************************************************/ +INSERT INTO t01_s_jdy_daily_visit_agi_CUR_I ( + id /*主键ID*/ + ,account /*公司名称*/ + ,assign_id /*指派人ID*/ + ,task_name /*任务名称*/ + ,visit_time /*拜访时间*/ + ,task_follow_up_time /*Task Followup Date/Time*/ + ,irtnc_state /*IRTNC状态*/ + ,segments /*细分*/ + ,application /*应用*/ + ,intelligence_source /*信息来源*/ + ,funnels_created /*Funnels Created(K/USD)*/ + ,status /*状态*/ + ,order_ae_flag /*是否预约AE*/ + ,ae_confict_flag /*AE时间是否冲突*/ + ,account2 /*公司2*/ + ,city /*城市*/ + ,company_name_en /*公司英文名称*/ + ,nick_name /*公司简称*/ + ,company_id /*公司ID*/ + ,salar_id /*所属销售ID*/ + ,contact_name /*联系人*/ + ,phone /*联系方式*/ + ,wechat_id /*微信*/ + ,email /*Email*/ + ,new_flag /*New/Old*/ + ,account_type /*公司类型*/ + ,products /*产品*/ + ,product_family1 /*产品系列1*/ + ,product_family2 /*产品系列2*/ + ,product_family3 /*产品系列3*/ + ,attachments /*Attachments*/ + ,remarks /*备注*/ + ,contact_phone_flag /*判断是否能返回联系人电话号*/ + ,repeat_flag /*判断是否重复数据*/ + ,am /*AM*/ + ,visit_tm /*选择拜访时间*/ + ,replan_flag /*辅助-判断是否重复排期2*/ + ,status2 /*状态2*/ + ,ap_week /*AP-WEEK*/ + ,year_text /*Year-文本*/ + ,year_no /*年份*/ + ,quater_no /*季度*/ + ,assigned_to_text /*Assigned to-文本*/ + ,time_no /*时间-数字*/ + ,creator_id /*创建人ID*/ + ,create_time /*创建时间*/ + ,updater_id /*更新人ID*/ + ,update_time /*更新时间*/ + ,flow_state /*流程状态*/ + ,deleter_id /*删除人ID*/ + ,delete_time /*删除时间*/ + ,app_id /**/ + ,entry_id /**/ + ,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(50))),'') /*id*/ + ,COALESCE(TRIM(CAST(p0.account AS varchar(50))),'') /*account*/ + ,p0.assign_to::json ->> 'username' /*assign_id*/ + ,COALESCE(TRIM(CAST(p0.task_name AS varchar(100))),'') /*task_name*/ + ,(p0.visit_time::timestamptz AT TIME ZONE '+08')::timestamp(0) /*visit_time*/ + ,(p0.task_follow_up_time::timestamptz AT TIME ZONE '+08')::timestamp(0) /*task_follow_up_time*/ + ,COALESCE(TRIM(CAST(p0.irtnc_state AS varchar(20))),'') /*irtnc_state*/ + ,COALESCE(TRIM(CAST(p0.segments AS varchar(20))),'') /*segments*/ + ,COALESCE(TRIM(CAST(p0.application AS varchar(20))),'') /*application*/ + ,COALESCE(TRIM(CAST(p0.intelligence_source AS varchar(20))),'') /*intelligence_source*/ + ,COALESCE(TRIM(CAST(p0.funnels_created AS varchar(20))),'') /*funnels_created*/ + ,COALESCE(TRIM(CAST(p0.status AS varchar(20))),'') /*status*/ + ,COALESCE(TRIM(CAST(p0.order_ae_flag AS varchar(20))),'') /*order_ae_flag*/ + ,COALESCE(TRIM(CAST(p0.ae_confict_flag AS varchar(20))),'') /*ae_confict_flag*/ + ,COALESCE(TRIM(CAST(p0.account2 AS varchar(50))),'') /*account2*/ + ,COALESCE(TRIM(CAST(p0.city AS varchar(20))),'') /*city*/ + ,COALESCE(TRIM(CAST(p0.company_name_en AS varchar(50))),'') /*company_name_en*/ + ,COALESCE(TRIM(CAST(p0.nick_name AS varchar(50))),'') /*nick_name*/ + ,COALESCE(TRIM(CAST(p0.company_id AS varchar(50))),'') /*company_id*/ + ,COALESCE(TRIM(CAST(p0.salar AS varchar(50))),'') /*salar_id*/ + ,COALESCE(TRIM(CAST(p0.contact AS varchar(50))),'') /*contact_name*/ + ,COALESCE(TRIM(CAST(p0.phone AS varchar(50))),'') /*phone*/ + ,COALESCE(TRIM(CAST(p0.wechat_id AS varchar(50))),'') /*wechat_id*/ + ,COALESCE(TRIM(CAST(p0.email AS varchar(50))),'') /*email*/ + ,COALESCE(TRIM(CAST(p0.new_flag AS varchar(20))),'') /*new_flag*/ + ,COALESCE(TRIM(CAST(p0.account_type AS varchar(20))),'') /*account_type*/ + ,COALESCE(TRIM(CAST(p0.products AS varchar(50))),'') /*products*/ + ,COALESCE(TRIM(CAST(p0.product_family1 AS varchar(50))),'') /*product_family1*/ + ,COALESCE(TRIM(CAST(p0.product_family2 AS varchar(50))),'') /*product_family2*/ + ,COALESCE(TRIM(CAST(p0.product_family3 AS varchar(50))),'') /*product_family3*/ + ,COALESCE(TRIM(p0.attachments),'') /*attachments*/ + ,COALESCE(TRIM(CAST(p0.remarks AS varchar(1000))),'') /*remarks*/ + ,COALESCE(TRIM(CAST(p0.contact_phone_flag AS varchar(50))),'') /*contact_phone_flag*/ + ,COALESCE(TRIM(CAST(p0.repeat_flag AS varchar(20))),'') /*repeat_flag*/ + ,COALESCE(TRIM(CAST(p0.am AS varchar(20))),'') /*am*/ + ,(p0.visit_tm::timestamptz AT TIME ZONE '+08')::timestamp(0) /*visit_tm*/ + ,COALESCE(TRIM(CAST(p0.replan_flag AS varchar(20))),'') /*replan_flag*/ + ,COALESCE(TRIM(CAST(p0.status2 AS varchar(20))),'') /*status2*/ + ,COALESCE(TRIM(CAST(p0.ap_week AS varchar(20))),'') /*ap_week*/ + ,COALESCE(TRIM(CAST(p0.year_text AS varchar(20))),'') /*year_text*/ + ,COALESCE(CAST(p0.year_no AS int),0) /*year_no*/ + ,COALESCE(CAST(p0.quater_no AS int),0) /*quater_no*/ + ,COALESCE(TRIM(CAST(p0.assigned_to_text AS varchar(20))),'') /*assigned_to_text*/ + ,COALESCE(TRIM(CAST(p0.time_no AS varchar(50))),'') /*time_no*/ + ,p0.creator::json ->> 'username' /*creator_id*/ + ,(p0.create_time::timestamptz AT TIME ZONE '+08')::timestamp(0) /*create_time*/ + ,p0.updater::json ->> 'username' /*updater_id*/ + ,(p0.update_time::timestamptz AT TIME ZONE '+08')::timestamp(0) /*update_time*/ + ,COALESCE(TRIM(CAST(p0.flow_state AS varchar(10))),'') /*flow_state*/ + ,p0.deleter::json ->> 'username' /*deleter_id*/ + ,(p0.delete_time::timestamptz AT TIME ZONE '+08')::timestamp(0) /*delete_time*/ + ,COALESCE(TRIM(CAST(p0.app_id AS varchar(50))),'') /*app_id*/ + ,COALESCE(TRIM(CAST(p0.entry_id AS varchar(50))),'') /*entry_id*/ + ,0 /*Etl_Batch_No*/ + ,TO_DATE(:TXDATE,'YYYYMMDD') /*Etl_First_Dt*/ + ,:ETLJOB /*Etl_Job*/ + ,current_timestamp(0) /*Etl_Proc_Dt*/ + ,TO_DATE(:TXDATE,'YYYYMMDD') /*Etl_Tx_Dt*/ + ,Substr('s98_s_jdy_daily_visit',1,3) /*Src_Sysname*/ + ,'s98_s_jdy_daily_visit' /*Src_Table*/ + +FROM p10_sa.s98_s_jdy_daily_visit p0 +; + + + +/*将不同数据插入到临时表 */ +;INSERT INTO t01_s_jdy_daily_visit_agi_INS ( + account /*公司名称*/ + ,assign_id /*指派人ID*/ + ,task_name /*任务名称*/ + ,visit_time /*拜访时间*/ + ,task_follow_up_time /*Task Followup Date/Time*/ + ,irtnc_state /*IRTNC状态*/ + ,segments /*细分*/ + ,application /*应用*/ + ,intelligence_source /*信息来源*/ + ,funnels_created /*Funnels Created(K/USD)*/ + ,status /*状态*/ + ,order_ae_flag /*是否预约AE*/ + ,ae_confict_flag /*AE时间是否冲突*/ + ,account2 /*公司2*/ + ,city /*城市*/ + ,company_name_en /*公司英文名称*/ + ,nick_name /*公司简称*/ + ,company_id /*公司ID*/ + ,salar_id /*所属销售ID*/ + ,contact_name /*联系人*/ + ,phone /*联系方式*/ + ,wechat_id /*微信*/ + ,email /*Email*/ + ,new_flag /*New/Old*/ + ,account_type /*公司类型*/ + ,products /*产品*/ + ,product_family1 /*产品系列1*/ + ,product_family2 /*产品系列2*/ + ,product_family3 /*产品系列3*/ + ,attachments /*Attachments*/ + ,remarks /*备注*/ + ,contact_phone_flag /*判断是否能返回联系人电话号*/ + ,repeat_flag /*判断是否重复数据*/ + ,am /*AM*/ + ,visit_tm /*选择拜访时间*/ + ,replan_flag /*辅助-判断是否重复排期2*/ + ,status2 /*状态2*/ + ,ap_week /*AP-WEEK*/ + ,year_text /*Year-文本*/ + ,year_no /*年份*/ + ,quater_no /*季度*/ + ,assigned_to_text /*Assigned to-文本*/ + ,time_no /*时间-数字*/ + ,creator_id /*创建人ID*/ + ,create_time /*创建时间*/ + ,updater_id /*更新人ID*/ + ,update_time /*更新时间*/ + ,flow_state /*流程状态*/ + ,deleter_id /*删除人ID*/ + ,delete_time /*删除时间*/ + ,app_id /**/ + ,entry_id /**/ + ,id /*主键ID*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) + SELECT + P1.account /*公司名称*/ + ,P1.assign_id /*指派人ID*/ + ,P1.task_name /*任务名称*/ + ,P1.visit_time /*拜访时间*/ + ,P1.task_follow_up_time /*Task Followup Date/Time*/ + ,P1.irtnc_state /*IRTNC状态*/ + ,P1.segments /*细分*/ + ,P1.application /*应用*/ + ,P1.intelligence_source /*信息来源*/ + ,P1.funnels_created /*Funnels Created(K/USD)*/ + ,P1.status /*状态*/ + ,P1.order_ae_flag /*是否预约AE*/ + ,P1.ae_confict_flag /*AE时间是否冲突*/ + ,P1.account2 /*公司2*/ + ,P1.city /*城市*/ + ,P1.company_name_en /*公司英文名称*/ + ,P1.nick_name /*公司简称*/ + ,P1.company_id /*公司ID*/ + ,P1.salar_id /*所属销售ID*/ + ,P1.contact_name /*联系人*/ + ,P1.phone /*联系方式*/ + ,P1.wechat_id /*微信*/ + ,P1.email /*Email*/ + ,P1.new_flag /*New/Old*/ + ,P1.account_type /*公司类型*/ + ,P1.products /*产品*/ + ,P1.product_family1 /*产品系列1*/ + ,P1.product_family2 /*产品系列2*/ + ,P1.product_family3 /*产品系列3*/ + ,P1.attachments /*Attachments*/ + ,P1.remarks /*备注*/ + ,P1.contact_phone_flag /*判断是否能返回联系人电话号*/ + ,P1.repeat_flag /*判断是否重复数据*/ + ,P1.am /*AM*/ + ,P1.visit_tm /*选择拜访时间*/ + ,P1.replan_flag /*辅助-判断是否重复排期2*/ + ,P1.status2 /*状态2*/ + ,P1.ap_week /*AP-WEEK*/ + ,P1.year_text /*Year-文本*/ + ,P1.year_no /*年份*/ + ,P1.quater_no /*季度*/ + ,P1.assigned_to_text /*Assigned to-文本*/ + ,P1.time_no /*时间-数字*/ + ,P1.creator_id /*创建人ID*/ + ,P1.create_time /*创建时间*/ + ,P1.updater_id /*更新人ID*/ + ,P1.update_time /*更新时间*/ + ,P1.flow_state /*流程状态*/ + ,P1.deleter_id /*删除人ID*/ + ,P1.delete_time /*删除时间*/ + ,P1.app_id /**/ + ,P1.entry_id /**/ + ,P1.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_s_jdy_daily_visit_agi_CUR_I P1 +LEFT JOIN :PDMDB.t01_s_jdy_daily_visit P2 +ON P1.account = P2.account + AND P1.assign_id = P2.assign_id + AND P1.task_name = P2.task_name + AND P1.visit_time = P2.visit_time + AND P1.task_follow_up_time = P2.task_follow_up_time + AND P1.irtnc_state = P2.irtnc_state + AND P1.segments = P2.segments + AND P1.application = P2.application + AND P1.intelligence_source = P2.intelligence_source + AND P1.funnels_created = P2.funnels_created + AND P1.status = P2.status + AND P1.order_ae_flag = P2.order_ae_flag + AND P1.ae_confict_flag = P2.ae_confict_flag + AND P1.account2 = P2.account2 + AND P1.city = P2.city + AND P1.company_name_en = P2.company_name_en + AND P1.nick_name = P2.nick_name + AND P1.company_id = P2.company_id + AND P1.salar_id = P2.salar_id + AND P1.contact_name = P2.contact_name + AND P1.phone = P2.phone + AND P1.wechat_id = P2.wechat_id + AND P1.email = P2.email + AND P1.new_flag = P2.new_flag + AND P1.account_type = P2.account_type + AND P1.products = P2.products + AND P1.product_family1 = P2.product_family1 + AND P1.product_family2 = P2.product_family2 + AND P1.product_family3 = P2.product_family3 + AND P1.attachments = P2.attachments + AND P1.remarks = P2.remarks + AND P1.contact_phone_flag = P2.contact_phone_flag + AND P1.repeat_flag = P2.repeat_flag + AND P1.am = P2.am + AND P1.visit_tm = P2.visit_tm + AND P1.replan_flag = P2.replan_flag + AND P1.status2 = P2.status2 + AND P1.ap_week = P2.ap_week + AND P1.year_text = P2.year_text + AND P1.year_no = P2.year_no + AND P1.quater_no = P2.quater_no + AND P1.assigned_to_text = P2.assigned_to_text + AND P1.time_no = P2.time_no + AND P1.creator_id = P2.creator_id + AND P1.create_time = P2.create_time + AND P1.updater_id = P2.updater_id + AND P1.update_time = P2.update_time + AND P1.flow_state = P2.flow_state + AND P1.deleter_id = P2.deleter_id + AND P1.delete_time = P2.delete_time + AND P1.app_id = P2.app_id + AND P1.entry_id = P2.entry_id + AND P1.id = P2.id + +WHERE P2.account IS NULL + OR P2.assign_id IS NULL + OR P2.task_name IS NULL + OR P2.visit_time IS NULL + OR P2.task_follow_up_time IS NULL + OR P2.irtnc_state IS NULL + OR P2.segments IS NULL + OR P2.application IS NULL + OR P2.intelligence_source IS NULL + OR P2.funnels_created IS NULL + OR P2.status IS NULL + OR P2.order_ae_flag IS NULL + OR P2.ae_confict_flag IS NULL + OR P2.account2 IS NULL + OR P2.city IS NULL + OR P2.company_name_en IS NULL + OR P2.nick_name IS NULL + OR P2.company_id IS NULL + OR P2.salar_id IS NULL + OR P2.contact_name IS NULL + OR P2.phone IS NULL + OR P2.wechat_id IS NULL + OR P2.email IS NULL + OR P2.new_flag IS NULL + OR P2.account_type IS NULL + OR P2.products IS NULL + OR P2.product_family1 IS NULL + OR P2.product_family2 IS NULL + OR P2.product_family3 IS NULL + OR P2.attachments IS NULL + OR P2.remarks IS NULL + OR P2.contact_phone_flag IS NULL + OR P2.repeat_flag IS NULL + OR P2.am IS NULL + OR P2.visit_tm IS NULL + OR P2.replan_flag IS NULL + OR P2.status2 IS NULL + OR P2.ap_week IS NULL + OR P2.year_text IS NULL + OR P2.year_no IS NULL + OR P2.quater_no IS NULL + OR P2.assigned_to_text IS NULL + OR P2.time_no IS NULL + OR P2.creator_id IS NULL + OR P2.create_time IS NULL + OR P2.updater_id IS NULL + OR P2.update_time IS NULL + OR P2.flow_state IS NULL + OR P2.deleter_id IS NULL + OR P2.delete_time IS NULL + OR P2.app_id IS NULL + OR P2.entry_id IS NULL + OR P2.id IS NULL + +; +/*将新增数据插入到目标表 */ +;INSERT INTO :PDMDB.t01_s_jdy_daily_visit ( + account /*公司名称*/ + ,assign_id /*指派人ID*/ + ,task_name /*任务名称*/ + ,visit_time /*拜访时间*/ + ,task_follow_up_time /*Task Followup Date/Time*/ + ,irtnc_state /*IRTNC状态*/ + ,segments /*细分*/ + ,application /*应用*/ + ,intelligence_source /*信息来源*/ + ,funnels_created /*Funnels Created(K/USD)*/ + ,status /*状态*/ + ,order_ae_flag /*是否预约AE*/ + ,ae_confict_flag /*AE时间是否冲突*/ + ,account2 /*公司2*/ + ,city /*城市*/ + ,company_name_en /*公司英文名称*/ + ,nick_name /*公司简称*/ + ,company_id /*公司ID*/ + ,salar_id /*所属销售ID*/ + ,contact_name /*联系人*/ + ,phone /*联系方式*/ + ,wechat_id /*微信*/ + ,email /*Email*/ + ,new_flag /*New/Old*/ + ,account_type /*公司类型*/ + ,products /*产品*/ + ,product_family1 /*产品系列1*/ + ,product_family2 /*产品系列2*/ + ,product_family3 /*产品系列3*/ + ,attachments /*Attachments*/ + ,remarks /*备注*/ + ,contact_phone_flag /*判断是否能返回联系人电话号*/ + ,repeat_flag /*判断是否重复数据*/ + ,am /*AM*/ + ,visit_tm /*选择拜访时间*/ + ,replan_flag /*辅助-判断是否重复排期2*/ + ,status2 /*状态2*/ + ,ap_week /*AP-WEEK*/ + ,year_text /*Year-文本*/ + ,year_no /*年份*/ + ,quater_no /*季度*/ + ,assigned_to_text /*Assigned to-文本*/ + ,time_no /*时间-数字*/ + ,creator_id /*创建人ID*/ + ,create_time /*创建时间*/ + ,updater_id /*更新人ID*/ + ,update_time /*更新时间*/ + ,flow_state /*流程状态*/ + ,deleter_id /*删除人ID*/ + ,delete_time /*删除时间*/ + ,app_id /**/ + ,entry_id /**/ + ,id /*主键ID*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) +SELECT + P1.account /*公司名称*/ + ,P1.assign_id /*指派人ID*/ + ,P1.task_name /*任务名称*/ + ,P1.visit_time /*拜访时间*/ + ,P1.task_follow_up_time /*Task Followup Date/Time*/ + ,P1.irtnc_state /*IRTNC状态*/ + ,P1.segments /*细分*/ + ,P1.application /*应用*/ + ,P1.intelligence_source /*信息来源*/ + ,P1.funnels_created /*Funnels Created(K/USD)*/ + ,P1.status /*状态*/ + ,P1.order_ae_flag /*是否预约AE*/ + ,P1.ae_confict_flag /*AE时间是否冲突*/ + ,P1.account2 /*公司2*/ + ,P1.city /*城市*/ + ,P1.company_name_en /*公司英文名称*/ + ,P1.nick_name /*公司简称*/ + ,P1.company_id /*公司ID*/ + ,P1.salar_id /*所属销售ID*/ + ,P1.contact_name /*联系人*/ + ,P1.phone /*联系方式*/ + ,P1.wechat_id /*微信*/ + ,P1.email /*Email*/ + ,P1.new_flag /*New/Old*/ + ,P1.account_type /*公司类型*/ + ,P1.products /*产品*/ + ,P1.product_family1 /*产品系列1*/ + ,P1.product_family2 /*产品系列2*/ + ,P1.product_family3 /*产品系列3*/ + ,P1.attachments /*Attachments*/ + ,P1.remarks /*备注*/ + ,P1.contact_phone_flag /*判断是否能返回联系人电话号*/ + ,P1.repeat_flag /*判断是否重复数据*/ + ,P1.am /*AM*/ + ,P1.visit_tm /*选择拜访时间*/ + ,P1.replan_flag /*辅助-判断是否重复排期2*/ + ,P1.status2 /*状态2*/ + ,P1.ap_week /*AP-WEEK*/ + ,P1.year_text /*Year-文本*/ + ,P1.year_no /*年份*/ + ,P1.quater_no /*季度*/ + ,P1.assigned_to_text /*Assigned to-文本*/ + ,P1.time_no /*时间-数字*/ + ,P1.creator_id /*创建人ID*/ + ,P1.create_time /*创建时间*/ + ,P1.updater_id /*更新人ID*/ + ,P1.update_time /*更新时间*/ + ,P1.flow_state /*流程状态*/ + ,P1.deleter_id /*删除人ID*/ + ,P1.delete_time /*删除时间*/ + ,P1.app_id /**/ + ,P1.entry_id /**/ + ,P1.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_s_jdy_daily_visit_agi_INS P1 +ON CONFLICT ( id) +DO UPDATE SET + id=excluded.id + ,account=excluded.account + ,assign_id=excluded.assign_id + ,task_name=excluded.task_name + ,visit_time=excluded.visit_time + ,task_follow_up_time=excluded.task_follow_up_time + ,irtnc_state=excluded.irtnc_state + ,segments=excluded.segments + ,application=excluded.application + ,intelligence_source=excluded.intelligence_source + ,funnels_created=excluded.funnels_created + ,status=excluded.status + ,order_ae_flag=excluded.order_ae_flag + ,ae_confict_flag=excluded.ae_confict_flag + ,account2=excluded.account2 + ,city=excluded.city + ,company_name_en=excluded.company_name_en + ,nick_name=excluded.nick_name + ,company_id=excluded.company_id + ,salar_id=excluded.salar_id + ,contact_name=excluded.contact_name + ,phone=excluded.phone + ,wechat_id=excluded.wechat_id + ,email=excluded.email + ,new_flag=excluded.new_flag + ,account_type=excluded.account_type + ,products=excluded.products + ,product_family1=excluded.product_family1 + ,product_family2=excluded.product_family2 + ,product_family3=excluded.product_family3 + ,attachments=excluded.attachments + ,remarks=excluded.remarks + ,contact_phone_flag=excluded.contact_phone_flag + ,repeat_flag=excluded.repeat_flag + ,am=excluded.am + ,visit_tm=excluded.visit_tm + ,replan_flag=excluded.replan_flag + ,status2=excluded.status2 + ,ap_week=excluded.ap_week + ,year_text=excluded.year_text + ,year_no=excluded.year_no + ,quater_no=excluded.quater_no + ,assigned_to_text=excluded.assigned_to_text + ,time_no=excluded.time_no + ,creator_id=excluded.creator_id + ,create_time=excluded.create_time + ,updater_id=excluded.updater_id + ,update_time=excluded.update_time + ,flow_state=excluded.flow_state + ,deleter_id=excluded.deleter_id + ,delete_time=excluded.delete_time + ,app_id=excluded.app_id + ,entry_id=excluded.entry_id + ,Etl_Batch_No=excluded.Etl_Batch_No + ,Etl_First_Dt=excluded.Etl_First_Dt + ,Etl_Job=excluded.Etl_Job + ,Etl_Proc_Dt=excluded.Etl_Proc_Dt + ,Etl_Tx_Dt=excluded.Etl_Tx_Dt + ,Src_Sysname=excluded.Src_Sysname + ,Src_Table=excluded.Src_Table + + +; +/*****程序结束退出 */ +\q + diff --git a/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云员工信息同步/dysql_tk_jdy_employee.sql b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云员工信息同步/dysql_tk_jdy_employee.sql new file mode 100644 index 0000000..089e99c --- /dev/null +++ b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云员工信息同步/dysql_tk_jdy_employee.sql @@ -0,0 +1,187 @@ +/********************************************************************************************/ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on + +INSERT INTO p20_pdm.t01_tk_employee ( + user_id /*用户id*/ + ,user_name /*用户名*/ + ,user_type /*用户类型*/ + ,status /*用户状态*/ + ,departs /*用户部门*/ + ,integrate_id /*通用ID*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + ) +Select p.* + ,0 /*Etl_Batch_No*/ + ,CURRENT_DATE /*Etl_First_Dt*/ + ,'t01_tk_employee' /*Etl_Job*/ + ,current_timestamp(0) /*Etl_Proc_Dt*/ + ,CURRENT_DATE /*Etl_Tx_Dt*/ + ,Substr('s98_s_jdy_*',1,3) /*Src_Sysname*/ + ,'s98_s_jdy_*' /*Src_Table*/ +from ( +SELECT + p0.updater::json ->> 'username' as user_id /*user_id*/ + ,p0.updater::json ->> 'name' /*user_name*/ + ,p0.updater::json ->> 'type' /*user_type*/ + ,p0.updater::json ->> 'status' /*status*/ + ,p0.updater::json ->> 'departments' /*departs*/ + ,p0.updater::json ->> 'integrate_id' /*integrate_id*/ +FROM p10_sa.s98_s_jdy_account p0 +where p0.updater is not null +union +SELECT + p0.creator::json ->> 'username' as user_id /*user_id*/ + ,p0.creator::json ->> 'name' /*user_name*/ + ,p0.creator::json ->> 'type' /*user_type*/ + ,p0.creator::json ->> 'status' /*status*/ + ,p0.creator::json ->> 'departments' /*departs*/ + ,p0.creator::json ->> 'integrate_id' /*integrate_id*/ + + +FROM p10_sa.s98_s_jdy_account p0 +where p0.creator is not null +union +SELECT + p0.sale_id::json ->> 'username' as user_id /*user_id*/ + ,p0.sale_id::json ->> 'name' /*user_name*/ + ,p0.sale_id::json ->> 'type' /*user_type*/ + ,p0.sale_id::json ->> 'status' /*status*/ + ,p0.sale_id::json ->> 'departments' /*departs*/ + ,p0.sale_id::json ->> 'integrate_id' /*integrate_id*/ + + +FROM p10_sa.s98_s_jdy_account p0 +where p0.sale_id is not null +union +SELECT + p0.updater::json ->> 'username' as user_id /*user_id*/ + ,p0.updater::json ->> 'name' /*user_name*/ + ,p0.updater::json ->> 'type' /*user_type*/ + ,p0.updater::json ->> 'status' /*status*/ + ,p0.updater::json ->> 'departments' /*departs*/ + ,p0.updater::json ->> 'integrate_id' /*integrate_id*/ + + +FROM p10_sa.s98_s_jdy_contact p0 +where p0.updater is not null +union +SELECT + p0.creator::json ->> 'username' as user_id /*user_id*/ + ,p0.creator::json ->> 'name' /*user_name*/ + ,p0.creator::json ->> 'type' /*user_type*/ + ,p0.creator::json ->> 'status' /*status*/ + ,p0.creator::json ->> 'departments' /*departs*/ + ,p0.creator::json ->> 'integrate_id' /*integrate_id*/ + + +FROM p10_sa.s98_s_jdy_contact p0 +where p0.creator is not null +union +SELECT + p0.salers::json ->> 'username' as user_id /*user_id*/ + ,p0.salers::json ->> 'name' /*user_name*/ + ,p0.salers::json ->> 'type' /*user_type*/ + ,p0.salers::json ->> 'status' /*status*/ + ,p0.salers::json ->> 'departments' /*departs*/ + ,p0.salers::json ->> 'integrate_id' /*integrate_id*/ + + +FROM p10_sa.s98_s_jdy_contact p0 +where p0.salers is not null +union +SELECT + p0.updater::json ->> 'username' as user_id /*user_id*/ + ,p0.updater::json ->> 'name' /*user_name*/ + ,p0.updater::json ->> 'type' /*user_type*/ + ,p0.updater::json ->> 'status' /*status*/ + ,p0.updater::json ->> 'departments' /*departs*/ + ,p0.updater::json ->> 'integrate_id' /*integrate_id*/ + + +FROM p10_sa.s98_s_jdy_daily_visit p0 +where p0.updater is not null +union +SELECT + p0.creator::json ->> 'username' as user_id /*user_id*/ + ,p0.creator::json ->> 'name' /*user_name*/ + ,p0.creator::json ->> 'type' /*user_type*/ + ,p0.creator::json ->> 'status' /*status*/ + ,p0.creator::json ->> 'departments' /*departs*/ + ,p0.creator::json ->> 'integrate_id' /*integrate_id*/ + + +FROM p10_sa.s98_s_jdy_daily_visit p0 +where p0.creator is not null +union +SELECT + p0.assign_to::json ->> 'username' as user_id /*user_id*/ + ,p0.assign_to::json ->> 'name' /*user_name*/ + ,p0.assign_to::json ->> 'type' /*user_type*/ + ,p0.assign_to::json ->> 'status' /*status*/ + ,p0.assign_to::json ->> 'departments' /*departs*/ + ,p0.assign_to::json ->> 'integrate_id' /*integrate_id*/ + + +FROM p10_sa.s98_s_jdy_daily_visit p0 +where p0.assign_to is not null +union +SELECT + p0.updater::json ->> 'username' as user_id /*user_id*/ + ,p0.updater::json ->> 'name' /*user_name*/ + ,p0.updater::json ->> 'type' /*user_type*/ + ,p0.updater::json ->> 'status' /*status*/ + ,p0.updater::json ->> 'departments' /*departs*/ + ,p0.updater::json ->> 'integrate_id' /*integrate_id*/ + + +FROM p10_sa.s98_s_jdy_ae_plan p0 +where p0.updater is not null +union +SELECT + p0.creator::json ->> 'username' as user_id /*user_id*/ + ,p0.creator::json ->> 'name' /*user_name*/ + ,p0.creator::json ->> 'type' /*user_type*/ + ,p0.creator::json ->> 'status' /*status*/ + ,p0.creator::json ->> 'departments' /*departs*/ + ,p0.creator::json ->> 'integrate_id' /*integrate_id*/ + + +FROM p10_sa.s98_s_jdy_daily_visit p0 +where p0.creator is not null +union +SELECT + p0.ae::json ->> 'username' as user_id /*user_id*/ + ,p0.ae::json ->> 'name' /*user_name*/ + ,p0.ae::json ->> 'type' /*user_type*/ + ,p0.ae::json ->> 'status' /*status*/ + ,p0.ae::json ->> 'departments' /*departs*/ + ,p0.ae::json ->> 'integrate_id' /*integrate_id*/ +FROM p10_sa.s98_s_jdy_ae_plan p0 +where p0.ae is not null +) p +where p.user_id is not null + +ON CONFLICT (user_id) +DO UPDATE +SET + user_name = EXCLUDED.user_name, + user_type = EXCLUDED.user_type, + status = EXCLUDED.status, + departs = EXCLUDED.departs, + integrate_id = EXCLUDED.integrate_id, + Etl_Proc_Dt = EXCLUDED.Etl_Proc_Dt, -- 本次跑批时间 + Etl_Tx_Dt = EXCLUDED.Etl_Tx_Dt, + Etl_Batch_No = EXCLUDED.Etl_Batch_No, + Src_Sysname = EXCLUDED.Src_Sysname, + Src_Table = EXCLUDED.Src_Table; + +\q \ No newline at end of file diff --git a/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云客户Account同步/Jdy_account_01_feign.py b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云客户Account同步/Jdy_account_01_feign.py index 919eae8..bec1388 100644 --- a/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云客户Account同步/Jdy_account_01_feign.py +++ b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云客户Account同步/Jdy_account_01_feign.py @@ -184,7 +184,8 @@ def main(): BASE_URL = "https://api.jiandaoyun.com/api/v5/app/entry/data/list" AUTH_TOKEN = "tPh9Fm9qumixcfDDvk42TUsc3Y0OoarD" API_ID = "b27090a7db5d49fea811d68bdef4cbf0" - + + #获取account信息 params = {'entry_id':'674d123f70d2a0f1b1387f47','app_id':'673dc4d1d771318d06974add',} APP_ID = params['app_id'] ENTRY_ID = params['entry_id'] diff --git a/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云客户Contact同步/Jdy_contact_01_feign.py b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云客户Contact同步/Jdy_contact_01_feign.py index 30832ed..b074721 100644 --- a/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云客户Contact同步/Jdy_contact_01_feign.py +++ b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云客户Contact同步/Jdy_contact_01_feign.py @@ -184,7 +184,7 @@ def main(): BASE_URL = "https://api.jiandaoyun.com/api/v5/app/entry/data/list" AUTH_TOKEN = "tPh9Fm9qumixcfDDvk42TUsc3Y0OoarD" API_ID = "c72487e8-b309-47a8-aa6a-1a15e794" - + # 获取Contact信息 params = {'app_id':'673dc4d1d771318d06974add','entry_id':'675689842895c3f137c99a21',} APP_ID = params['app_id'] ENTRY_ID = params['entry_id'] diff --git a/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云拜访AE排期同步/Jdy_ae_01_feign.py b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云拜访AE排期同步/Jdy_ae_01_feign.py index 9843dd8..8279ac1 100644 --- a/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云拜访AE排期同步/Jdy_ae_01_feign.py +++ b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云拜访AE排期同步/Jdy_ae_01_feign.py @@ -184,7 +184,8 @@ def main(): BASE_URL = "https://api.jiandaoyun.com/api/v5/app/entry/data/list" AUTH_TOKEN = "tPh9Fm9qumixcfDDvk42TUsc3Y0OoarD" API_ID = "1dbb92ea95d541508fb91b806a640fab" - + + # 获取AE排期 params = {'entry_id':'6752adf26c804e7925bf53a9','app_id':'671062779c3695dfa9c0f892',} APP_ID = params['app_id'] ENTRY_ID = params['entry_id'] diff --git a/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云拜访Visit同步/Jdy_daily_visit_feign.py b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云拜访Visit同步/Jdy_daily_visit_feign.py index fa14be0..3a77a77 100644 --- a/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云拜访Visit同步/Jdy_daily_visit_feign.py +++ b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云拜访Visit同步/Jdy_daily_visit_feign.py @@ -184,7 +184,8 @@ def main(): BASE_URL = "https://api.jiandaoyun.com/api/v5/app/entry/data/list" AUTH_TOKEN = "tPh9Fm9qumixcfDDvk42TUsc3Y0OoarD" API_ID = "251f0714de2d4240a14404bac29f7b31" - + + # 获取visit params = {'entry_id':'6752adebf850c56051660641','app_id':'671062779c3695dfa9c0f892',} APP_ID = params['app_id'] ENTRY_ID = params['entry_id'] diff --git a/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云销售拜访数据同步/wf_dag_jdy_account_vist_syncs.py b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云销售拜访数据同步/wf_dag_jdy_account_vist_syncs.py index 514916b..1d1c128 100644 --- a/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云销售拜访数据同步/wf_dag_jdy_account_vist_syncs.py +++ b/dev/workflow/TK_Cust/jdy_account_vist_syncs/简道云销售拜访数据同步/wf_dag_jdy_account_vist_syncs.py @@ -150,8 +150,60 @@ depends_on_past=False, retries=3, dag=dag) +t01_jdy_account = SSHOperator( +ssh_hook=sshHook, +task_id='t01_jdy_account', +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_jdy_account_agi"}, +depends_on_past=False, +retries=3, +dag=dag) +t01_s_jdy_ae_plan = SSHOperator( +ssh_hook=sshHook, +task_id='t01_s_jdy_ae_plan', +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_s_jdy_ae_plan_agi"}, +depends_on_past=False, +retries=3, +dag=dag) +t01_jdy_contact = SSHOperator( +ssh_hook=sshHook, +task_id='t01_jdy_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_jdy_contact_agi"}, +depends_on_past=False, +retries=3, +dag=dag) +t01_s_jdy_daily_visit = SSHOperator( +ssh_hook=sshHook, +task_id='t01_s_jdy_daily_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_s_jdy_daily_visit_agi"}, +depends_on_past=False, +retries=3, +dag=dag) + +dysql_tk_jdy_employee = SSHOperator( +ssh_hook=sshHook, +task_id='dysql_tk_jdy_employee', +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':"dysql_tk_jdy_employee"}, +depends_on_past=False, +retries=3, +dag=dag) + + + Jdy_contact_01_load >> jdy_contact_6445 Jdy_ae_01_load >> jdy_ae_plan_2600 Jdy_daily_visit_load >> jdy_daily_visit_9783 Jdy_account_01_load >> jdy_account_4319 -jdy_account_4319 >> task_failed +jdy_account_4319 >> t01_jdy_account +jdy_ae_plan_2600 >> t01_s_jdy_ae_plan +jdy_contact_6445 >> t01_jdy_contact +jdy_daily_visit_9783 >> t01_s_jdy_daily_visit +jdy_ae_plan_2600 >> dysql_tk_jdy_employee +jdy_contact_6445 >> dysql_tk_jdy_employee +jdy_daily_visit_9783 >> dysql_tk_jdy_employee +jdy_account_4319 >> dysql_tk_jdy_employee +dysql_tk_jdy_employee >> task_failed