From 519b610d2fb8e0547d1baca22f4d9a9296baee82 Mon Sep 17 00:00:00 2001
From: root <root@81c39a89d7ce>
Date: Mon, 15 Jan 2024 15:10:37 +0800
Subject: [PATCH] =?UTF-8?q?add=20workflow=20=E6=B3=B0=E5=85=8B=E5=AE=A2?=
 =?UTF-8?q?=E6=88=B7,dev?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../SCRM联系方式历史/t01_scrm_contact_his.sql |  54 ++++
 .../t01_scrm_contact_his_agi.sql              | 271 ++++++++++++++++++
 .../dev/tk_cust/泰克客户/wf_dag_tk_cust.py    | 230 +++++++++++++++
 3 files changed, 555 insertions(+)
 create mode 100644 TK_Cust/dev/tk_cust/SCRM联系方式历史/t01_scrm_contact_his.sql
 create mode 100644 TK_Cust/dev/tk_cust/SCRM联系方式历史/t01_scrm_contact_his_agi.sql
 create mode 100644 TK_Cust/dev/tk_cust/泰克客户/wf_dag_tk_cust.py

diff --git a/TK_Cust/dev/tk_cust/SCRM联系方式历史/t01_scrm_contact_his.sql b/TK_Cust/dev/tk_cust/SCRM联系方式历史/t01_scrm_contact_his.sql
new file mode 100644
index 0000000..799f955
--- /dev/null
+++ b/TK_Cust/dev/tk_cust/SCRM联系方式历史/t01_scrm_contact_his.sql
@@ -0,0 +1,54 @@
+
+DROP TABLE IF EXISTS p20_pdm.t01_scrm_contact_his;
+CREATE TABLE IF NOT EXISTS p20_pdm.t01_scrm_contact_his (
+	 scrm_leads_id  varchar(20) 
+	, full_name  varchar(20) 
+	, mobile_number  varchar(20) 
+	, email  varchar(50) 
+	, company_name  varchar(50) 
+	, init_src_info  varchar(50) 
+	, init_src  varchar(50) 
+	, init_src_content  varchar(50) 
+	, post  varchar(50) 
+	, create_time  timestamp(0) 
+	, create_mode  varchar(50) 
+	, create_from  varchar(50) 
+	, city_name  varchar(20) 
+	, prov_name  varchar(20) 
+	, last_update_time  timestamp(0) 
+	, wechat_id  varchar(100) 
+	, Etl_Batch_No  varchar(50) 
+	, Etl_First_Dt  timestamp(0) 
+	, Etl_Job  varchar(50) 
+	, Etl_Proc_Dt  timestamp(0) 
+	, Etl_Tx_Dt  timestamp(0) 
+	, Src_Sysname  varchar(50) 
+	, Src_Table  varchar(50) 
+	,primary key( scrm_leads_id )
+);
+
+ COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.scrm_leads_id IS 'SCRM线索ID'; 
+ COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.full_name IS '姓名'; 
+ COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.mobile_number IS '手机号码'; 
+ COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.email IS '邮箱'; 
+ COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.company_name IS '公司'; 
+ COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.init_src_info IS '初始来源信息'; 
+ COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.init_src IS '初始来源'; 
+ COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.init_src_content IS '初始来源内容'; 
+ COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.post IS '职位'; 
+ COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.create_time IS '创建时间'; 
+ COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.create_mode IS '创建方式'; 
+ COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.create_from IS '创建自'; 
+ COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.city_name IS '城市'; 
+ COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.prov_name IS '省份'; 
+ COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.last_update_time IS '最后更新时间'; 
+ COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.wechat_id IS '身份-企业微信外部联系人'; 
+ COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.Etl_Batch_No IS '作业批次号'; 
+ COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.Etl_First_Dt IS '最初入库时间'; 
+ COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.Etl_Job IS '作业名称'; 
+ COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.Etl_Proc_Dt IS '本次入库时间'; 
+ COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.Etl_Tx_Dt IS '作业运行时间'; 
+ COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.Src_Sysname IS '来源系统'; 
+ COMMENT ON COLUMN p20_pdm.t01_scrm_contact_his.Src_Table IS '来源表'; 
+
+COMMENT ON TABLE p20_pdm.t01_scrm_contact_his IS 'SCRM联系方式历史';
\ No newline at end of file
diff --git a/TK_Cust/dev/tk_cust/SCRM联系方式历史/t01_scrm_contact_his_agi.sql b/TK_Cust/dev/tk_cust/SCRM联系方式历史/t01_scrm_contact_his_agi.sql
new file mode 100644
index 0000000..71f6a23
--- /dev/null
+++ b/TK_Cust/dev/tk_cust/SCRM联系方式历史/t01_scrm_contact_his_agi.sql
@@ -0,0 +1,271 @@
+/***************************************************************************************************/
+/*script in Sql, generate by SdmCreateScript 2020(by Qihang Feng, QF255001@TERADATA.COM)     */
+/*VERSION 01.10 revised on 2020-08-25                                                              */
+/*Brilliance stems from wisdoms.                                                                   */
+/*************Head Section**************************************************************************/
+/*Script Use: Periodically load data to :t01_scrm_contact_his(SCRM联系方式历史)             */
+/*Create Date:2024-01-15 15:10:02                                                                  */
+/*SDM Developed By: dev                                                                            */
+/*SDM Developed Date: 2024-01-10                                                                   */
+/*SDM Checked By: dev                                                                              */
+/*SDM Checked Date: 2024-01-15                                                                     */
+/*Script Developed By: dev                                                                         */
+/*Script Checked By: dev                                                                           */
+/*Source table 1: p10_sa.s98_s_scrm_contact_bf0912                                                 */
+/*Job Type: Inbound transform (Tier 1 to Tier 2)                                                   */
+/*Target Table:t01_scrm_contact_his                                                                */
+/*ETL Job Name:t01_scrm_contact_his                                                                */
+/*ETL Frequency:Daily                                                                              */
+/*ETL Policy:F2                                                                                    */
+/********************************************************************************************/
+/*******Main Section**************************************************************************/
+\set ON_ERROR_STOP on
+\set AUTOCOMMIT on
+\timing on
+
+
+
+/*创建临时表加载当前数据                                                                           */
+CREATE TEMPORARY TABLE t01_scrm_contact_his_agi_CUR_I 
+ ( LIKE :PDMDB.t01_scrm_contact_his)
+ON COMMIT PRESERVE ROWS;
+
+
+
+/*创建临时表加载不同数据                                                                           */
+CREATE TEMPORARY TABLE t01_scrm_contact_his_agi_INS 
+( LIKE :PDMDB.t01_scrm_contact_his)
+ON COMMIT PRESERVE ROWS;
+
+            
+/*****************************************************************************************************/
+/* GROUP 1:Source Table:s98_s_scrm_contact_bf0912*****************************************************/
+/*****************************************************************************************************/
+INSERT INTO t01_scrm_contact_his_agi_CUR_I (
+            scrm_leads_id                           /*SCRM线索ID*/
+           ,full_name                               /*姓名*/
+           ,mobile_number                           /*手机号码*/
+           ,email                                   /*邮箱*/
+           ,company_name                            /*公司*/
+           ,init_src_info                           /*初始来源信息*/
+           ,init_src                                /*初始来源*/
+           ,init_src_content                        /*初始来源内容*/
+           ,post                                    /*职位*/
+           ,create_time                             /*创建时间*/
+           ,create_mode                             /*创建方式*/
+           ,create_from                             /*创建自*/
+           ,city_name                               /*城市*/
+           ,prov_name                               /*省份*/
+           ,last_update_time                        /*最后更新时间*/
+           ,wechat_id                               /*身份-企业微信外部联系人*/
+           ,Etl_Batch_No                            /*作业批次号*/
+           ,Etl_First_Dt                            /*最初入库时间*/
+           ,Etl_Job                                 /*作业名称*/
+           ,Etl_Proc_Dt                             /*本次入库时间*/
+           ,Etl_Tx_Dt                               /*作业运行时间*/
+           ,Src_Sysname                             /*来源系统*/
+           ,Src_Table                               /*来源表*/
+        )
+SELECT
+         COALESCE(TRIM(CAST(p0.cue_id AS varchar(20))),'')         /*scrm_leads_id*/
+        ,COALESCE(TRIM(CAST(p0.full_name AS varchar(20))),'')        /*full_name*/
+        ,COALESCE(TRIM(CAST(p0.mobile_number AS varchar(20))),'')        /*mobile_number*/
+        ,COALESCE(TRIM(CAST(p0.email AS varchar(50))),'')          /*email*/
+        ,COALESCE(TRIM(CAST(p0.company_name AS varchar(50))),'')        /*company_name*/
+        ,COALESCE(TRIM(CAST(p0.init_src_info AS varchar(50))),'')        /*init_src_info*/
+        ,COALESCE(TRIM(CAST(p0.init_src AS varchar(50))),'')        /*init_src*/
+        ,COALESCE(TRIM(CAST(p0.init_src_content AS varchar(50))),'')        /*init_src_content*/
+        ,COALESCE(TRIM(CAST(p0.post AS varchar(50))),'')           /*post*/
+        ,COALESCE(TO_TIMESTAMP(CAST(p0.create_time AS VARCHAR(19)),'YYYY-MM-DD HH24:mi:ss'),TO_TIMESTAMP(:NULLDATE,'YYYYMMDD'))        /*create_time*/
+        ,COALESCE(TRIM(CAST(p0.create_mode AS varchar(50))),'')        /*create_mode*/
+        ,COALESCE(TRIM(CAST(p0.create_from AS varchar(50))),'')        /*create_from*/
+        ,COALESCE(TRIM(CAST(p0.city_name AS varchar(20))),'')        /*city_name*/
+        ,COALESCE(TRIM(CAST(p0.prov_name AS varchar(20))),'')        /*prov_name*/
+        ,COALESCE(TO_TIMESTAMP(CAST(p0.last_update_time AS VARCHAR(19)),'YYYY-MM-DD HH24:mi:ss'),TO_TIMESTAMP(:NULLDATE,'YYYYMMDD'))        /*last_update_time*/
+        ,COALESCE(TRIM(CAST(p0.wechat_id AS varchar(100))),'')        /*wechat_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_scrm_contact_bf0912',1,3)                   /*Src_Sysname*/
+        ,'s98_s_scrm_contact_bf0912'                               /*Src_Table*/
+        
+FROM p10_sa.s98_s_scrm_contact_bf0912  p0
+;
+
+
+
+/*将不同数据插入到临时表                                                                           */
+;INSERT INTO t01_scrm_contact_his_agi_INS (
+         full_name                                                 /*姓名*/
+        ,mobile_number                                             /*手机号码*/
+        ,email                                                     /*邮箱*/
+        ,company_name                                              /*公司*/
+        ,init_src_info                                             /*初始来源信息*/
+        ,init_src                                                  /*初始来源*/
+        ,init_src_content                                          /*初始来源内容*/
+        ,post                                                      /*职位*/
+        ,create_time                                               /*创建时间*/
+        ,create_mode                                               /*创建方式*/
+        ,create_from                                               /*创建自*/
+        ,city_name                                                 /*城市*/
+        ,prov_name                                                 /*省份*/
+        ,last_update_time                                          /*最后更新时间*/
+        ,wechat_id                                                 /*身份-企业微信外部联系人*/
+        ,scrm_leads_id                                             /*SCRM线索ID*/
+        ,Etl_Batch_No                                              /*作业批次号*/
+        ,Etl_First_Dt                                              /*最初入库时间*/
+        ,Etl_Job                                                   /*作业名称*/
+        ,Etl_Proc_Dt                                               /*本次入库时间*/
+        ,Etl_Tx_Dt                                                 /*作业运行时间*/
+        ,Src_Sysname                                               /*来源系统*/
+        ,Src_Table                                                 /*来源表*/
+        
+)
+    SELECT
+         P1.full_name                                                 /*姓名*/
+        ,P1.mobile_number                                             /*手机号码*/
+        ,P1.email                                                     /*邮箱*/
+        ,P1.company_name                                              /*公司*/
+        ,P1.init_src_info                                             /*初始来源信息*/
+        ,P1.init_src                                                  /*初始来源*/
+        ,P1.init_src_content                                          /*初始来源内容*/
+        ,P1.post                                                      /*职位*/
+        ,P1.create_time                                               /*创建时间*/
+        ,P1.create_mode                                               /*创建方式*/
+        ,P1.create_from                                               /*创建自*/
+        ,P1.city_name                                                 /*城市*/
+        ,P1.prov_name                                                 /*省份*/
+        ,P1.last_update_time                                          /*最后更新时间*/
+        ,P1.wechat_id                                                 /*身份-企业微信外部联系人*/
+        ,P1.scrm_leads_id                                             /*SCRM线索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_scrm_contact_his_agi_CUR_I P1
+LEFT JOIN :PDMDB.t01_scrm_contact_his P2
+ON    P1.full_name = P2.full_name
+    AND P1.mobile_number = P2.mobile_number
+    AND P1.email = P2.email
+    AND P1.company_name = P2.company_name
+    AND P1.init_src_info = P2.init_src_info
+    AND P1.init_src = P2.init_src
+    AND P1.init_src_content = P2.init_src_content
+    AND P1.post = P2.post
+    AND P1.create_time = P2.create_time
+    AND P1.create_mode = P2.create_mode
+    AND P1.create_from = P2.create_from
+    AND P1.city_name = P2.city_name
+    AND P1.prov_name = P2.prov_name
+    AND P1.last_update_time = P2.last_update_time
+    AND P1.wechat_id = P2.wechat_id
+    AND P1.scrm_leads_id = P2.scrm_leads_id
+    
+WHERE  P2.full_name IS NULL
+    OR P2.mobile_number IS NULL
+    OR P2.email IS NULL
+    OR P2.company_name IS NULL
+    OR P2.init_src_info IS NULL
+    OR P2.init_src IS NULL
+    OR P2.init_src_content IS NULL
+    OR P2.post IS NULL
+    OR P2.create_time IS NULL
+    OR P2.create_mode IS NULL
+    OR P2.create_from IS NULL
+    OR P2.city_name IS NULL
+    OR P2.prov_name IS NULL
+    OR P2.last_update_time IS NULL
+    OR P2.wechat_id IS NULL
+    OR P2.scrm_leads_id IS NULL
+    
+; 
+/*将新增数据插入到目标表                                                                           */
+;INSERT INTO :PDMDB.t01_scrm_contact_his (
+         full_name                                                 /*姓名*/
+        ,mobile_number                                             /*手机号码*/
+        ,email                                                     /*邮箱*/
+        ,company_name                                              /*公司*/
+        ,init_src_info                                             /*初始来源信息*/
+        ,init_src                                                  /*初始来源*/
+        ,init_src_content                                          /*初始来源内容*/
+        ,post                                                      /*职位*/
+        ,create_time                                               /*创建时间*/
+        ,create_mode                                               /*创建方式*/
+        ,create_from                                               /*创建自*/
+        ,city_name                                                 /*城市*/
+        ,prov_name                                                 /*省份*/
+        ,last_update_time                                          /*最后更新时间*/
+        ,wechat_id                                                 /*身份-企业微信外部联系人*/
+        ,scrm_leads_id                                             /*SCRM线索ID*/
+        ,Etl_Batch_No                                              /*作业批次号*/
+        ,Etl_First_Dt                                              /*最初入库时间*/
+        ,Etl_Job                                                   /*作业名称*/
+        ,Etl_Proc_Dt                                               /*本次入库时间*/
+        ,Etl_Tx_Dt                                                 /*作业运行时间*/
+        ,Src_Sysname                                               /*来源系统*/
+        ,Src_Table                                                 /*来源表*/
+        
+)
+SELECT
+         P1.full_name                                                 /*姓名*/
+        ,P1.mobile_number                                             /*手机号码*/
+        ,P1.email                                                     /*邮箱*/
+        ,P1.company_name                                              /*公司*/
+        ,P1.init_src_info                                             /*初始来源信息*/
+        ,P1.init_src                                                  /*初始来源*/
+        ,P1.init_src_content                                          /*初始来源内容*/
+        ,P1.post                                                      /*职位*/
+        ,P1.create_time                                               /*创建时间*/
+        ,P1.create_mode                                               /*创建方式*/
+        ,P1.create_from                                               /*创建自*/
+        ,P1.city_name                                                 /*城市*/
+        ,P1.prov_name                                                 /*省份*/
+        ,P1.last_update_time                                          /*最后更新时间*/
+        ,P1.wechat_id                                                 /*身份-企业微信外部联系人*/
+        ,P1.scrm_leads_id                                             /*SCRM线索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_scrm_contact_his_agi_INS P1
+ON CONFLICT ( scrm_leads_id)
+DO UPDATE SET
+     scrm_leads_id=excluded.scrm_leads_id
+    ,full_name=excluded.full_name
+    ,mobile_number=excluded.mobile_number
+    ,email=excluded.email
+    ,company_name=excluded.company_name
+    ,init_src_info=excluded.init_src_info
+    ,init_src=excluded.init_src
+    ,init_src_content=excluded.init_src_content
+    ,post=excluded.post
+    ,create_time=excluded.create_time
+    ,create_mode=excluded.create_mode
+    ,create_from=excluded.create_from
+    ,city_name=excluded.city_name
+    ,prov_name=excluded.prov_name
+    ,last_update_time=excluded.last_update_time
+    ,wechat_id=excluded.wechat_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/TK_Cust/dev/tk_cust/泰克客户/wf_dag_tk_cust.py b/TK_Cust/dev/tk_cust/泰克客户/wf_dag_tk_cust.py
new file mode 100644
index 0000000..087a169
--- /dev/null
+++ b/TK_Cust/dev/tk_cust/泰克客户/wf_dag_tk_cust.py
@@ -0,0 +1,230 @@
+#!/usr/bin/python
+# -*- encoding=utf-8 -*-
+from airflow import DAG
+from datetime import datetime, timedelta
+from airflow.contrib.hooks.ssh_hook import SSHHook
+from airflow.contrib.operators.ssh_operator import SSHOperator
+from airflow.sensors.external_task_sensor import ExternalTaskSensor
+import json
+
+from airflow.operators.email_operator import EmailOperator
+from airflow.utils.trigger_rule import TriggerRule
+
+
+sshHook = SSHHook(ssh_conn_id ='ssh_air')
+default_args = {
+'owner': 'info@idgvalue.com',
+'email': [''],
+'email_on_failure': True,
+'email_on_retry':True,
+'start_date': datetime(2022, 9, 12),
+'depends_on_past': False,
+'retries': 6,
+'retry_delay': timedelta(minutes=10),
+}
+
+dag = DAG('wf_dag_tk_cust', default_args=default_args,
+schedule_interval="0 0 * * *",
+catchup=False,
+dagrun_timeout=timedelta(minutes=160),
+max_active_runs=3)
+
+task_failed = EmailOperator (
+    dag=dag,
+    trigger_rule=TriggerRule.ONE_FAILED,
+    task_id="task_failed",
+    to=["info@idgvalue.com"],
+    cc=[""],
+    subject="tk_cust_failed",
+    html_content='<h3>您好,tk_cust作业失败,请及时处理" </h3>')
+
+file_Tk01 = SSHOperator(
+ssh_hook=sshHook,
+task_id='file_Tk01',
+command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }}  >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ',
+params={'my_param':"Tk01"},
+depends_on_past=False, 
+retries=3, 
+dag=dag)
+
+
+file_Update_af0912 = SSHOperator(
+ssh_hook=sshHook,
+task_id='file_Update_af0912',
+command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }}  >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ',
+params={'my_param':"Update_af0912"},
+depends_on_past=False, 
+retries=3, 
+dag=dag)
+
+
+file_Merge_af0912 = SSHOperator(
+ssh_hook=sshHook,
+task_id='file_Merge_af0912',
+command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }}  >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ',
+params={'my_param':"Merge_af0912"},
+depends_on_past=False, 
+retries=3, 
+dag=dag)
+
+
+file_SCRM_Contact_af0912 = SSHOperator(
+ssh_hook=sshHook,
+task_id='file_SCRM_Contact_af0912',
+command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }}  >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ',
+params={'my_param':"SCRM_Contact_af0912"},
+depends_on_past=False, 
+retries=3, 
+dag=dag)
+
+
+file_SCRM_Contact_bf0912 = SSHOperator(
+ssh_hook=sshHook,
+task_id='file_SCRM_Contact_bf0912',
+command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }}  >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ',
+params={'my_param':"SCRM_Contact_bf0912"},
+depends_on_past=False, 
+retries=3, 
+dag=dag)
+
+
+livechat_6381 = SSHOperator(
+ssh_hook=sshHook,
+task_id='livechat_6381',
+command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ',
+params={'my_param':"S98_S_livechat"},
+depends_on_past=False, 
+retries=3, 
+dag=dag)
+
+scrm_contact_af0912_6333 = SSHOperator(
+ssh_hook=sshHook,
+task_id='scrm_contact_af0912_6333',
+command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ',
+params={'my_param':"S98_S_scrm_contact_af0912"},
+depends_on_past=False, 
+retries=3, 
+dag=dag)
+
+scrm_contact_update_af0912_6448 = SSHOperator(
+ssh_hook=sshHook,
+task_id='scrm_contact_update_af0912_6448',
+command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ',
+params={'my_param':"S98_S_scrm_contact_update_af0912"},
+depends_on_past=False, 
+retries=3, 
+dag=dag)
+
+scrm_contact_merge_af0912_7975 = SSHOperator(
+ssh_hook=sshHook,
+task_id='scrm_contact_merge_af0912_7975',
+command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ',
+params={'my_param':"S98_S_scrm_contact_merge_af0912"},
+depends_on_past=False, 
+retries=3, 
+dag=dag)
+
+scrm_contact_bf0912_6949 = SSHOperator(
+ssh_hook=sshHook,
+task_id='scrm_contact_bf0912_6949',
+command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ',
+params={'my_param':"S98_S_scrm_contact_bf0912"},
+depends_on_past=False, 
+retries=3, 
+dag=dag)
+
+T01_SCRM_CONTACT = SSHOperator(
+ssh_hook=sshHook,
+task_id='T01_SCRM_CONTACT',
+command='/data/airflow/etl/PDM/run_sa.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ',
+params={'my_param':"T01_SCRM_CONTACT_agi"},
+depends_on_past=False, 
+retries=3, 
+dag=dag)
+file_Udesk_record = SSHOperator(
+ssh_hook=sshHook,
+task_id='file_Udesk_record',
+command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }}  >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ',
+params={'my_param':"Udesk_record"},
+depends_on_past=False, 
+retries=3, 
+dag=dag)
+
+
+file_CRM_Raw_Leads = SSHOperator(
+ssh_hook=sshHook,
+task_id='file_CRM_Raw_Leads',
+command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }}  >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ',
+params={'my_param':"CRM_Raw_Leads"},
+depends_on_past=False, 
+retries=3, 
+dag=dag)
+
+
+file_scrm_leads_bf0912 = SSHOperator(
+ssh_hook=sshHook,
+task_id='file_scrm_leads_bf0912',
+command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }}  >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ',
+params={'my_param':"scrm_leads_bf0912"},
+depends_on_past=False, 
+retries=3, 
+dag=dag)
+
+
+file_scrm_leads_af0912 = SSHOperator(
+ssh_hook=sshHook,
+task_id='file_scrm_leads_af0912',
+command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }}  >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ',
+params={'my_param':"scrm_leads_af0912"},
+depends_on_past=False, 
+retries=3, 
+dag=dag)
+
+
+udesk_record_3768 = SSHOperator(
+ssh_hook=sshHook,
+task_id='udesk_record_3768',
+command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ',
+params={'my_param':"S98_S_udesk_record"},
+depends_on_past=False, 
+retries=3, 
+dag=dag)
+
+scrm_leads_bf0912_508 = SSHOperator(
+ssh_hook=sshHook,
+task_id='scrm_leads_bf0912_508',
+command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ',
+params={'my_param':"S98_S_scrm_leads_bf0912"},
+depends_on_past=False, 
+retries=3, 
+dag=dag)
+
+scrm_leads_af0912_5813 = SSHOperator(
+ssh_hook=sshHook,
+task_id='scrm_leads_af0912_5813',
+command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ',
+params={'my_param':"S98_S_scrm_leads_af0912"},
+depends_on_past=False, 
+retries=3, 
+dag=dag)
+
+crm_raw_leads_6024 = SSHOperator(
+ssh_hook=sshHook,
+task_id='crm_raw_leads_6024',
+command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ',
+params={'my_param':"S98_S_crm_raw_leads"},
+depends_on_past=False, 
+retries=3, 
+dag=dag)
+
+file_Tk01 >> livechat_6381
+file_Merge_af0912 >> scrm_contact_merge_af0912_7975
+file_SCRM_Contact_bf0912 >> scrm_contact_bf0912_6949
+file_SCRM_Contact_af0912 >> scrm_contact_af0912_6333
+file_Update_af0912 >> scrm_contact_update_af0912_6448
+scrm_contact_af0912_6333 >> T01_SCRM_CONTACT
+file_Udesk_record >> udesk_record_3768
+file_scrm_leads_bf0912 >> scrm_leads_bf0912_508
+file_scrm_leads_af0912 >> scrm_leads_af0912_5813
+file_CRM_Raw_Leads >> crm_raw_leads_6024
+crm_raw_leads_6024 >> task_failed