add workflow 天润dynamic邮件同步-ls,dev
This commit is contained in:
parent
1a843912ab
commit
6e28ae8d50
|
@ -0,0 +1,208 @@
|
|||
import os
|
||||
import pandas as pd
|
||||
from openpyxl import Workbook
|
||||
import argparse
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.exc import SQLAlchemyError
|
||||
from psycopg2 import connect, extras
|
||||
import datetime
|
||||
import psycopg2
|
||||
from sqlalchemy import text
|
||||
import random
|
||||
|
||||
def export_view_to_csv(view_name, output_file, where_condition, db_config, output_path):
|
||||
|
||||
|
||||
# 检查环境变量是否都已设置
|
||||
for key in db_config:
|
||||
if db_config[key] is None:
|
||||
raise ValueError(f"Environment variable {key} is not set.")
|
||||
|
||||
# 构建数据库连接字符串
|
||||
db_uri = f"postgresql://{db_config['user']}:{db_config['password']}@{db_config['host']}:{db_config['port']}/{db_config['dbname']}"
|
||||
|
||||
# 创建SQLAlchemy引擎
|
||||
engine = create_engine(db_uri)
|
||||
|
||||
if where_condition is None or where_condition.strip() == "":
|
||||
where_condition = " WHERE 1=1 "
|
||||
|
||||
# 构建 SQL 查询语句,选择视图的所有列
|
||||
query = f"""
|
||||
SELECT * FROM {view_name} {where_condition};
|
||||
"""
|
||||
|
||||
# 使用 pandas 读取 SQL 查询结果
|
||||
df = pd.read_sql_query(query, engine)
|
||||
|
||||
# 指定保存 CSV 文件的完整路径
|
||||
file_path = os.path.join(output_path, output_file)
|
||||
|
||||
# 检查output_path目录是否存在,如果不存在则创建
|
||||
if not os.path.exists(output_path):
|
||||
os.makedirs(output_path)
|
||||
|
||||
# 使用 pandas 的 to_csv 方法保存数据到 CSV 文件
|
||||
df.to_csv(file_path, index=False)
|
||||
def main(mail_task_id, dops_db_config, mpp_db_config, send_from):
|
||||
mail_task_result = get_email_info(mail_task_id, dops_db_config)
|
||||
print("邮件任务信息:", mail_task_result)
|
||||
if mail_task_result == None:
|
||||
print(f'未找到邮件任务:{mail_task_id}')
|
||||
exit()
|
||||
mail_task = mail_task_result[0]
|
||||
view_name = mail_task['table_name']
|
||||
send_to = mail_task['send_to']
|
||||
title = mail_task['title']
|
||||
content = mail_task['content']
|
||||
where_condition = mail_task['condition']
|
||||
output_file = mail_task['file_name']
|
||||
output_path = '/data/dops/app/dp-mail/tempFile'
|
||||
|
||||
# 获取当前时间
|
||||
now = datetime.datetime.now()
|
||||
timestampid = now.strftime("%Y%m%d%H%M%S")
|
||||
current_time = now.strftime("%Y-%m-%d %H:%M:%S")
|
||||
random_part = '{:04d}'.format(random.randint(0, 9999))
|
||||
# 组合时间戳和随机数
|
||||
mail_id = f"{timestampid}{random_part}"
|
||||
title = title.replace('{date}', current_time)
|
||||
output_file = output_file.replace('{time}', current_time)
|
||||
|
||||
file_dict_path = os.path.join(output_path, mail_id)
|
||||
|
||||
export_view_to_csv(view_name, output_file, where_condition, mpp_db_config, file_dict_path)
|
||||
# export_view_to_excel(view_name, output_file, where_condition, mpp_db_config, file_dict_path)
|
||||
insert_mail_record(send_from,send_to, title, content, dops_db_config, mail_id, attachment=output_file)
|
||||
def insert_mail_record(send_from, send_to, subject, mail_content, db_config, mail_id, **kwargs):
|
||||
|
||||
# 从db_config创建数据库URI
|
||||
db_uri = f"postgresql://{db_config['user']}:{db_config['password']}@{db_config['host']}:{db_config['port']}/{db_config['dbname']}"
|
||||
|
||||
# 创建SQLAlchemy引擎
|
||||
engine = create_engine(db_uri)
|
||||
|
||||
# 默认值
|
||||
send_cc = kwargs.get('send_cc', None)
|
||||
send_bcc = kwargs.get('send_bcc', None)
|
||||
attachment = kwargs.get('attachment', None)
|
||||
send_status = kwargs.get('send_status', '0')
|
||||
src_system = kwargs.get('src_system', None)
|
||||
create_tm = kwargs.get('create_tm', datetime.datetime.now())
|
||||
create_person = kwargs.get('create_person', None)
|
||||
upt_tm = kwargs.get('upt_tm', datetime.datetime.now())
|
||||
upt_person = kwargs.get('upt_person', None)
|
||||
remark = kwargs.get('remark', None)
|
||||
|
||||
# 创建一个新的邮件队列记录
|
||||
new_record = {
|
||||
'mail_id': mail_id,
|
||||
'send_from': send_from,
|
||||
'send_to': send_to,
|
||||
'send_cc': send_cc,
|
||||
'send_bcc': send_bcc,
|
||||
'subject': subject,
|
||||
'mail_content': mail_content,
|
||||
'attachment': attachment,
|
||||
'send_status': send_status,
|
||||
'src_system': src_system,
|
||||
'create_tm': create_tm,
|
||||
'create_person': create_person,
|
||||
'upt_tm': upt_tm,
|
||||
'upt_person': upt_person,
|
||||
'remark': remark,
|
||||
}
|
||||
print(f'插入邮件队列记录:{new_record}')
|
||||
|
||||
# 使用with语句确保Connection在操作完成后被关闭
|
||||
with engine.connect() as connection:
|
||||
try:
|
||||
# 插入记录
|
||||
insert_stmt = text("""
|
||||
INSERT INTO dp_email.mail_queue (
|
||||
id, send_from, send_to, send_cc, send_bcc, subject,
|
||||
mail_content, attachment, send_status, src_system,
|
||||
create_tm, create_person, upt_tm, upt_person, remark
|
||||
) VALUES (
|
||||
:mail_id, :send_from, :send_to, :send_cc, :send_bcc, :subject,
|
||||
:mail_content, :attachment, :send_status, :src_system,
|
||||
:create_tm, :create_person, :upt_tm, :upt_person, :remark
|
||||
)
|
||||
""")
|
||||
|
||||
connection.execute(insert_stmt, new_record)
|
||||
|
||||
except Exception as e:
|
||||
raise e
|
||||
|
||||
|
||||
def get_email_info(mail_task_id, dops_db_config):
|
||||
|
||||
print(f'获取id为:{mail_task_id} 邮件任务信息')
|
||||
# 数据库连接参数
|
||||
db_params = dops_db_config
|
||||
|
||||
# 连接数据库
|
||||
conn = psycopg2.connect(**db_params)
|
||||
|
||||
# 创建游标
|
||||
cur = conn.cursor(cursor_factory=psycopg2.extras.RealDictCursor)
|
||||
|
||||
# 执行查询语句
|
||||
query = """
|
||||
SELECT
|
||||
mail_task_id
|
||||
, send_to
|
||||
, title
|
||||
, content
|
||||
, table_name
|
||||
, condition
|
||||
, file_name
|
||||
, valid_ind
|
||||
, sort
|
||||
FROM dp_custom.s_v_email_distribute
|
||||
WHERE mail_task_id = %s and valid_ind='1';
|
||||
"""
|
||||
cur.execute(query, (mail_task_id,))
|
||||
|
||||
# 获取查询结果
|
||||
result = cur.fetchall()
|
||||
|
||||
# 关闭游标和连接
|
||||
cur.close()
|
||||
conn.close()
|
||||
|
||||
return result
|
||||
|
||||
# 使用函数
|
||||
# mail_task_id = "your_mail_task_id"
|
||||
# info = get_email_info(mail_task_id)
|
||||
# print(info)
|
||||
|
||||
if __name__ == "__main__":
|
||||
# 以下内容根据各环境不同,手动配置
|
||||
mpp_db_config = {
|
||||
'dbname': os.getenv('DATABASENAME'),
|
||||
'user': os.getenv('USERNAME'),
|
||||
'password': os.getenv('PGPASSWORD'),
|
||||
'host': os.getenv('DBIP'),
|
||||
'port': os.getenv('PORT')
|
||||
}
|
||||
|
||||
dops_db_config = {
|
||||
'dbname': 'dataops_db',
|
||||
'user': os.getenv('USERNAME'),
|
||||
'password': os.getenv('PGPASSWORD'),
|
||||
'host': os.getenv('DBIP'),
|
||||
'port': os.getenv('PORT')
|
||||
}
|
||||
|
||||
send_from = 'tek_newsletter@163.com'
|
||||
|
||||
# 创建命令行参数解析器
|
||||
parser = argparse.ArgumentParser(description="Export PostgreSQL Data to Excel")
|
||||
parser.add_argument("mail_task_id", help="ID of the Mail Task to export")
|
||||
args = parser.parse_args()
|
||||
|
||||
# 调用main函数,传递命令行参数
|
||||
main(args.mail_task_id, dops_db_config, mpp_db_config, send_from)
|
|
@ -0,0 +1,116 @@
|
|||
|
||||
DROP TABLE IF EXISTS p30_common.f_ccc_work_ticket_integ;
|
||||
CREATE TABLE IF NOT EXISTS p30_common.f_ccc_work_ticket_integ (
|
||||
PEXTENSION_CODE varchar(20)
|
||||
, PEXTENSION varchar(20)
|
||||
, LAST_NAME varchar(20)
|
||||
, SUFFIX varchar(20)
|
||||
, COMPANY_NAME varchar(50)
|
||||
, JOB_TITLE varchar(20)
|
||||
, CITY varchar(20)
|
||||
, STATE_COUNTY_LOCATION varchar(20)
|
||||
, COUNTRY_CODE varchar(20)
|
||||
, POSTAL_CODE varchar(20)
|
||||
, CONTACT_MOBILE_NUMBER varchar(20)
|
||||
, EMAIL_ADDRESS varchar(50)
|
||||
, REQUEST_A_DEMO varchar(10)
|
||||
, REQUEST_A_QUOTE varchar(10)
|
||||
, HAMCAM varchar(10)
|
||||
, PURCHASE_INTENT varchar(10)
|
||||
, COMMENTS text
|
||||
, INDUSTRY varchar(20)
|
||||
, CCP_PRODUCT_INTEREST_01 varchar(20)
|
||||
, CCP_APP_01_5 varchar(20)
|
||||
, LEAD_PRODUCTS_01_5 varchar(20)
|
||||
, PERMISSION_PHONE varchar(10)
|
||||
, PERMISSION_PHONE_DATE timestamp(0)
|
||||
, PERMISSION_EMAIL varchar(10)
|
||||
, PERMISSION_EMAIL_DATE timestamp(0)
|
||||
, PERMISSION_MAIL varchar(10)
|
||||
, PERMISSION_MAIL_DATE timestamp(0)
|
||||
, PERMISSION_SMS varchar(10)
|
||||
, PERMISSION_SMS_DATE timestamp(0)
|
||||
, AGREES_TO_PRIVACY_POLICY varchar(10)
|
||||
, PORTAL_TERMS_AGREEMENT_DATE timestamp(0)
|
||||
, CONSENT_TO_COLLECT_PERSONAL_INFO varchar(10)
|
||||
, CONSENT_TO_COLLECT_PERSONAL_INFO_DATE timestamp(0)
|
||||
, MARKETING_CONSENT varchar(10)
|
||||
, MARKETING_CONSENT_DATE timestamp(0)
|
||||
, MEANS_OF_CONSENT varchar(10)
|
||||
, SOURCE_OF_CONSENT varchar(10)
|
||||
, VERSION_OF_PRIVACY_NOTICE varchar(10)
|
||||
, RECORD_OF_CONSENT varchar(10)
|
||||
, EXACT_CONSENT_LANGUAGE varchar(10)
|
||||
, BRAND_TEKTRONIX varchar(10)
|
||||
, BRAND_SSO varchar(10)
|
||||
, BRAND_KEITHLEY varchar(10)
|
||||
, EMAIL_PREFERENCE varchar(10)
|
||||
, Src_Sysname varchar(50)
|
||||
, Etl_Job varchar(200)
|
||||
, Src_Table varchar(50)
|
||||
, Etl_Tx_Dt timestamp(0)
|
||||
, Etl_First_Dt timestamp(0)
|
||||
, Etl_Proc_Dt timestamp(0)
|
||||
, Etl_Batch_No varchar(50)
|
||||
, second_mobile_number varchar(20)
|
||||
, company_phone_number varchar(20)
|
||||
, district varchar(50)
|
||||
,primary key( SUFFIX )
|
||||
);
|
||||
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.PEXTENSION_CODE IS '来源代码';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.PEXTENSION IS '来源';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.LAST_NAME IS '姓名';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.SUFFIX IS '工单ID';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.COMPANY_NAME IS '公司名称';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.JOB_TITLE IS '职位';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.CITY IS '城市';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.STATE_COUNTY_LOCATION IS '省份';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.COUNTRY_CODE IS '国家';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.POSTAL_CODE IS '邮编';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.CONTACT_MOBILE_NUMBER IS '电话';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.EMAIL_ADDRESS IS '邮箱';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.REQUEST_A_DEMO IS 'demo标志';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.REQUEST_A_QUOTE IS '引用标志';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.HAMCAM IS '账户管理员标志';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.PURCHASE_INTENT IS '购买意向';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.COMMENTS IS '备注';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.INDUSTRY IS '行业';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.CCP_PRODUCT_INTEREST_01 IS '产品偏好';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.CCP_APP_01_5 IS '应用';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.LEAD_PRODUCTS_01_5 IS '产品型号';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.PERMISSION_PHONE IS '电话授权标志';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.PERMISSION_PHONE_DATE IS '电话授权时间';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.PERMISSION_EMAIL IS '电子邮件授权标志';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.PERMISSION_EMAIL_DATE IS '电子邮件授权时间';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.PERMISSION_MAIL IS '邮件授权标志';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.PERMISSION_MAIL_DATE IS '邮件授权时间';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.PERMISSION_SMS IS 'SMS授权标志';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.PERMISSION_SMS_DATE IS 'SMS授权时间';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.AGREES_TO_PRIVACY_POLICY IS '个人信息授权标志';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.PORTAL_TERMS_AGREEMENT_DATE IS '协议授权时间';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.CONSENT_TO_COLLECT_PERSONAL_INFO IS '个人信息收集标志';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.CONSENT_TO_COLLECT_PERSONAL_INFO_DATE IS '个人信息收集时间';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.MARKETING_CONSENT IS 'MARKETING_CONSENT';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.MARKETING_CONSENT_DATE IS 'MARKETING_CONSENT_DATE';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.MEANS_OF_CONSENT IS 'MEANS_OF_CONSENT';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.SOURCE_OF_CONSENT IS 'SOURCE_OF_CONSENT';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.VERSION_OF_PRIVACY_NOTICE IS 'VERSION_OF_PRIVACY_NOTICE';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.RECORD_OF_CONSENT IS 'RECORD_OF_CONSENT';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.EXACT_CONSENT_LANGUAGE IS 'EXACT_CONSENT_LANGUAGE';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.BRAND_TEKTRONIX IS 'BRAND_TEKTRONIX';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.BRAND_SSO IS 'BRAND_SSO';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.BRAND_KEITHLEY IS 'BRAND_KEITHLEY';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.EMAIL_PREFERENCE IS 'EMAIL_PREFERENCE';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.Src_Sysname IS '来源系统';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.Etl_Job IS '作业名称';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.Src_Table IS '来源表';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.Etl_Tx_Dt IS '作业运行时间';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.Etl_First_Dt IS '最初入库时间';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.Etl_Proc_Dt IS '本次入库时间';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.Etl_Batch_No IS '作业批次号';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.second_mobile_number IS '第二手机号';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.company_phone_number IS '固话号';
|
||||
COMMENT ON COLUMN p30_common.f_ccc_work_ticket_integ.district IS '地区';
|
||||
|
||||
COMMENT ON TABLE p30_common.f_ccc_work_ticket_integ IS 'smartccc工单信息集成';
|
|
@ -0,0 +1,816 @@
|
|||
/***************************************************************************************************/
|
||||
/*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 :f_ccc_work_ticket_integ(smartccc工单信息集成) */
|
||||
/*Create Date:2025-03-17 14:18:33 */
|
||||
/*SDM Developed By: dev */
|
||||
/*SDM Developed Date: 2024-07-09 */
|
||||
/*SDM Checked By: dev */
|
||||
/*SDM Checked Date: 2025-03-17 */
|
||||
/*Script Developed By: dev */
|
||||
/*Script Checked By: dev */
|
||||
/*Source table 1: :PDMDB.t00_china_city_pnum */
|
||||
/*Source table 2: :PDMDB.t01_ccc_cust_info */
|
||||
/*Source table 3: :PDMDB.t00_china_city_info */
|
||||
/*Source table 4: :PDMDB.t01_ccc_work_ticket_info */
|
||||
/*Job Type: Inbound transform (Tier 1 to Tier 2) */
|
||||
/*Target Table:f_ccc_work_ticket_integ */
|
||||
/*ETL Job Name:f_ccc_work_ticket_integ */
|
||||
/*ETL Frequency:Daily */
|
||||
/*ETL Policy:F2 */
|
||||
/********************************************************************************************/
|
||||
/*******Main Section**************************************************************************/
|
||||
\set ON_ERROR_STOP on
|
||||
\set AUTOCOMMIT on
|
||||
\timing on
|
||||
|
||||
|
||||
|
||||
/*创建临时表加载当前数据 */
|
||||
CREATE TEMPORARY TABLE f_ccc_work_ticket_integ_agi_CUR_I
|
||||
( LIKE :COMMDB.f_ccc_work_ticket_integ)
|
||||
ON COMMIT PRESERVE ROWS;
|
||||
|
||||
|
||||
|
||||
/*创建临时表加载不同数据 */
|
||||
CREATE TEMPORARY TABLE f_ccc_work_ticket_integ_agi_INS
|
||||
( LIKE :COMMDB.f_ccc_work_ticket_integ)
|
||||
ON COMMIT PRESERVE ROWS;
|
||||
|
||||
|
||||
/*****************************************************************************************************/
|
||||
/* GROUP 1:Source Table:t01_ccc_work_ticket_info******************************************************/
|
||||
/*****************************************************************************************************/
|
||||
|
||||
INSERT INTO f_ccc_work_ticket_integ_agi_CUR_I (
|
||||
PEXTENSION_CODE /*来源代码*/
|
||||
,PEXTENSION /*来源*/
|
||||
,LAST_NAME /*姓名*/
|
||||
,SUFFIX /*工单ID*/
|
||||
,COMPANY_NAME /*公司名称*/
|
||||
,JOB_TITLE /*职位*/
|
||||
,CITY /*城市*/
|
||||
,STATE_COUNTY_LOCATION /*省份*/
|
||||
,COUNTRY_CODE /*国家*/
|
||||
,POSTAL_CODE /*邮编*/
|
||||
,CONTACT_MOBILE_NUMBER /*电话*/
|
||||
,EMAIL_ADDRESS /*邮箱*/
|
||||
,REQUEST_A_DEMO /*demo标志*/
|
||||
,REQUEST_A_QUOTE /*引用标志*/
|
||||
,HAMCAM /*账户管理员标志*/
|
||||
,PURCHASE_INTENT /*购买意向*/
|
||||
,COMMENTS /*备注*/
|
||||
,INDUSTRY /*行业*/
|
||||
,CCP_PRODUCT_INTEREST_01 /*产品偏好*/
|
||||
,CCP_APP_01_5 /*应用*/
|
||||
,LEAD_PRODUCTS_01_5 /*产品型号*/
|
||||
,PERMISSION_PHONE /*电话授权标志*/
|
||||
,PERMISSION_PHONE_DATE /*电话授权时间*/
|
||||
,PERMISSION_EMAIL /*电子邮件授权标志*/
|
||||
,PERMISSION_EMAIL_DATE /*电子邮件授权时间*/
|
||||
,PERMISSION_MAIL /*邮件授权标志*/
|
||||
,PERMISSION_MAIL_DATE /*邮件授权时间*/
|
||||
,PERMISSION_SMS /*SMS授权标志*/
|
||||
,PERMISSION_SMS_DATE /*SMS授权时间*/
|
||||
,AGREES_TO_PRIVACY_POLICY /*个人信息授权标志*/
|
||||
,PORTAL_TERMS_AGREEMENT_DATE /*协议授权时间*/
|
||||
,CONSENT_TO_COLLECT_PERSONAL_INFO /*个人信息收集标志*/
|
||||
,CONSENT_TO_COLLECT_PERSONAL_INFO_DATE /*个人信息收集时间*/
|
||||
,MARKETING_CONSENT /*MARKETING_CONSENT*/
|
||||
,MARKETING_CONSENT_DATE /*MARKETING_CONSENT_DATE*/
|
||||
,MEANS_OF_CONSENT /*MEANS_OF_CONSENT*/
|
||||
,SOURCE_OF_CONSENT /*SOURCE_OF_CONSENT*/
|
||||
,VERSION_OF_PRIVACY_NOTICE /*VERSION_OF_PRIVACY_NOTICE*/
|
||||
,RECORD_OF_CONSENT /*RECORD_OF_CONSENT*/
|
||||
,EXACT_CONSENT_LANGUAGE /*EXACT_CONSENT_LANGUAGE*/
|
||||
,BRAND_TEKTRONIX /*BRAND_TEKTRONIX*/
|
||||
,BRAND_SSO /*BRAND_SSO*/
|
||||
,BRAND_KEITHLEY /*BRAND_KEITHLEY*/
|
||||
,EMAIL_PREFERENCE /*EMAIL_PREFERENCE*/
|
||||
,Src_Sysname /*来源系统*/
|
||||
,Etl_Job /*作业名称*/
|
||||
,Src_Table /*来源表*/
|
||||
,Etl_Tx_Dt /*作业运行时间*/
|
||||
,Etl_First_Dt /*最初入库时间*/
|
||||
,Etl_Proc_Dt /*本次入库时间*/
|
||||
,Etl_Batch_No /*作业批次号*/
|
||||
,second_mobile_number /*第二手机号*/
|
||||
,company_phone_number /*固话号*/
|
||||
,district /*地区*/
|
||||
)
|
||||
SELECT
|
||||
case when coalesce(p0.start_form::json->>'formName','') ='选型报价_Outbound' then '449662X449662'
|
||||
else coalesce(case when p0."source" ='0' then '305972X317938'
|
||||
when p0."source" ='11' then '445769X445769'
|
||||
else '401890X401890' end,'') end /*PEXTENSION_CODE*/
|
||||
,coalesce(p1."source",'') /*PEXTENSION*/
|
||||
,COALESCE(TRIM(CAST(p0.customer_name AS varchar(20))),'') /*LAST_NAME*/
|
||||
,coalesce(p0.id,'') /*SUFFIX*/
|
||||
,coalesce((SELECT jsonb_extract_path_text(j, 'value')
|
||||
FROM jsonb_array_elements((p0.start_form::json -> 'fields')::jsonb) j
|
||||
WHERE jsonb_extract_path_text(j, 'id') = '305038'),'')||(case when coalesce((SELECT jsonb_extract_path_text(j, 'value')
|
||||
FROM jsonb_array_elements((p0.start_form::json -> 'fields')::jsonb) j
|
||||
WHERE jsonb_extract_path_text(j, 'id') = '297756'),'') = '' then '' else ',Enduser: '||coalesce((SELECT jsonb_extract_path_text(j, 'value')
|
||||
FROM jsonb_array_elements((p0.start_form::json -> 'fields')::jsonb) j
|
||||
WHERE jsonb_extract_path_text(j, 'id') = '297756'),'') end) /*COMPANY_NAME*/
|
||||
,coalesce((SELECT jsonb_extract_path_text(j, 'value')
|
||||
FROM jsonb_array_elements(p1.customize::jsonb) j
|
||||
WHERE jsonb_extract_path_text(j, 'name') = '职位'),'') /*JOB_TITLE*/
|
||||
,coalesce(p3.city_name,(SELECT jsonb_extract_path_text(j, 'value')
|
||||
FROM jsonb_array_elements((p0.start_form::json -> 'fields')::jsonb) j
|
||||
WHERE jsonb_extract_path_text(j, 'id') = '317832'),(SELECT jsonb_extract_path_text(j, 'value')
|
||||
FROM jsonb_array_elements((p0.start_form::json -> 'fields')::jsonb) j
|
||||
WHERE jsonb_extract_path_text(j, 'id') = '317748'),(SELECT jsonb_extract_path_text(j, 'value')
|
||||
FROM jsonb_array_elements((p0.start_form::json -> 'fields')::jsonb) j
|
||||
WHERE jsonb_extract_path_text(j, 'id') = '297755'),'') /*CITY*/
|
||||
,coalesce(p3.prov_name,p2.prov_name,'') /*STATE_COUNTY_LOCATION*/
|
||||
,'CN' /*COUNTRY_CODE*/
|
||||
,coalesce(p3.postnumber,p2.postalcode,'') /*POSTAL_CODE*/
|
||||
,coalesce(find_first_phone_number(replace(replace(replace(p1.tel,'"',''),'[','{'),']','}')::text[]),find_first_not_phone_number(replace(replace(replace(p1.tel,'"',''),'[','{'),']','}')::text[]),'null') /*CONTACT_MOBILE_NUMBER*/
|
||||
,coalesce(p1.email,'') /*EMAIL_ADDRESS*/
|
||||
,'YES' /*REQUEST_A_DEMO*/
|
||||
,'YES' /*REQUEST_A_QUOTE*/
|
||||
,'YES' /*HAMCAM*/
|
||||
,4 /*PURCHASE_INTENT*/
|
||||
,'L - mql '||case when p0.workflow_name ='CN离线工单_选型报价' then coalesce((SELECT jsonb_extract_path_text(field, 'value') AS value_298245
|
||||
FROM (
|
||||
SELECT jsonb_array_elements(p0.start_form::jsonb->'fields') AS field
|
||||
) AS t
|
||||
WHERE jsonb_extract_path_text(field, 'id')::int = 297757),'') else coalesce((SELECT jsonb_extract_path_text(field, 'value') AS value_298245
|
||||
FROM (
|
||||
SELECT jsonb_array_elements(p0.start_form::jsonb->'fields') AS field
|
||||
) AS t
|
||||
WHERE jsonb_extract_path_text(field, 'id')::int = 298246),'') end ||' 预算情况:'||coalesce((SELECT jsonb_extract_path_text(field, 'value') AS value_298245
|
||||
FROM (
|
||||
SELECT jsonb_array_elements(p0.start_form::jsonb->'fields') AS field
|
||||
) AS t
|
||||
WHERE jsonb_extract_path_text(field, 'id')::int = 303805),' None ')||';决策权确认:'||coalesce((SELECT jsonb_extract_path_text(field, 'value') AS value_298245
|
||||
FROM (
|
||||
SELECT jsonb_array_elements(p0.start_form::jsonb->'fields') AS field
|
||||
) AS t
|
||||
WHERE jsonb_extract_path_text(field, 'id')::int = 303806),' None ')||';计划购买时间:'||coalesce((SELECT jsonb_extract_path_text(field, 'value') AS value_298245
|
||||
FROM (
|
||||
SELECT jsonb_array_elements(p0.start_form::jsonb->'fields') AS field
|
||||
) AS t
|
||||
WHERE jsonb_extract_path_text(field, 'id')::int = 298249),' None ')||';' /*COMMENTS*/
|
||||
,coalesce((SELECT jsonb_extract_path_text(field, 'value') AS value_297729
|
||||
FROM (
|
||||
SELECT jsonb_array_elements(p0.start_form::jsonb->'fields') AS field
|
||||
) AS t
|
||||
WHERE jsonb_extract_path_text(field, 'id')::int = 297729),'') /*INDUSTRY*/
|
||||
,coalesce((SELECT jsonb_extract_path_text(field, 'value') AS value_298247
|
||||
FROM (
|
||||
SELECT jsonb_array_elements(p0.start_form::jsonb->'fields') AS field
|
||||
) AS t
|
||||
WHERE jsonb_extract_path_text(field, 'id')::int = 298247),'') /*CCP_PRODUCT_INTEREST_01*/
|
||||
,coalesce((SELECT jsonb_extract_path_text(field, 'value') AS value_297730
|
||||
FROM (
|
||||
SELECT jsonb_array_elements(p0.start_form::jsonb->'fields') AS field
|
||||
) AS t
|
||||
WHERE jsonb_extract_path_text(field, 'id')::int = 297730),'') /*CCP_APP_01_5*/
|
||||
,coalesce((SELECT jsonb_extract_path_text(field, 'value') AS value_298300
|
||||
FROM (
|
||||
SELECT jsonb_array_elements(p0.start_form::jsonb->'fields') AS field
|
||||
) AS t
|
||||
WHERE jsonb_extract_path_text(field, 'id')::int = 304927),(SELECT jsonb_extract_path_text(field, 'value') AS value_298300
|
||||
FROM (
|
||||
SELECT jsonb_array_elements(p0.start_form::jsonb->'fields') AS field
|
||||
) AS t
|
||||
WHERE jsonb_extract_path_text(field, 'id')::int = 299137),'') /*LEAD_PRODUCTS_01_5*/
|
||||
,'YES' /*PERMISSION_PHONE*/
|
||||
,p0.create_time /*PERMISSION_PHONE_DATE*/
|
||||
,'YES' /*PERMISSION_EMAIL*/
|
||||
,p0.create_time /*PERMISSION_EMAIL_DATE*/
|
||||
,'YES' /*PERMISSION_MAIL*/
|
||||
,p0.create_time /*PERMISSION_MAIL_DATE*/
|
||||
,'YES' /*PERMISSION_SMS*/
|
||||
,p0.create_time /*PERMISSION_SMS_DATE*/
|
||||
,'YES' /*AGREES_TO_PRIVACY_POLICY*/
|
||||
,p0.create_time /*PORTAL_TERMS_AGREEMENT_DATE*/
|
||||
,'YES' /*CONSENT_TO_COLLECT_PERSONAL_INFO*/
|
||||
,p0.create_time /*CONSENT_TO_COLLECT_PERSONAL_INFO_DATE*/
|
||||
,'' /*MARKETING_CONSENT*/
|
||||
,TO_TIMESTAMP(:NULLDATE,'YYYYMMDD') /*MARKETING_CONSENT_DATE*/
|
||||
,'' /*MEANS_OF_CONSENT*/
|
||||
,'' /*SOURCE_OF_CONSENT*/
|
||||
,'' /*VERSION_OF_PRIVACY_NOTICE*/
|
||||
,'' /*RECORD_OF_CONSENT*/
|
||||
,'' /*EXACT_CONSENT_LANGUAGE*/
|
||||
,'' /*BRAND_TEKTRONIX*/
|
||||
,'' /*BRAND_SSO*/
|
||||
,'' /*BRAND_KEITHLEY*/
|
||||
,'' /*EMAIL_PREFERENCE*/
|
||||
,Substr('t01_ccc_work_ticket_info',1,3) /*Src_Sysname*/
|
||||
,:ETLJOB /*Etl_Job*/
|
||||
,'t01_ccc_work_ticket_info' /*Src_Table*/
|
||||
,TO_DATE(:TXDATE,'YYYYMMDD') /*Etl_Tx_Dt*/
|
||||
,TO_DATE(:TXDATE,'YYYYMMDD') /*Etl_First_Dt*/
|
||||
,current_timestamp(0) /*Etl_Proc_Dt*/
|
||||
,0 /*Etl_Batch_No*/
|
||||
,case when cardinality(array_remove(replace(replace(replace(p1.tel,'"',''),'[','{'),']','}')::text[],find_first_phone_number(replace(replace(replace(p1.tel,'"',''),'[','{'),']','}')::text[])))=0 then ''
|
||||
else find_first_phone_number(array_remove(replace(replace(replace(p1.tel,'"',''),'[','{'),']','}')::text[],find_first_phone_number(replace(replace(replace(p1.tel,'"',''),'[','{'),']','}')::text[])))
|
||||
end /*second_mobile_number*/
|
||||
,coalesce(find_first_not_phone_number(replace(replace(replace(p1.tel,'"',''),'[','{'),']','}')::text[]),'') /*company_phone_number*/
|
||||
,coalesce(p3.district,'') /*district*/
|
||||
|
||||
FROM :PDMDB.t01_ccc_work_ticket_info p0
|
||||
LEFT JOIN :PDMDB.t01_ccc_cust_info p1
|
||||
ON p0.customer_id =p1.id
|
||||
LEFT JOIN :PDMDB.t00_china_city_info p2
|
||||
ON p2.city_name like case when length(coalesce((SELECT jsonb_extract_path_text(j, 'value')
|
||||
FROM jsonb_array_elements((p0.start_form::json -> 'fields')::jsonb) j
|
||||
WHERE jsonb_extract_path_text(j, 'id') = '317832'),(SELECT jsonb_extract_path_text(j, 'value')
|
||||
FROM jsonb_array_elements((p0.start_form::json -> 'fields')::jsonb) j
|
||||
WHERE jsonb_extract_path_text(j, 'id') = '317748'),(SELECT jsonb_extract_path_text(j, 'value')
|
||||
FROM jsonb_array_elements((p0.start_form::json -> 'fields')::jsonb) j
|
||||
WHERE jsonb_extract_path_text(j, 'id') = '297755'),'')::text)>0 then coalesce((SELECT jsonb_extract_path_text(j, 'value')
|
||||
FROM jsonb_array_elements((p0.start_form::json -> 'fields')::jsonb) j
|
||||
WHERE jsonb_extract_path_text(j, 'id') = '317832'),(SELECT jsonb_extract_path_text(j, 'value')
|
||||
FROM jsonb_array_elements((p0.start_form::json -> 'fields')::jsonb) j
|
||||
WHERE jsonb_extract_path_text(j, 'id') = '317748'),(SELECT jsonb_extract_path_text(j, 'value')
|
||||
FROM jsonb_array_elements((p0.start_form::json -> 'fields')::jsonb) j
|
||||
WHERE jsonb_extract_path_text(j, 'id') = '297755'),'')::text||'%' else '' end
|
||||
LEFT JOIN :PDMDB.t00_china_city_pnum p3
|
||||
ON p3.full_name = case when length(coalesce((SELECT jsonb_extract_path_text(j, 'value')
|
||||
FROM jsonb_array_elements((p0.start_form::json -> 'fields')::jsonb) j
|
||||
WHERE jsonb_extract_path_text(j, 'id') = '317832'),(SELECT jsonb_extract_path_text(j, 'value')
|
||||
FROM jsonb_array_elements((p0.start_form::json -> 'fields')::jsonb) j
|
||||
WHERE jsonb_extract_path_text(j, 'id') = '317748'),(SELECT jsonb_extract_path_text(j, 'value')
|
||||
FROM jsonb_array_elements((p0.start_form::json -> 'fields')::jsonb) j
|
||||
WHERE jsonb_extract_path_text(j, 'id') = '297755'),'')::text)>0 then coalesce((SELECT jsonb_extract_path_text(j, 'value')
|
||||
FROM jsonb_array_elements((p0.start_form::json -> 'fields')::jsonb) j
|
||||
WHERE jsonb_extract_path_text(j, 'id') = '317832'),(SELECT jsonb_extract_path_text(j, 'value')
|
||||
FROM jsonb_array_elements((p0.start_form::json -> 'fields')::jsonb) j
|
||||
WHERE jsonb_extract_path_text(j, 'id') = '317748'),(SELECT jsonb_extract_path_text(j, 'value')
|
||||
FROM jsonb_array_elements((p0.start_form::json -> 'fields')::jsonb) j
|
||||
WHERE jsonb_extract_path_text(j, 'id') = '297755'),'')::text else '' end
|
||||
where p0.state_selected in ('Leads') and p0.update_time >= current_date - interval '1 days'
|
||||
|
||||
;
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************************************/
|
||||
/* GROUP 2:Source Table:t01_ccc_work_ticket_info******************************************************/
|
||||
/*****************************************************************************************************/
|
||||
|
||||
INSERT INTO f_ccc_work_ticket_integ_agi_CUR_I (
|
||||
PEXTENSION_CODE /*来源代码*/
|
||||
,PEXTENSION /*来源*/
|
||||
,LAST_NAME /*姓名*/
|
||||
,SUFFIX /*工单ID*/
|
||||
,COMPANY_NAME /*公司名称*/
|
||||
,JOB_TITLE /*职位*/
|
||||
,CITY /*城市*/
|
||||
,STATE_COUNTY_LOCATION /*省份*/
|
||||
,COUNTRY_CODE /*国家*/
|
||||
,POSTAL_CODE /*邮编*/
|
||||
,CONTACT_MOBILE_NUMBER /*电话*/
|
||||
,EMAIL_ADDRESS /*邮箱*/
|
||||
,REQUEST_A_DEMO /*demo标志*/
|
||||
,REQUEST_A_QUOTE /*引用标志*/
|
||||
,HAMCAM /*账户管理员标志*/
|
||||
,PURCHASE_INTENT /*购买意向*/
|
||||
,COMMENTS /*备注*/
|
||||
,INDUSTRY /*行业*/
|
||||
,CCP_PRODUCT_INTEREST_01 /*产品偏好*/
|
||||
,CCP_APP_01_5 /*应用*/
|
||||
,LEAD_PRODUCTS_01_5 /*产品型号*/
|
||||
,PERMISSION_PHONE /*电话授权标志*/
|
||||
,PERMISSION_PHONE_DATE /*电话授权时间*/
|
||||
,PERMISSION_EMAIL /*电子邮件授权标志*/
|
||||
,PERMISSION_EMAIL_DATE /*电子邮件授权时间*/
|
||||
,PERMISSION_MAIL /*邮件授权标志*/
|
||||
,PERMISSION_MAIL_DATE /*邮件授权时间*/
|
||||
,PERMISSION_SMS /*SMS授权标志*/
|
||||
,PERMISSION_SMS_DATE /*SMS授权时间*/
|
||||
,AGREES_TO_PRIVACY_POLICY /*个人信息授权标志*/
|
||||
,PORTAL_TERMS_AGREEMENT_DATE /*协议授权时间*/
|
||||
,CONSENT_TO_COLLECT_PERSONAL_INFO /*个人信息收集标志*/
|
||||
,CONSENT_TO_COLLECT_PERSONAL_INFO_DATE /*个人信息收集时间*/
|
||||
,MARKETING_CONSENT /*MARKETING_CONSENT*/
|
||||
,MARKETING_CONSENT_DATE /*MARKETING_CONSENT_DATE*/
|
||||
,MEANS_OF_CONSENT /*MEANS_OF_CONSENT*/
|
||||
,SOURCE_OF_CONSENT /*SOURCE_OF_CONSENT*/
|
||||
,VERSION_OF_PRIVACY_NOTICE /*VERSION_OF_PRIVACY_NOTICE*/
|
||||
,RECORD_OF_CONSENT /*RECORD_OF_CONSENT*/
|
||||
,EXACT_CONSENT_LANGUAGE /*EXACT_CONSENT_LANGUAGE*/
|
||||
,BRAND_TEKTRONIX /*BRAND_TEKTRONIX*/
|
||||
,BRAND_SSO /*BRAND_SSO*/
|
||||
,BRAND_KEITHLEY /*BRAND_KEITHLEY*/
|
||||
,EMAIL_PREFERENCE /*EMAIL_PREFERENCE*/
|
||||
,Src_Sysname /*来源系统*/
|
||||
,Etl_Job /*作业名称*/
|
||||
,Src_Table /*来源表*/
|
||||
,Etl_Tx_Dt /*作业运行时间*/
|
||||
,Etl_First_Dt /*最初入库时间*/
|
||||
,Etl_Proc_Dt /*本次入库时间*/
|
||||
,Etl_Batch_No /*作业批次号*/
|
||||
,second_mobile_number /*第二手机号*/
|
||||
,company_phone_number /*固话号*/
|
||||
,district /*地区*/
|
||||
)
|
||||
SELECT
|
||||
'401890X401890' /*PEXTENSION_CODE*/
|
||||
,'' /*PEXTENSION*/
|
||||
,coalesce((SELECT jsonb_extract_path_text(field, 'value') AS value_298245
|
||||
FROM (
|
||||
SELECT jsonb_array_elements(p0.start_form::jsonb->'fields') AS field
|
||||
) AS t
|
||||
WHERE jsonb_extract_path_text(field, 'id')::int = 298308),'') /*LAST_NAME*/
|
||||
,COALESCE(TRIM(CAST(p0.id AS varchar(20))),'') /*SUFFIX*/
|
||||
,coalesce((SELECT jsonb_extract_path_text(field, 'value') AS value_298245
|
||||
FROM (
|
||||
SELECT jsonb_array_elements(p0.start_form::jsonb->'fields') AS field
|
||||
) AS t
|
||||
WHERE jsonb_extract_path_text(field, 'id')::int = 297723),'') /*COMPANY_NAME*/
|
||||
,'' /*JOB_TITLE*/
|
||||
,coalesce((SELECT jsonb_extract_path_text(field, 'value') AS value_298245
|
||||
FROM (
|
||||
SELECT jsonb_array_elements(p0.start_form::jsonb->'fields') AS field
|
||||
) AS t
|
||||
WHERE jsonb_extract_path_text(field, 'id')::int = 304586),'') /*CITY*/
|
||||
,coalesce(p2.city_name,'') /*STATE_COUNTY_LOCATION*/
|
||||
,'TW' /*COUNTRY_CODE*/
|
||||
,coalesce(p2.postalcode,'') /*POSTAL_CODE*/
|
||||
,coalesce((SELECT jsonb_extract_path_text(field, 'value') AS value_298245
|
||||
FROM (
|
||||
SELECT jsonb_array_elements(p0.start_form::jsonb->'fields') AS field
|
||||
) AS t
|
||||
WHERE jsonb_extract_path_text(field, 'id')::int = 299210),'') /*CONTACT_MOBILE_NUMBER*/
|
||||
,coalesce((SELECT jsonb_extract_path_text(field, 'value') AS value_298245
|
||||
FROM (
|
||||
SELECT jsonb_array_elements(p0.start_form::jsonb->'fields') AS field
|
||||
) AS t
|
||||
WHERE jsonb_extract_path_text(field, 'id')::int = 303803),'') /*EMAIL_ADDRESS*/
|
||||
,'YES' /*REQUEST_A_DEMO*/
|
||||
,'YES' /*REQUEST_A_QUOTE*/
|
||||
,'YES' /*HAMCAM*/
|
||||
,4 /*PURCHASE_INTENT*/
|
||||
,'L - mql '||coalesce((SELECT jsonb_extract_path_text(field, 'value') AS value_298245
|
||||
FROM (
|
||||
SELECT jsonb_array_elements(p0.start_form::jsonb->'fields') AS field
|
||||
) AS t
|
||||
WHERE jsonb_extract_path_text(field, 'id')::int = 298302),'')||' 预算情况:'||coalesce((SELECT jsonb_extract_path_text(field, 'value') AS value_298245
|
||||
FROM (
|
||||
SELECT jsonb_array_elements(p0.start_form::jsonb->'fields') AS field
|
||||
) AS t
|
||||
WHERE jsonb_extract_path_text(field, 'id')::int = 303805),' None ')||';决策权确认:'||coalesce((SELECT jsonb_extract_path_text(field, 'value') AS value_298245
|
||||
FROM (
|
||||
SELECT jsonb_array_elements(p0.start_form::jsonb->'fields') AS field
|
||||
) AS t
|
||||
WHERE jsonb_extract_path_text(field, 'id')::int = 303806),' None ')||';计划购买时间:'||coalesce((SELECT jsonb_extract_path_text(field, 'value') AS value_298245
|
||||
FROM (
|
||||
SELECT jsonb_array_elements(p0.start_form::jsonb->'fields') AS field
|
||||
) AS t
|
||||
WHERE jsonb_extract_path_text(field, 'id')::int = 298249),' None ')||';' /*COMMENTS*/
|
||||
,'' /*INDUSTRY*/
|
||||
,'' /*CCP_PRODUCT_INTEREST_01*/
|
||||
,'' /*CCP_APP_01_5*/
|
||||
,coalesce((SELECT jsonb_extract_path_text(field, 'value') AS value_298300
|
||||
FROM (
|
||||
SELECT jsonb_array_elements(p0.start_form::jsonb->'fields') AS field
|
||||
) AS t
|
||||
WHERE jsonb_extract_path_text(field, 'id')::int = 304927),(SELECT jsonb_extract_path_text(field, 'value') AS value_298300
|
||||
FROM (
|
||||
SELECT jsonb_array_elements(p0.start_form::jsonb->'fields') AS field
|
||||
) AS t
|
||||
WHERE jsonb_extract_path_text(field, 'id')::int = 299137),'') /*LEAD_PRODUCTS_01_5*/
|
||||
,'YES' /*PERMISSION_PHONE*/
|
||||
,COALESCE(p0.create_time,TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*PERMISSION_PHONE_DATE*/
|
||||
,'YES' /*PERMISSION_EMAIL*/
|
||||
,COALESCE(p0.create_time,TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*PERMISSION_EMAIL_DATE*/
|
||||
,'YES' /*PERMISSION_MAIL*/
|
||||
,COALESCE(p0.create_time,TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*PERMISSION_MAIL_DATE*/
|
||||
,'YES' /*PERMISSION_SMS*/
|
||||
,TO_TIMESTAMP(:NULLDATE,'YYYYMMDD') /*PERMISSION_SMS_DATE*/
|
||||
,'YES' /*AGREES_TO_PRIVACY_POLICY*/
|
||||
,TO_TIMESTAMP(:NULLDATE,'YYYYMMDD') /*PORTAL_TERMS_AGREEMENT_DATE*/
|
||||
,'' /*CONSENT_TO_COLLECT_PERSONAL_INFO*/
|
||||
,TO_TIMESTAMP(:NULLDATE,'YYYYMMDD') /*CONSENT_TO_COLLECT_PERSONAL_INFO_DATE*/
|
||||
,'' /*MARKETING_CONSENT*/
|
||||
,TO_TIMESTAMP(:NULLDATE,'YYYYMMDD') /*MARKETING_CONSENT_DATE*/
|
||||
,'' /*MEANS_OF_CONSENT*/
|
||||
,'' /*SOURCE_OF_CONSENT*/
|
||||
,'' /*VERSION_OF_PRIVACY_NOTICE*/
|
||||
,'' /*RECORD_OF_CONSENT*/
|
||||
,'' /*EXACT_CONSENT_LANGUAGE*/
|
||||
,'' /*BRAND_TEKTRONIX*/
|
||||
,'' /*BRAND_SSO*/
|
||||
,'' /*BRAND_KEITHLEY*/
|
||||
,'' /*EMAIL_PREFERENCE*/
|
||||
,Substr('t01_ccc_work_ticket_info',1,3) /*Src_Sysname*/
|
||||
,:ETLJOB /*Etl_Job*/
|
||||
,'t01_ccc_work_ticket_info' /*Src_Table*/
|
||||
,TO_DATE(:TXDATE,'YYYYMMDD') /*Etl_Tx_Dt*/
|
||||
,TO_DATE(:TXDATE,'YYYYMMDD') /*Etl_First_Dt*/
|
||||
,current_timestamp(0) /*Etl_Proc_Dt*/
|
||||
,0 /*Etl_Batch_No*/
|
||||
,'' /*second_mobile_number*/
|
||||
,'' /*company_phone_number*/
|
||||
,'' /*district*/
|
||||
|
||||
FROM :PDMDB.t01_ccc_work_ticket_info p0
|
||||
LEFT JOIN :PDMDB.t00_china_city_info p2
|
||||
ON p2.city_name2 like (SELECT jsonb_extract_path_text(j, 'value')
|
||||
FROM jsonb_array_elements((p0.start_form::json -> 'fields')::jsonb) j
|
||||
WHERE jsonb_extract_path_text(j, 'id') = '304586')::text||'%'
|
||||
where p0 .state_selected ='TW_leads' and p0.update_time >= current_date - interval '3 days'
|
||||
|
||||
;
|
||||
|
||||
|
||||
|
||||
/*将不同数据插入到临时表 */
|
||||
;INSERT INTO f_ccc_work_ticket_integ_agi_INS (
|
||||
PEXTENSION_CODE /*来源代码*/
|
||||
,PEXTENSION /*来源*/
|
||||
,LAST_NAME /*姓名*/
|
||||
,COMPANY_NAME /*公司名称*/
|
||||
,JOB_TITLE /*职位*/
|
||||
,CITY /*城市*/
|
||||
,STATE_COUNTY_LOCATION /*省份*/
|
||||
,COUNTRY_CODE /*国家*/
|
||||
,POSTAL_CODE /*邮编*/
|
||||
,CONTACT_MOBILE_NUMBER /*电话*/
|
||||
,EMAIL_ADDRESS /*邮箱*/
|
||||
,REQUEST_A_DEMO /*demo标志*/
|
||||
,REQUEST_A_QUOTE /*引用标志*/
|
||||
,HAMCAM /*账户管理员标志*/
|
||||
,PURCHASE_INTENT /*购买意向*/
|
||||
,COMMENTS /*备注*/
|
||||
,INDUSTRY /*行业*/
|
||||
,CCP_PRODUCT_INTEREST_01 /*产品偏好*/
|
||||
,CCP_APP_01_5 /*应用*/
|
||||
,LEAD_PRODUCTS_01_5 /*产品型号*/
|
||||
,PERMISSION_PHONE /*电话授权标志*/
|
||||
,PERMISSION_PHONE_DATE /*电话授权时间*/
|
||||
,PERMISSION_EMAIL /*电子邮件授权标志*/
|
||||
,PERMISSION_EMAIL_DATE /*电子邮件授权时间*/
|
||||
,PERMISSION_MAIL /*邮件授权标志*/
|
||||
,PERMISSION_MAIL_DATE /*邮件授权时间*/
|
||||
,PERMISSION_SMS /*SMS授权标志*/
|
||||
,PERMISSION_SMS_DATE /*SMS授权时间*/
|
||||
,AGREES_TO_PRIVACY_POLICY /*个人信息授权标志*/
|
||||
,PORTAL_TERMS_AGREEMENT_DATE /*协议授权时间*/
|
||||
,CONSENT_TO_COLLECT_PERSONAL_INFO /*个人信息收集标志*/
|
||||
,CONSENT_TO_COLLECT_PERSONAL_INFO_DATE /*个人信息收集时间*/
|
||||
,MARKETING_CONSENT /*MARKETING_CONSENT*/
|
||||
,MARKETING_CONSENT_DATE /*MARKETING_CONSENT_DATE*/
|
||||
,MEANS_OF_CONSENT /*MEANS_OF_CONSENT*/
|
||||
,SOURCE_OF_CONSENT /*SOURCE_OF_CONSENT*/
|
||||
,VERSION_OF_PRIVACY_NOTICE /*VERSION_OF_PRIVACY_NOTICE*/
|
||||
,RECORD_OF_CONSENT /*RECORD_OF_CONSENT*/
|
||||
,EXACT_CONSENT_LANGUAGE /*EXACT_CONSENT_LANGUAGE*/
|
||||
,BRAND_TEKTRONIX /*BRAND_TEKTRONIX*/
|
||||
,BRAND_SSO /*BRAND_SSO*/
|
||||
,BRAND_KEITHLEY /*BRAND_KEITHLEY*/
|
||||
,EMAIL_PREFERENCE /*EMAIL_PREFERENCE*/
|
||||
,second_mobile_number /*第二手机号*/
|
||||
,company_phone_number /*固话号*/
|
||||
,district /*地区*/
|
||||
,SUFFIX /*工单ID*/
|
||||
,Src_Sysname /*来源系统*/
|
||||
,Etl_Job /*作业名称*/
|
||||
,Src_Table /*来源表*/
|
||||
,Etl_Tx_Dt /*作业运行时间*/
|
||||
,Etl_First_Dt /*最初入库时间*/
|
||||
,Etl_Proc_Dt /*本次入库时间*/
|
||||
,Etl_Batch_No /*作业批次号*/
|
||||
|
||||
)
|
||||
SELECT
|
||||
P1.PEXTENSION_CODE /*来源代码*/
|
||||
,P1.PEXTENSION /*来源*/
|
||||
,P1.LAST_NAME /*姓名*/
|
||||
,P1.COMPANY_NAME /*公司名称*/
|
||||
,P1.JOB_TITLE /*职位*/
|
||||
,P1.CITY /*城市*/
|
||||
,P1.STATE_COUNTY_LOCATION /*省份*/
|
||||
,P1.COUNTRY_CODE /*国家*/
|
||||
,P1.POSTAL_CODE /*邮编*/
|
||||
,P1.CONTACT_MOBILE_NUMBER /*电话*/
|
||||
,P1.EMAIL_ADDRESS /*邮箱*/
|
||||
,P1.REQUEST_A_DEMO /*demo标志*/
|
||||
,P1.REQUEST_A_QUOTE /*引用标志*/
|
||||
,P1.HAMCAM /*账户管理员标志*/
|
||||
,P1.PURCHASE_INTENT /*购买意向*/
|
||||
,P1.COMMENTS /*备注*/
|
||||
,P1.INDUSTRY /*行业*/
|
||||
,P1.CCP_PRODUCT_INTEREST_01 /*产品偏好*/
|
||||
,P1.CCP_APP_01_5 /*应用*/
|
||||
,P1.LEAD_PRODUCTS_01_5 /*产品型号*/
|
||||
,P1.PERMISSION_PHONE /*电话授权标志*/
|
||||
,P1.PERMISSION_PHONE_DATE /*电话授权时间*/
|
||||
,P1.PERMISSION_EMAIL /*电子邮件授权标志*/
|
||||
,P1.PERMISSION_EMAIL_DATE /*电子邮件授权时间*/
|
||||
,P1.PERMISSION_MAIL /*邮件授权标志*/
|
||||
,P1.PERMISSION_MAIL_DATE /*邮件授权时间*/
|
||||
,P1.PERMISSION_SMS /*SMS授权标志*/
|
||||
,P1.PERMISSION_SMS_DATE /*SMS授权时间*/
|
||||
,P1.AGREES_TO_PRIVACY_POLICY /*个人信息授权标志*/
|
||||
,P1.PORTAL_TERMS_AGREEMENT_DATE /*协议授权时间*/
|
||||
,P1.CONSENT_TO_COLLECT_PERSONAL_INFO /*个人信息收集标志*/
|
||||
,P1.CONSENT_TO_COLLECT_PERSONAL_INFO_DATE /*个人信息收集时间*/
|
||||
,P1.MARKETING_CONSENT /*MARKETING_CONSENT*/
|
||||
,P1.MARKETING_CONSENT_DATE /*MARKETING_CONSENT_DATE*/
|
||||
,P1.MEANS_OF_CONSENT /*MEANS_OF_CONSENT*/
|
||||
,P1.SOURCE_OF_CONSENT /*SOURCE_OF_CONSENT*/
|
||||
,P1.VERSION_OF_PRIVACY_NOTICE /*VERSION_OF_PRIVACY_NOTICE*/
|
||||
,P1.RECORD_OF_CONSENT /*RECORD_OF_CONSENT*/
|
||||
,P1.EXACT_CONSENT_LANGUAGE /*EXACT_CONSENT_LANGUAGE*/
|
||||
,P1.BRAND_TEKTRONIX /*BRAND_TEKTRONIX*/
|
||||
,P1.BRAND_SSO /*BRAND_SSO*/
|
||||
,P1.BRAND_KEITHLEY /*BRAND_KEITHLEY*/
|
||||
,P1.EMAIL_PREFERENCE /*EMAIL_PREFERENCE*/
|
||||
,P1.second_mobile_number /*第二手机号*/
|
||||
,P1.company_phone_number /*固话号*/
|
||||
,P1.district /*地区*/
|
||||
,P1.SUFFIX /*工单ID*/
|
||||
,P1.Src_Sysname /*来源系统*/
|
||||
,P1.Etl_Job /*作业名称*/
|
||||
,P1.Src_Table /*来源表*/
|
||||
,P1.Etl_Tx_Dt /*作业运行时间*/
|
||||
,P1.Etl_First_Dt /*最初入库时间*/
|
||||
,P1.Etl_Proc_Dt /*本次入库时间*/
|
||||
,P1.Etl_Batch_No /*作业批次号*/
|
||||
|
||||
FROM f_ccc_work_ticket_integ_agi_CUR_I P1
|
||||
LEFT JOIN :COMMDB.f_ccc_work_ticket_integ P2
|
||||
ON P1.PEXTENSION_CODE = P2.PEXTENSION_CODE
|
||||
AND P1.PEXTENSION = P2.PEXTENSION
|
||||
AND P1.LAST_NAME = P2.LAST_NAME
|
||||
AND P1.COMPANY_NAME = P2.COMPANY_NAME
|
||||
AND P1.JOB_TITLE = P2.JOB_TITLE
|
||||
AND P1.CITY = P2.CITY
|
||||
AND P1.STATE_COUNTY_LOCATION = P2.STATE_COUNTY_LOCATION
|
||||
AND P1.COUNTRY_CODE = P2.COUNTRY_CODE
|
||||
AND P1.POSTAL_CODE = P2.POSTAL_CODE
|
||||
AND P1.CONTACT_MOBILE_NUMBER = P2.CONTACT_MOBILE_NUMBER
|
||||
AND P1.EMAIL_ADDRESS = P2.EMAIL_ADDRESS
|
||||
AND P1.REQUEST_A_DEMO = P2.REQUEST_A_DEMO
|
||||
AND P1.REQUEST_A_QUOTE = P2.REQUEST_A_QUOTE
|
||||
AND P1.HAMCAM = P2.HAMCAM
|
||||
AND P1.PURCHASE_INTENT = P2.PURCHASE_INTENT
|
||||
AND P1.COMMENTS = P2.COMMENTS
|
||||
AND P1.INDUSTRY = P2.INDUSTRY
|
||||
AND P1.CCP_PRODUCT_INTEREST_01 = P2.CCP_PRODUCT_INTEREST_01
|
||||
AND P1.CCP_APP_01_5 = P2.CCP_APP_01_5
|
||||
AND P1.LEAD_PRODUCTS_01_5 = P2.LEAD_PRODUCTS_01_5
|
||||
AND P1.PERMISSION_PHONE = P2.PERMISSION_PHONE
|
||||
AND P1.PERMISSION_PHONE_DATE = P2.PERMISSION_PHONE_DATE
|
||||
AND P1.PERMISSION_EMAIL = P2.PERMISSION_EMAIL
|
||||
AND P1.PERMISSION_EMAIL_DATE = P2.PERMISSION_EMAIL_DATE
|
||||
AND P1.PERMISSION_MAIL = P2.PERMISSION_MAIL
|
||||
AND P1.PERMISSION_MAIL_DATE = P2.PERMISSION_MAIL_DATE
|
||||
AND P1.PERMISSION_SMS = P2.PERMISSION_SMS
|
||||
AND P1.PERMISSION_SMS_DATE = P2.PERMISSION_SMS_DATE
|
||||
AND P1.AGREES_TO_PRIVACY_POLICY = P2.AGREES_TO_PRIVACY_POLICY
|
||||
AND P1.PORTAL_TERMS_AGREEMENT_DATE = P2.PORTAL_TERMS_AGREEMENT_DATE
|
||||
AND P1.CONSENT_TO_COLLECT_PERSONAL_INFO = P2.CONSENT_TO_COLLECT_PERSONAL_INFO
|
||||
AND P1.CONSENT_TO_COLLECT_PERSONAL_INFO_DATE = P2.CONSENT_TO_COLLECT_PERSONAL_INFO_DATE
|
||||
AND P1.MARKETING_CONSENT = P2.MARKETING_CONSENT
|
||||
AND P1.MARKETING_CONSENT_DATE = P2.MARKETING_CONSENT_DATE
|
||||
AND P1.MEANS_OF_CONSENT = P2.MEANS_OF_CONSENT
|
||||
AND P1.SOURCE_OF_CONSENT = P2.SOURCE_OF_CONSENT
|
||||
AND P1.VERSION_OF_PRIVACY_NOTICE = P2.VERSION_OF_PRIVACY_NOTICE
|
||||
AND P1.RECORD_OF_CONSENT = P2.RECORD_OF_CONSENT
|
||||
AND P1.EXACT_CONSENT_LANGUAGE = P2.EXACT_CONSENT_LANGUAGE
|
||||
AND P1.BRAND_TEKTRONIX = P2.BRAND_TEKTRONIX
|
||||
AND P1.BRAND_SSO = P2.BRAND_SSO
|
||||
AND P1.BRAND_KEITHLEY = P2.BRAND_KEITHLEY
|
||||
AND P1.EMAIL_PREFERENCE = P2.EMAIL_PREFERENCE
|
||||
AND P1.second_mobile_number = P2.second_mobile_number
|
||||
AND P1.company_phone_number = P2.company_phone_number
|
||||
AND P1.district = P2.district
|
||||
AND P1.SUFFIX = P2.SUFFIX
|
||||
|
||||
WHERE P2.PEXTENSION_CODE IS NULL
|
||||
OR P2.PEXTENSION IS NULL
|
||||
OR P2.LAST_NAME IS NULL
|
||||
OR P2.COMPANY_NAME IS NULL
|
||||
OR P2.JOB_TITLE IS NULL
|
||||
OR P2.CITY IS NULL
|
||||
OR P2.STATE_COUNTY_LOCATION IS NULL
|
||||
OR P2.COUNTRY_CODE IS NULL
|
||||
OR P2.POSTAL_CODE IS NULL
|
||||
OR P2.CONTACT_MOBILE_NUMBER IS NULL
|
||||
OR P2.EMAIL_ADDRESS IS NULL
|
||||
OR P2.REQUEST_A_DEMO IS NULL
|
||||
OR P2.REQUEST_A_QUOTE IS NULL
|
||||
OR P2.HAMCAM IS NULL
|
||||
OR P2.PURCHASE_INTENT IS NULL
|
||||
OR P2.COMMENTS IS NULL
|
||||
OR P2.INDUSTRY IS NULL
|
||||
OR P2.CCP_PRODUCT_INTEREST_01 IS NULL
|
||||
OR P2.CCP_APP_01_5 IS NULL
|
||||
OR P2.LEAD_PRODUCTS_01_5 IS NULL
|
||||
OR P2.PERMISSION_PHONE IS NULL
|
||||
OR P2.PERMISSION_PHONE_DATE IS NULL
|
||||
OR P2.PERMISSION_EMAIL IS NULL
|
||||
OR P2.PERMISSION_EMAIL_DATE IS NULL
|
||||
OR P2.PERMISSION_MAIL IS NULL
|
||||
OR P2.PERMISSION_MAIL_DATE IS NULL
|
||||
OR P2.PERMISSION_SMS IS NULL
|
||||
OR P2.PERMISSION_SMS_DATE IS NULL
|
||||
OR P2.AGREES_TO_PRIVACY_POLICY IS NULL
|
||||
OR P2.PORTAL_TERMS_AGREEMENT_DATE IS NULL
|
||||
OR P2.CONSENT_TO_COLLECT_PERSONAL_INFO IS NULL
|
||||
OR P2.CONSENT_TO_COLLECT_PERSONAL_INFO_DATE IS NULL
|
||||
OR P2.MARKETING_CONSENT IS NULL
|
||||
OR P2.MARKETING_CONSENT_DATE IS NULL
|
||||
OR P2.MEANS_OF_CONSENT IS NULL
|
||||
OR P2.SOURCE_OF_CONSENT IS NULL
|
||||
OR P2.VERSION_OF_PRIVACY_NOTICE IS NULL
|
||||
OR P2.RECORD_OF_CONSENT IS NULL
|
||||
OR P2.EXACT_CONSENT_LANGUAGE IS NULL
|
||||
OR P2.BRAND_TEKTRONIX IS NULL
|
||||
OR P2.BRAND_SSO IS NULL
|
||||
OR P2.BRAND_KEITHLEY IS NULL
|
||||
OR P2.EMAIL_PREFERENCE IS NULL
|
||||
OR P2.second_mobile_number IS NULL
|
||||
OR P2.company_phone_number IS NULL
|
||||
OR P2.district IS NULL
|
||||
OR P2.SUFFIX IS NULL
|
||||
|
||||
;
|
||||
/*将新增数据插入到目标表 */
|
||||
;INSERT INTO :COMMDB.f_ccc_work_ticket_integ (
|
||||
PEXTENSION_CODE /*来源代码*/
|
||||
,PEXTENSION /*来源*/
|
||||
,LAST_NAME /*姓名*/
|
||||
,COMPANY_NAME /*公司名称*/
|
||||
,JOB_TITLE /*职位*/
|
||||
,CITY /*城市*/
|
||||
,STATE_COUNTY_LOCATION /*省份*/
|
||||
,COUNTRY_CODE /*国家*/
|
||||
,POSTAL_CODE /*邮编*/
|
||||
,CONTACT_MOBILE_NUMBER /*电话*/
|
||||
,EMAIL_ADDRESS /*邮箱*/
|
||||
,REQUEST_A_DEMO /*demo标志*/
|
||||
,REQUEST_A_QUOTE /*引用标志*/
|
||||
,HAMCAM /*账户管理员标志*/
|
||||
,PURCHASE_INTENT /*购买意向*/
|
||||
,COMMENTS /*备注*/
|
||||
,INDUSTRY /*行业*/
|
||||
,CCP_PRODUCT_INTEREST_01 /*产品偏好*/
|
||||
,CCP_APP_01_5 /*应用*/
|
||||
,LEAD_PRODUCTS_01_5 /*产品型号*/
|
||||
,PERMISSION_PHONE /*电话授权标志*/
|
||||
,PERMISSION_PHONE_DATE /*电话授权时间*/
|
||||
,PERMISSION_EMAIL /*电子邮件授权标志*/
|
||||
,PERMISSION_EMAIL_DATE /*电子邮件授权时间*/
|
||||
,PERMISSION_MAIL /*邮件授权标志*/
|
||||
,PERMISSION_MAIL_DATE /*邮件授权时间*/
|
||||
,PERMISSION_SMS /*SMS授权标志*/
|
||||
,PERMISSION_SMS_DATE /*SMS授权时间*/
|
||||
,AGREES_TO_PRIVACY_POLICY /*个人信息授权标志*/
|
||||
,PORTAL_TERMS_AGREEMENT_DATE /*协议授权时间*/
|
||||
,CONSENT_TO_COLLECT_PERSONAL_INFO /*个人信息收集标志*/
|
||||
,CONSENT_TO_COLLECT_PERSONAL_INFO_DATE /*个人信息收集时间*/
|
||||
,MARKETING_CONSENT /*MARKETING_CONSENT*/
|
||||
,MARKETING_CONSENT_DATE /*MARKETING_CONSENT_DATE*/
|
||||
,MEANS_OF_CONSENT /*MEANS_OF_CONSENT*/
|
||||
,SOURCE_OF_CONSENT /*SOURCE_OF_CONSENT*/
|
||||
,VERSION_OF_PRIVACY_NOTICE /*VERSION_OF_PRIVACY_NOTICE*/
|
||||
,RECORD_OF_CONSENT /*RECORD_OF_CONSENT*/
|
||||
,EXACT_CONSENT_LANGUAGE /*EXACT_CONSENT_LANGUAGE*/
|
||||
,BRAND_TEKTRONIX /*BRAND_TEKTRONIX*/
|
||||
,BRAND_SSO /*BRAND_SSO*/
|
||||
,BRAND_KEITHLEY /*BRAND_KEITHLEY*/
|
||||
,EMAIL_PREFERENCE /*EMAIL_PREFERENCE*/
|
||||
,second_mobile_number /*第二手机号*/
|
||||
,company_phone_number /*固话号*/
|
||||
,district /*地区*/
|
||||
,SUFFIX /*工单ID*/
|
||||
,Src_Sysname /*来源系统*/
|
||||
,Etl_Job /*作业名称*/
|
||||
,Src_Table /*来源表*/
|
||||
,Etl_Tx_Dt /*作业运行时间*/
|
||||
,Etl_First_Dt /*最初入库时间*/
|
||||
,Etl_Proc_Dt /*本次入库时间*/
|
||||
,Etl_Batch_No /*作业批次号*/
|
||||
|
||||
)
|
||||
SELECT
|
||||
P1.PEXTENSION_CODE /*来源代码*/
|
||||
,P1.PEXTENSION /*来源*/
|
||||
,P1.LAST_NAME /*姓名*/
|
||||
,P1.COMPANY_NAME /*公司名称*/
|
||||
,P1.JOB_TITLE /*职位*/
|
||||
,P1.CITY /*城市*/
|
||||
,P1.STATE_COUNTY_LOCATION /*省份*/
|
||||
,P1.COUNTRY_CODE /*国家*/
|
||||
,P1.POSTAL_CODE /*邮编*/
|
||||
,P1.CONTACT_MOBILE_NUMBER /*电话*/
|
||||
,P1.EMAIL_ADDRESS /*邮箱*/
|
||||
,P1.REQUEST_A_DEMO /*demo标志*/
|
||||
,P1.REQUEST_A_QUOTE /*引用标志*/
|
||||
,P1.HAMCAM /*账户管理员标志*/
|
||||
,P1.PURCHASE_INTENT /*购买意向*/
|
||||
,P1.COMMENTS /*备注*/
|
||||
,P1.INDUSTRY /*行业*/
|
||||
,P1.CCP_PRODUCT_INTEREST_01 /*产品偏好*/
|
||||
,P1.CCP_APP_01_5 /*应用*/
|
||||
,P1.LEAD_PRODUCTS_01_5 /*产品型号*/
|
||||
,P1.PERMISSION_PHONE /*电话授权标志*/
|
||||
,P1.PERMISSION_PHONE_DATE /*电话授权时间*/
|
||||
,P1.PERMISSION_EMAIL /*电子邮件授权标志*/
|
||||
,P1.PERMISSION_EMAIL_DATE /*电子邮件授权时间*/
|
||||
,P1.PERMISSION_MAIL /*邮件授权标志*/
|
||||
,P1.PERMISSION_MAIL_DATE /*邮件授权时间*/
|
||||
,P1.PERMISSION_SMS /*SMS授权标志*/
|
||||
,P1.PERMISSION_SMS_DATE /*SMS授权时间*/
|
||||
,P1.AGREES_TO_PRIVACY_POLICY /*个人信息授权标志*/
|
||||
,P1.PORTAL_TERMS_AGREEMENT_DATE /*协议授权时间*/
|
||||
,P1.CONSENT_TO_COLLECT_PERSONAL_INFO /*个人信息收集标志*/
|
||||
,P1.CONSENT_TO_COLLECT_PERSONAL_INFO_DATE /*个人信息收集时间*/
|
||||
,P1.MARKETING_CONSENT /*MARKETING_CONSENT*/
|
||||
,P1.MARKETING_CONSENT_DATE /*MARKETING_CONSENT_DATE*/
|
||||
,P1.MEANS_OF_CONSENT /*MEANS_OF_CONSENT*/
|
||||
,P1.SOURCE_OF_CONSENT /*SOURCE_OF_CONSENT*/
|
||||
,P1.VERSION_OF_PRIVACY_NOTICE /*VERSION_OF_PRIVACY_NOTICE*/
|
||||
,P1.RECORD_OF_CONSENT /*RECORD_OF_CONSENT*/
|
||||
,P1.EXACT_CONSENT_LANGUAGE /*EXACT_CONSENT_LANGUAGE*/
|
||||
,P1.BRAND_TEKTRONIX /*BRAND_TEKTRONIX*/
|
||||
,P1.BRAND_SSO /*BRAND_SSO*/
|
||||
,P1.BRAND_KEITHLEY /*BRAND_KEITHLEY*/
|
||||
,P1.EMAIL_PREFERENCE /*EMAIL_PREFERENCE*/
|
||||
,P1.second_mobile_number /*第二手机号*/
|
||||
,P1.company_phone_number /*固话号*/
|
||||
,P1.district /*地区*/
|
||||
,P1.SUFFIX /*工单ID*/
|
||||
,P1.Src_Sysname /*来源系统*/
|
||||
,P1.Etl_Job /*作业名称*/
|
||||
,P1.Src_Table /*来源表*/
|
||||
,P1.Etl_Tx_Dt /*作业运行时间*/
|
||||
,P1.Etl_First_Dt /*最初入库时间*/
|
||||
,P1.Etl_Proc_Dt /*本次入库时间*/
|
||||
,P1.Etl_Batch_No /*作业批次号*/
|
||||
|
||||
FROM f_ccc_work_ticket_integ_agi_INS P1
|
||||
ON CONFLICT ( SUFFIX)
|
||||
DO UPDATE SET
|
||||
SUFFIX=excluded.SUFFIX
|
||||
,PEXTENSION_CODE=excluded.PEXTENSION_CODE
|
||||
,PEXTENSION=excluded.PEXTENSION
|
||||
,LAST_NAME=excluded.LAST_NAME
|
||||
,COMPANY_NAME=excluded.COMPANY_NAME
|
||||
,JOB_TITLE=excluded.JOB_TITLE
|
||||
,CITY=excluded.CITY
|
||||
,STATE_COUNTY_LOCATION=excluded.STATE_COUNTY_LOCATION
|
||||
,COUNTRY_CODE=excluded.COUNTRY_CODE
|
||||
,POSTAL_CODE=excluded.POSTAL_CODE
|
||||
,CONTACT_MOBILE_NUMBER=excluded.CONTACT_MOBILE_NUMBER
|
||||
,EMAIL_ADDRESS=excluded.EMAIL_ADDRESS
|
||||
,REQUEST_A_DEMO=excluded.REQUEST_A_DEMO
|
||||
,REQUEST_A_QUOTE=excluded.REQUEST_A_QUOTE
|
||||
,HAMCAM=excluded.HAMCAM
|
||||
,PURCHASE_INTENT=excluded.PURCHASE_INTENT
|
||||
,COMMENTS=excluded.COMMENTS
|
||||
,INDUSTRY=excluded.INDUSTRY
|
||||
,CCP_PRODUCT_INTEREST_01=excluded.CCP_PRODUCT_INTEREST_01
|
||||
,CCP_APP_01_5=excluded.CCP_APP_01_5
|
||||
,LEAD_PRODUCTS_01_5=excluded.LEAD_PRODUCTS_01_5
|
||||
,PERMISSION_PHONE=excluded.PERMISSION_PHONE
|
||||
,PERMISSION_PHONE_DATE=excluded.PERMISSION_PHONE_DATE
|
||||
,PERMISSION_EMAIL=excluded.PERMISSION_EMAIL
|
||||
,PERMISSION_EMAIL_DATE=excluded.PERMISSION_EMAIL_DATE
|
||||
,PERMISSION_MAIL=excluded.PERMISSION_MAIL
|
||||
,PERMISSION_MAIL_DATE=excluded.PERMISSION_MAIL_DATE
|
||||
,PERMISSION_SMS=excluded.PERMISSION_SMS
|
||||
,PERMISSION_SMS_DATE=excluded.PERMISSION_SMS_DATE
|
||||
,AGREES_TO_PRIVACY_POLICY=excluded.AGREES_TO_PRIVACY_POLICY
|
||||
,PORTAL_TERMS_AGREEMENT_DATE=excluded.PORTAL_TERMS_AGREEMENT_DATE
|
||||
,CONSENT_TO_COLLECT_PERSONAL_INFO=excluded.CONSENT_TO_COLLECT_PERSONAL_INFO
|
||||
,CONSENT_TO_COLLECT_PERSONAL_INFO_DATE=excluded.CONSENT_TO_COLLECT_PERSONAL_INFO_DATE
|
||||
,MARKETING_CONSENT=excluded.MARKETING_CONSENT
|
||||
,MARKETING_CONSENT_DATE=excluded.MARKETING_CONSENT_DATE
|
||||
,MEANS_OF_CONSENT=excluded.MEANS_OF_CONSENT
|
||||
,SOURCE_OF_CONSENT=excluded.SOURCE_OF_CONSENT
|
||||
,VERSION_OF_PRIVACY_NOTICE=excluded.VERSION_OF_PRIVACY_NOTICE
|
||||
,RECORD_OF_CONSENT=excluded.RECORD_OF_CONSENT
|
||||
,EXACT_CONSENT_LANGUAGE=excluded.EXACT_CONSENT_LANGUAGE
|
||||
,BRAND_TEKTRONIX=excluded.BRAND_TEKTRONIX
|
||||
,BRAND_SSO=excluded.BRAND_SSO
|
||||
,BRAND_KEITHLEY=excluded.BRAND_KEITHLEY
|
||||
,EMAIL_PREFERENCE=excluded.EMAIL_PREFERENCE
|
||||
,second_mobile_number=excluded.second_mobile_number
|
||||
,company_phone_number=excluded.company_phone_number
|
||||
,district=excluded.district
|
||||
,Src_Sysname=excluded.Src_Sysname
|
||||
,Etl_Job=excluded.Etl_Job
|
||||
,Src_Table=excluded.Src_Table
|
||||
,Etl_Tx_Dt=excluded.Etl_Tx_Dt
|
||||
,Etl_First_Dt=excluded.Etl_First_Dt
|
||||
,Etl_Proc_Dt=excluded.Etl_Proc_Dt
|
||||
,Etl_Batch_No=excluded.Etl_Batch_No
|
||||
|
||||
|
||||
;
|
||||
/*****程序结束退出 */
|
||||
\q
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
#!/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.trigger_dagrun import TriggerDagRunOperator
|
||||
from airflow.operators.email_operator import EmailOperator
|
||||
from airflow.utils.trigger_rule import TriggerRule
|
||||
|
||||
|
||||
sshHook = SSHHook(ssh_conn_id ='ssh_air')
|
||||
default_args = {
|
||||
'owner': 'tek_newsletter@163.com',
|
||||
'email_on_failure': True,
|
||||
'email_on_retry':True,
|
||||
'start_date': datetime(2024, 1, 1),
|
||||
'depends_on_past': False,
|
||||
'retries': 6,
|
||||
'retry_delay': timedelta(minutes=10),
|
||||
}
|
||||
|
||||
dag = DAG('wf_dag_smart_ccc_dynamic_email_ls', default_args=default_args,
|
||||
schedule_interval="35 11,15 * * *",
|
||||
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=["tek_newsletter@163.com"],
|
||||
cc=[""],
|
||||
subject="smart_ccc_dynamic_email_ls_failed",
|
||||
html_content='<h3>您好,smart_ccc_dynamic_email_ls作业失败,请及时处理" </h3>')
|
||||
|
||||
f_ccc_work_ticket_integ = SSHOperator(
|
||||
ssh_hook=sshHook,
|
||||
task_id='f_ccc_work_ticket_integ',
|
||||
command='/data/airflow/etl/COM/run_psql.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ',
|
||||
params={'my_param':"f_ccc_work_ticket_integ_agi"},
|
||||
depends_on_past=False,
|
||||
retries=3,
|
||||
dag=dag)
|
||||
|
||||
dysql_update_dynamic_email_data = SSHOperator(
|
||||
ssh_hook=sshHook,
|
||||
task_id='dysql_update_dynamic_email_data',
|
||||
command='/data/airflow/etl/COM/run_psql.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ',
|
||||
params={'my_param':"dysql_update_dynamic_email_data"},
|
||||
depends_on_past=False,
|
||||
retries=3,
|
||||
dag=dag)
|
||||
|
||||
|
||||
|
||||
|
||||
uds_dynamic_data_export = SSHOperator(
|
||||
ssh_hook=sshHook,
|
||||
task_id='uds_dynamic_data_export',
|
||||
command='python /data/airflow/etl/EXP/dynamic_data_export.py 001 >>/data/airflow/logs/run_data_export.log',
|
||||
params={'my_param':"uds_dynamic_data_export"},
|
||||
depends_on_past=False,
|
||||
retries=3,
|
||||
dag=dag)
|
||||
|
||||
f_ccc_work_ticket_integ >> uds_dynamic_data_export
|
||||
uds_dynamic_data_export >> dysql_update_dynamic_email_data
|
||||
dysql_update_dynamic_email_data >> task_failed
|
|
@ -0,0 +1,11 @@
|
|||
/********************************************************************************************/
|
||||
/*******Main Section**************************************************************************/
|
||||
\set ON_ERROR_STOP on
|
||||
\set AUTOCOMMIT on
|
||||
\timing on
|
||||
|
||||
insert into p61_output.ccc_work_ticket_email_list
|
||||
select * from p30_common.f_ccc_work_ticket_integ
|
||||
where etl_batch_no ='0' and suffix in (select "SUFFIX" from p61_output.v_f_ccc_dynamics_template);
|
||||
|
||||
\q
|
Loading…
Reference in New Issue