add workflow 简道云销售拜访数据同步,dev

This commit is contained in:
root 2025-09-26 16:27:01 +08:00
parent 5fc5a57c34
commit 7969b2e3e3
8 changed files with 1017 additions and 4 deletions

View File

@ -0,0 +1,46 @@
DROP TABLE IF EXISTS p20_pdm.t01_jdy_ae_plan;
CREATE TABLE IF NOT EXISTS p20_pdm.t01_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_jdy_ae_plan.id IS '主键ID';
COMMENT ON COLUMN p20_pdm.t01_jdy_ae_plan.ae_id IS 'AE ID';
COMMENT ON COLUMN p20_pdm.t01_jdy_ae_plan.task_follow_up_time IS 'Task Followup Date/Time';
COMMENT ON COLUMN p20_pdm.t01_jdy_ae_plan.ae_status IS '排期状态';
COMMENT ON COLUMN p20_pdm.t01_jdy_ae_plan.creator_id IS '创建人ID';
COMMENT ON COLUMN p20_pdm.t01_jdy_ae_plan.create_time IS '创建时间';
COMMENT ON COLUMN p20_pdm.t01_jdy_ae_plan.updater_id IS '更新人ID';
COMMENT ON COLUMN p20_pdm.t01_jdy_ae_plan.update_time IS '更新时间';
COMMENT ON COLUMN p20_pdm.t01_jdy_ae_plan.deleter_id IS '删除人ID';
COMMENT ON COLUMN p20_pdm.t01_jdy_ae_plan.delete_time IS '删除时间';
COMMENT ON COLUMN p20_pdm.t01_jdy_ae_plan.app_id IS '';
COMMENT ON COLUMN p20_pdm.t01_jdy_ae_plan.entry_id IS '';
COMMENT ON COLUMN p20_pdm.t01_jdy_ae_plan.Etl_Batch_No IS '作业批次号';
COMMENT ON COLUMN p20_pdm.t01_jdy_ae_plan.Etl_First_Dt IS '最初入库时间';
COMMENT ON COLUMN p20_pdm.t01_jdy_ae_plan.Etl_Job IS '作业名称';
COMMENT ON COLUMN p20_pdm.t01_jdy_ae_plan.Etl_Proc_Dt IS '本次入库时间';
COMMENT ON COLUMN p20_pdm.t01_jdy_ae_plan.Etl_Tx_Dt IS '作业运行时间';
COMMENT ON COLUMN p20_pdm.t01_jdy_ae_plan.Src_Sysname IS '来源系统';
COMMENT ON COLUMN p20_pdm.t01_jdy_ae_plan.Src_Table IS '来源表';
COMMENT ON TABLE p20_pdm.t01_jdy_ae_plan IS '简道云AE排期表';

View File

@ -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_jdy_ae_plan(简道云AE排期表) */
/*Create Date:2025-09-26 16:23:41 */
/*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_jdy_ae_plan */
/*ETL Job Name:t01_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_jdy_ae_plan_agi_CUR_I
( LIKE :PDMDB.t01_jdy_ae_plan)
ON COMMIT PRESERVE ROWS;
/*创建临时表加载不同数据 */
CREATE TEMPORARY TABLE t01_jdy_ae_plan_agi_INS
( LIKE :PDMDB.t01_jdy_ae_plan)
ON COMMIT PRESERVE ROWS;
/*****************************************************************************************************/
/* GROUP 1:Source Table:s98_s_jdy_ae_plan*************************************************************/
/*****************************************************************************************************/
INSERT INTO t01_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_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_jdy_ae_plan_agi_CUR_I P1
LEFT JOIN :PDMDB.t01_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_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_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

View File

