From f97047fea88234f9c4d17554ae975a06c3a02944 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 20 Aug 2024 19:08:19 +0800 Subject: [PATCH] =?UTF-8?q?add=20workflow=20=E5=A4=A9=E6=B6=A6Smart-ccc?= =?UTF-8?q?=E9=80=9A=E8=AF=9D=E8=AE=B0=E5=BD=95,dev?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../t01_ccc_ib_record_agi.sql | 114 +++++++++++- .../t01_ccc_ob_record_agi.sql | 162 +++++++++++++++++- 2 files changed, 272 insertions(+), 4 deletions(-) diff --git a/dev/workflow/TK_Cust/smart_ccc_cdr/smartccc呼入记录/t01_ccc_ib_record_agi.sql b/dev/workflow/TK_Cust/smart_ccc_cdr/smartccc呼入记录/t01_ccc_ib_record_agi.sql index 36d248b..d780708 100644 --- a/dev/workflow/TK_Cust/smart_ccc_cdr/smartccc呼入记录/t01_ccc_ib_record_agi.sql +++ b/dev/workflow/TK_Cust/smart_ccc_cdr/smartccc呼入记录/t01_ccc_ib_record_agi.sql @@ -4,13 +4,15 @@ /*Brilliance stems from wisdoms. */ /*************Head Section**************************************************************************/ /*Script Use: Periodically load data to :t01_ccc_ib_record(smartccc呼入记录) */ -/*Create Date:2024-07-19 14:31:48 */ +/*Create Date:2024-08-20 19:06:40 */ /*SDM Developed By: dev */ /*SDM Developed Date: 2024-07-19 */ /*SDM Checked By: dev */ -/*SDM Checked Date: 2024-07-19 */ +/*SDM Checked Date: 2024-08-20 */ /*Script Developed By: dev */ /*Script Checked By: dev */ +/*Source table 1: p10_sa.s98_s_tr_cc_cdr_ib_list */ +/*Source table 2: :SADB.s98_s_tr_cc_cdr_ib_agent_list */ /*Job Type: Inbound transform (Tier 1 to Tier 2) */ /*Target Table:t01_ccc_ib_record */ /*ETL Job Name:t01_ccc_ib_record */ @@ -37,6 +39,114 @@ CREATE TEMPORARY TABLE t01_ccc_ib_record_agi_INS ON COMMIT PRESERVE ROWS; +/*****************************************************************************************************/ +/* GROUP 1:Source Table:s98_s_tr_cc_cdr_ib_list*******************************************************/ +/*****************************************************************************************************/ +INSERT INTO t01_ccc_ib_record_agi_CUR_I ( + ib_unique_id /*呼入通话ID*/ + ,call_id /*CallID*/ + ,customer_number /*客户号码*/ + ,customer_number_encrypt /*客户号码加密串*/ + ,customer_province /*客户省份*/ + ,customer_city /*客户城市*/ + ,first_call_number /*首呼座席电话*/ + ,first_call_cno /*首呼座席工号*/ + ,first_call_cname /*首呼座席姓名*/ + ,first_call_qno /*首呼队列号*/ + ,first_call_qname /*首呼队列名称*/ + ,ivr_name /*IVR名称*/ + ,hotline /*热线号码*/ + ,hotline_name /*热线别名*/ + ,xnumber /*虚拟号码*/ + ,ib_status /*接听状态*/ + ,ib_result /*呼叫结果*/ + ,status_robot /*机器人接听状态*/ + ,ib_tag /*通话标签*/ + ,webrtc_call_id /*WebRTCCallID*/ + ,sip_cause_desc /*呼叫情况*/ + ,call_type /*呼叫类型*/ + ,record_file /*录音文件*/ + ,on_hook_source /*挂断方*/ + ,investigation_keys /*满意度评价*/ + ,agent_answer_in_time /*首次及时应答*/ + ,evaluation /*是否邀评*/ + ,user_field /*自定义字段*/ + ,start_time /*开始时间*/ + ,ring_time /*振铃时间*/ + ,ib_ringing_duration /*振铃时长*/ + ,end_time /*结束时间*/ + ,answer_time /*接听时间*/ + ,offhook_time /*座席接起时间*/ + ,bridge_time /*首次接听时间*/ + ,bridge_duration /*通话时长*/ + ,total_duration /*总时长*/ + ,first_join_queue_time /*首次进入队列时间*/ + ,say_voice_duration /*语音播报时长*/ + ,mark_data /*备注*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + ,Etl_Batch_No /*作业批次号*/ + ) +SELECT + COALESCE(TRIM(CAST(p0.main_unique_id AS varchar(50))),'') /*ib_unique_id*/ + ,COALESCE(TRIM(CAST(p0.call_id AS varchar(50))),'') /*call_id*/ + ,COALESCE(TRIM(CAST(p0.customer_number AS varchar(20))),'') /*customer_number*/ + ,COALESCE(TRIM(CAST(p0.customer_number_encrypt AS varchar(50))),'') /*customer_number_encrypt*/ + ,COALESCE(TRIM(CAST(p0.customer_province AS varchar(20))),'') /*customer_province*/ + ,COALESCE(TRIM(CAST(p0.customer_city AS varchar(20))),'') /*customer_city*/ + ,COALESCE(TRIM(CAST(p0.first_call_number AS varchar(20))),'') /*first_call_number*/ + ,COALESCE(TRIM(CAST(p0.first_call_cno AS varchar(20))),'') /*first_call_cno*/ + ,COALESCE(TRIM(CAST(p0.first_call_cname AS varchar(20))),'') /*first_call_cname*/ + ,COALESCE(TRIM(CAST(p0.first_call_qno AS varchar(20))),'') /*first_call_qno*/ + ,COALESCE(TRIM(CAST(p0.first_call_qname AS varchar(20))),'') /*first_call_qname*/ + ,COALESCE(TRIM(CAST(p0.ivr_name AS varchar(20))),'') /*ivr_name*/ + ,COALESCE(TRIM(CAST(p0.hotline AS varchar(20))),'') /*hotline*/ + ,COALESCE(TRIM(CAST(p0.hotline_name AS varchar(20))),'') /*hotline_name*/ + ,COALESCE(TRIM(CAST(p0.xnumber AS varchar(20))),'') /*xnumber*/ + ,COALESCE(TRIM(CAST(p0.status AS varchar(20))),'') /*ib_status*/ + ,COALESCE(TRIM(CAST(p0.status_result AS varchar(20))),'') /*ib_result*/ + ,COALESCE(TRIM(CAST(p0.status_robot AS varchar(20))),'') /*status_robot*/ + ,COALESCE(TRIM(CAST(p0.tag_names AS varchar(20))),'') /*ib_tag*/ + ,COALESCE(TRIM(CAST(p0.webrtc_call_id AS varchar(50))),'') /*webrtc_call_id*/ + ,p1.sip_cause_desc /*sip_cause_desc*/ + ,p1.call_type /*call_type*/ + ,COALESCE(TRIM(p0.record_file),'') /*record_file*/ + ,COALESCE(TRIM(CAST(p0.on_hook_source AS varchar(20))),'') /*on_hook_source*/ + ,COALESCE(TRIM(CAST(p0.investigation_keys AS varchar(20))),'') /*investigation_keys*/ + ,COALESCE(TRIM(CAST(p0.agent_answer_in_time AS varchar(20))),'') /*agent_answer_in_time*/ + ,COALESCE(TRIM(CAST(p0.evaluation AS varchar(20))),'') /*evaluation*/ + ,COALESCE(TRIM(p0.user_field),'') /*user_field*/ + ,to_timestamp(p0.start_time::bigint/1000)::timestamp(0) /*start_time*/ + ,to_timestamp(p1.ring_time::bigint/1000)::timestamp(0) /*ring_time*/ + ,p1.ib_ringing_duration /*ib_ringing_duration*/ + ,to_timestamp(p0.end_time::bigint/1000)::timestamp(0) /*end_time*/ + ,to_timestamp(p1.answer_time::bigint/1000)::timestamp(0) /*answer_time*/ + ,to_timestamp(p1.offhook_time::bigint/1000)::timestamp(0) /*offhook_time*/ + ,to_timestamp(p0.bridge_time::bigint/1000)::timestamp(0) /*bridge_time*/ + ,COALESCE(CAST(p0.bridge_duration AS int),0) /*bridge_duration*/ + ,COALESCE(CAST(p0.total_duration AS int),0) /*total_duration*/ + ,to_timestamp(p0.first_join_queue_time::bigint/1000)::timestamp(0) /*first_join_queue_time*/ + ,COALESCE(CAST(p0.say_voice_duration AS int),0) /*say_voice_duration*/ + ,COALESCE(TRIM(p0.mark_data),'') /*mark_data*/ + ,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_tr_cc_cdr_ib_list',1,3) /*Src_Sysname*/ + ,'s98_s_tr_cc_cdr_ib_list' /*Src_Table*/ + ,0 /*Etl_Batch_No*/ + +FROM p10_sa.s98_s_tr_cc_cdr_ib_list p0 +LEFT JOIN :SADB.s98_s_tr_cc_cdr_ib_agent_list p1 + ON p0 .main_unique_id =p1 .main_unique_id +; + + + /*将不同数据插入到临时表 */ ;INSERT INTO t01_ccc_ib_record_agi_INS ( call_id /*CallID*/ diff --git a/dev/workflow/TK_Cust/smart_ccc_cdr/smartccc呼出记录/t01_ccc_ob_record_agi.sql b/dev/workflow/TK_Cust/smart_ccc_cdr/smartccc呼出记录/t01_ccc_ob_record_agi.sql index abd6ebe..ff53545 100644 --- a/dev/workflow/TK_Cust/smart_ccc_cdr/smartccc呼出记录/t01_ccc_ob_record_agi.sql +++ b/dev/workflow/TK_Cust/smart_ccc_cdr/smartccc呼出记录/t01_ccc_ob_record_agi.sql @@ -4,13 +4,15 @@ /*Brilliance stems from wisdoms. */ /*************Head Section**************************************************************************/ /*Script Use: Periodically load data to :t01_ccc_ob_record(smartccc呼出记录) */ -/*Create Date:2024-07-19 15:21:02 */ +/*Create Date:2024-08-20 19:07:58 */ /*SDM Developed By: dev */ /*SDM Developed Date: 2024-07-19 */ /*SDM Checked By: dev */ -/*SDM Checked Date: 2024-07-19 */ +/*SDM Checked Date: 2024-08-20 */ /*Script Developed By: dev */ /*Script Checked By: dev */ +/*Source table 1: :SADB.s98_s_tr_cc_cdr_ob_detail */ +/*Source table 2: p10_sa.s98_s_tr_cc_cdr_ob_list */ /*Job Type: Inbound transform (Tier 1 to Tier 2) */ /*Target Table:t01_ccc_ob_record */ /*ETL Job Name:t01_ccc_ob_record */ @@ -37,6 +39,162 @@ CREATE TEMPORARY TABLE t01_ccc_ob_record_agi_INS ON COMMIT PRESERVE ROWS; +/*****************************************************************************************************/ +/* GROUP 1:Source Table:s98_s_tr_cc_cdr_ob_list*******************************************************/ +/*****************************************************************************************************/ +INSERT INTO t01_ccc_ob_record_agi_CUR_I ( + ob_unique_id /*通话ID*/ + ,customer_number /*客户号码*/ + ,customer_number_encrypt /*客户号码加密串*/ + ,customer_area /*客户地区,省份/城市*/ + ,customer_province /*客户号码省份*/ + ,customer_city /*客户号码城市*/ + ,call_type /*通话类型*/ + ,call_type_key /*通话类型Key值*/ + ,call_type_desc /*通话类型描述*/ + ,detail_call_type /*呼叫类型*/ + ,detail_call_type_desc /*呼叫类型描述*/ + ,sip_cause /*呼叫情况*/ + ,sip_cause_desc /*呼叫情况描述*/ + ,left_clid /*外显号码*/ + ,left_clid_area /*外显号码归属地区*/ + ,left_clid_province /*外显号码归属省份*/ + ,left_clid_city /*外显号码归属城市*/ + ,trunk_group_key /*中继组号*/ + ,xnumber /*虚拟号码*/ + ,xnumber_area /*虚拟号码归属地区*/ + ,xnumber_province /*虚拟号码归属省份*/ + ,xnumber_city /*虚拟号码归属城市*/ + ,status /*接听状态值*/ + ,status_desc /*接听状态描述*/ + ,tag_names /*通话标签*/ + ,request_unique_id /*通话唯一ID*/ + ,ob_sip_cause /*呼叫结果*/ + ,on_hook_source /*挂断方*/ + ,record_file /*录音文件*/ + ,tsi_file /*客户彩铃录音*/ + ,asr_record /*转写记录标识 */ + ,evaluation /*是否邀评*/ + ,investigation_keys /*满意度评价*/ + ,call_id /*CallID*/ + ,webrtc_call_id /*WebRTCCallID*/ + ,rtc_uid /*RtcUid*/ + ,cno /*座席工号*/ + ,client_name /*座席名称*/ + ,client_number /*座席电话*/ + ,start_time /*开始时间*/ + ,up_time /*座席接起时间*/ + ,callee_ringing_time /*客户响铃时间*/ + ,bridge_time /*客户接听时间*/ + ,end_time /*结束时间*/ + ,bridge_duration /*通话时长*/ + ,total_duration /*总时长*/ + ,pre_ring_wait_duration /*响铃前等待时长*/ + ,callee_ringing_duration /*客户响铃时长*/ + ,ob_wait_duration /*外呼等待时长*/ + ,task_id /*外呼任务id*/ + ,task_name /*外呼任务名称*/ + ,task_inventory_id /*外呼任务详情id*/ + ,exist_ticket /*是否存在工单*/ + ,ticket_ids /*工单id*/ + ,exist_business /*是否存在业务记录*/ + ,business_ids /*业务记录ID*/ + ,user_field /*自定义字段*/ + ,exist_customer /*是否存在客户资料*/ + ,customer_area_code /*客户号码区号*/ + ,customer_post_code /*追加客户邮编*/ + ,customer_vip /*客户VIP标识*/ + ,enterprise_id /*企业号*/ + ,mark_data /*备注*/ + ,cdrobagent_type /*cdrObAgent*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + ) +SELECT + COALESCE(TRIM(CAST(p0.main_unique_id AS varchar(50))),'') /*ob_unique_id*/ + ,COALESCE(TRIM(CAST(p0.customer_number AS varchar(20))),'') /*customer_number*/ + ,COALESCE(TRIM(CAST(p0.customer_number_encrypt AS varchar(50))),'') /*customer_number_encrypt*/ + ,COALESCE(TRIM(CAST(p0.customer_area AS varchar(20))),'') /*customer_area*/ + ,COALESCE(TRIM(CAST(p0.customer_province AS varchar(20))),'') /*customer_province*/ + ,COALESCE(TRIM(CAST(p0.customer_city AS varchar(20))),'') /*customer_city*/ + ,COALESCE(TRIM(CAST(p0.call_type AS varchar(10))),'') /*call_type*/ + ,COALESCE(TRIM(CAST(p0.call_type_key AS varchar(20))),'') /*call_type_key*/ + ,p1.call_type_desc /*call_type_desc*/ + ,p1.detail_call_type /*detail_call_type*/ + ,p1.detail_call_type_desc /*detail_call_type_desc*/ + ,p1.sip_cause /*sip_cause*/ + ,p1.sip_cause_desc /*sip_cause_desc*/ + ,COALESCE(TRIM(CAST(p0.left_clid AS varchar(20))),'') /*left_clid*/ + ,COALESCE(TRIM(CAST(p0.left_clid_area AS varchar(20))),'') /*left_clid_area*/ + ,COALESCE(TRIM(CAST(p0.left_clid_province AS varchar(20))),'') /*left_clid_province*/ + ,COALESCE(TRIM(CAST(p0.left_clid_city AS varchar(20))),'') /*left_clid_city*/ + ,COALESCE(TRIM(CAST(p0.trunk_group_key AS varchar(20))),'') /*trunk_group_key*/ + ,COALESCE(TRIM(CAST(p0.xnumber AS varchar(20))),'') /*xnumber*/ + ,COALESCE(TRIM(CAST(p0.xnumber_area AS varchar(20))),'') /*xnumber_area*/ + ,COALESCE(TRIM(CAST(p0.xnumber_province AS varchar(20))),'') /*xnumber_province*/ + ,COALESCE(TRIM(CAST(p0.xnumber_city AS varchar(20))),'') /*xnumber_city*/ + ,COALESCE(TRIM(CAST(p0.status AS varchar(10))),'') /*status*/ + ,COALESCE(TRIM(CAST(p0.status_desc AS varchar(20))),'') /*status_desc*/ + ,COALESCE(TRIM(CAST(p0.tag_names AS varchar(20))),'') /*tag_names*/ + ,COALESCE(TRIM(CAST(p0.request_unique_id AS varchar(50))),'') /*request_unique_id*/ + ,COALESCE(TRIM(CAST(p0.ob_sip_cause AS varchar(10))),'') /*ob_sip_cause*/ + ,COALESCE(TRIM(CAST(p0.on_hook_source AS varchar(20))),'') /*on_hook_source*/ + ,COALESCE(TRIM(p0.record_file),'') /*record_file*/ + ,p1.tsi_file /*tsi_file*/ + ,COALESCE(TRIM(CAST(p0.asr_record AS varchar(10))),'') /*asr_record*/ + ,COALESCE(TRIM(CAST(p0.evaluation AS varchar(10))),'') /*evaluation*/ + ,COALESCE(TRIM(p0.investigation_keys),'') /*investigation_keys*/ + ,COALESCE(TRIM(CAST(p0.call_id AS varchar(50))),'') /*call_id*/ + ,COALESCE(TRIM(CAST(p0.webrtc_call_id AS varchar(50))),'') /*webrtc_call_id*/ + ,COALESCE(TRIM(CAST(p0.rtc_uid AS varchar(50))),'') /*rtc_uid*/ + ,COALESCE(TRIM(CAST(p0.cno AS varchar(10))),'') /*cno*/ + ,COALESCE(TRIM(CAST(p0.client_name AS varchar(20))),'') /*client_name*/ + ,COALESCE(TRIM(CAST(p0.client_number AS varchar(20))),'') /*client_number*/ + ,to_timestamp(p0.start_time::bigint/1000)::timestamp(0) /*start_time*/ + ,to_timestamp(p0.up_time::bigint/1000)::timestamp(0) /*up_time*/ + ,to_timestamp(p0.callee_ringing_time::bigint/1000)::timestamp(0) /*callee_ringing_time*/ + ,to_timestamp(p0.bridge_time::bigint/1000)::timestamp(0) /*bridge_time*/ + ,to_timestamp(p0.end_time::bigint/1000)::timestamp(0) /*end_time*/ + ,COALESCE(CAST(p0.bridge_duration AS int),0) /*bridge_duration*/ + ,COALESCE(CAST(p0.total_duration AS int),0) /*total_duration*/ + ,COALESCE(CAST(p0.pre_ring_wait_duration AS int),0) /*pre_ring_wait_duration*/ + ,COALESCE(CAST(p0.callee_ringing_duration AS int),0) /*callee_ringing_duration*/ + ,COALESCE(CAST(p0.ob_wait_duration AS int),0) /*ob_wait_duration*/ + ,COALESCE(TRIM(CAST(p0.task_id AS varchar(50))),'') /*task_id*/ + ,COALESCE(TRIM(CAST(p0.task_name AS varchar(20))),'') /*task_name*/ + ,COALESCE(TRIM(CAST(p0.task_inventory_id AS varchar(20))),'') /*task_inventory_id*/ + ,COALESCE(TRIM(CAST(p0.exist_ticket AS varchar(20))),'') /*exist_ticket*/ + ,COALESCE(TRIM(CAST(p0.ticket_ids AS varchar(20))),'') /*ticket_ids*/ + ,COALESCE(TRIM(CAST(p0.exist_business AS varchar(20))),'') /*exist_business*/ + ,COALESCE(TRIM(CAST(p0.business_ids AS varchar(50))),'') /*business_ids*/ + ,COALESCE(TRIM(p0.user_field),'') /*user_field*/ + ,COALESCE(TRIM(CAST(p0.exist_customer AS varchar(20))),'') /*exist_customer*/ + ,COALESCE(TRIM(CAST(p0.customer_area_code AS varchar(20))),'') /*customer_area_code*/ + ,COALESCE(TRIM(CAST(p0.customer_post_code AS varchar(10))),'') /*customer_post_code*/ + ,COALESCE(TRIM(CAST(p0.customer_vip AS varchar(10))),'') /*customer_vip*/ + ,COALESCE(TRIM(CAST(p0.enterprise_id AS varchar(20))),'') /*enterprise_id*/ + ,COALESCE(TRIM(p0.mark_data),'') /*mark_data*/ + ,COALESCE(TRIM(CAST(p0.type AS varchar(20))),'') /*cdrobagent_type*/ + ,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_tr_cc_cdr_ob_list',1,3) /*Src_Sysname*/ + ,'s98_s_tr_cc_cdr_ob_list' /*Src_Table*/ + +FROM p10_sa.s98_s_tr_cc_cdr_ob_list p0 +LEFT JOIN :SADB.s98_s_tr_cc_cdr_ob_detail p1 + ON p0 .main_unique_id =p1 .main_unique_id +; + + + /*将不同数据插入到临时表 */ ;INSERT INTO t01_ccc_ob_record_agi_INS ( customer_number /*客户号码*/