@ -0,0 +1,128 @@
DROP TABLE IF EXISTS p20_pdm.t01_jdy_daily_visit;
CREATE TABLE IF NOT EXISTS p20_pdm.t01_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 int
, quater_no int
, 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_jdy_daily_visit.id IS '主键ID';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.account IS '公司名称';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.assign_id IS '指派人ID';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.task_name IS '任务名称';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.visit_time IS '拜访时间';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.task_follow_up_time IS 'Task Followup Date/Time';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.irtnc_state IS 'IRTNC状态';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.segments IS '细分';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.application IS '应用';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.intelligence_source IS '信息来源';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.funnels_created IS 'Funnels Created(K/USD)';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.status IS '状态';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.order_ae_flag IS '是否预约AE';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.ae_confict_flag IS 'AE时间是否冲突';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.account2 IS '公司2';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.city IS '城市';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.company_name_en IS '公司英文名称';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.nick_name IS '公司简称';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.company_id IS '公司ID';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.salar_id IS '所属销售ID';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.contact_name IS '联系人';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.phone IS '联系方式';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.wechat_id IS '微信';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.email IS 'Email';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.new_flag IS 'New/Old';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.account_type IS '公司类型';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.products IS '产品';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.product_family1 IS '产品系列1';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.product_family2 IS '产品系列2';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.product_family3 IS '产品系列3';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.attachments IS 'Attachments';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.remarks IS '备注';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.contact_phone_flag IS '判断是否能返回联系人电话号';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.repeat_flag IS '判断是否重复数据';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.am IS 'AM';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.visit_tm IS '选择拜访时间';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.replan_flag IS '辅助-判断是否重复排期2';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.status2 IS '状态2';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.ap_week IS 'AP-WEEK';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.year_text IS 'Year-文本';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.year_no IS '年份';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.quater_no IS '季度';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.assigned_to_text IS 'Assigned to-文本';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.time_no IS '时间-数字';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.creator_id IS '创建人ID';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.create_time IS '创建时间';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.updater_id IS '更新人ID';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.update_time IS '更新时间';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.flow_state IS '流程状态';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.deleter_id IS '删除人ID';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.delete_time IS '删除时间';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.app_id IS '';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.entry_id IS '';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.Etl_Batch_No IS '作业批次号';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.Etl_First_Dt IS '最初入库时间';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.Etl_Job IS '作业名称';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.Etl_Proc_Dt IS '本次入库时间';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.Etl_Tx_Dt IS '作业运行时间';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.Src_Sysname IS '来源系统';
COMMENT ON COLUMN p20_pdm.t01_jdy_daily_visit.Src_Table IS '来源表';
COMMENT ON TABLE p20_pdm.t01_jdy_daily_visit IS '简道云Visit';

View File

@ -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_jdy_daily_visit(简道云Visit) */
/*Create Date:2025-09-26 16:24:19 */
/*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_jdy_daily_visit */
/*ETL Job Name:t01_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_jdy_daily_visit_agi_CUR_I
( LIKE :PDMDB.t01_jdy_daily_visit)
ON COMMIT PRESERVE ROWS;
/*创建临时表加载不同数据 */
CREATE TEMPORARY TABLE t01_jdy_daily_visit_agi_INS
( LIKE :PDMDB.t01_jdy_daily_visit)
ON COMMIT PRESERVE ROWS;
/*****************************************************************************************************/
/* GROUP 1:Source Table:s98_s_jdy_daily_visit*********************************************************/
/*****************************************************************************************************/
INSERT INTO t01_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_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_jdy_daily_visit_agi_CUR_I P1
LEFT JOIN :PDMDB.t01_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_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_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

View File

@ -190,7 +190,7 @@ def main():
APP_ID = params['app_id']
ENTRY_ID = params['entry_id']
start_dt = get_previous_date(3)
start_dt = get_previous_date(30)
end_dt = get_previous_date(0)
# 创建客户端

View File

@ -189,7 +189,7 @@ def main():
APP_ID = params['app_id']
ENTRY_ID = params['entry_id']
start_dt = get_previous_date(3)
start_dt = get_previous_date(30)
end_dt = get_previous_date(0)
# 创建客户端

View File

@ -190,7 +190,7 @@ def main():
APP_ID = params['app_id']
ENTRY_ID = params['entry_id']
start_dt = get_previous_date(3)
start_dt = get_previous_date(30)
end_dt = get_previous_date(0)
# 创建客户端

View File

@ -190,7 +190,7 @@ def main():
APP_ID = params['app_id']
ENTRY_ID = params['entry_id']
start_dt = get_previous_date(3)
start_dt = get_previous_date(30)
end_dt = get_previous_date(0)
# 创建客户端