700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 数据整合_SP

数据整合_SP

时间:2023-10-18 18:19:34

相关推荐

数据整合_SP

CREATE OR REPLACE PACKAGE BODY NETS_TCIMS_BACK_CLEAN_DATA

IS

SPLIT_CHR VARCHAR2(1) := ',';

/***********************************************************

--功能说明: 整合需手工清洗数据前准备1

--参数说明:

--调用函数:

--修改记录: EX-LIUJIALI001

--注意事项: 顺序在所有清洗功能完成之后

--*********************************************************/

PROCEDURE SP_UNITE_PC_PRE_BACK_DATA_1

IS

P_ID NUMBER; -- 日志记录ID

P_ERRMSG VARCHAR2(500); -- 错误记录

BEGIN

-- 操作记录

NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,41,NULL,'01',NULL,NULL,NULL,NULL);

--清空结果临时表

NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','IDL_SEP_BACK_DATA_1_STG_TMP');

--合并数据给sqlserver手工清洗

INSERT /*+APPEND*/

INTO IDL_SEP_BACK_DATA_1_STG_TMP

(SYS_ID,CLEAN_FLAG)

SELECT /*+PARALLEL(A 2) PARALLEL(B 2) PARALLEL(C 2) PARALLEL(D 2) PARALLEL(F 2)*/

A.SYS_ID,

NVL2(B.SYS_ID,'A'||SPLIT_CHR,'')||

NVL2(C.SYS_ID,'B'||SPLIT_CHR,'')||

NVL2(D.SYS_ID,'C'||SPLIT_CHR,'') CLEAN_FLAG

FROM IDL_SEP_SRC_DATA A,

PC_CLEAN_CITY_STG_TMP B,

(SELECT SYS_ID, VEHICLE_NO, CITY,

VEHICLE_NO_INTEGRITY ,CLEAN_STATUS

FROM PC_CLEAN_VEHICLE_NO_STG_TMP

WHERE CLEAN_STATUS = '0') C,

(SELECT DISTINCT SYS_ID --, TEL_NO, CITY,CLEAN_STATUS

FROM PC_CLEAN_TEL_NO_STG_TMP --PC_CLEAN_TELEPHONE_STG_TMP

WHERE CLEAN_STATUS = '0') D, -- 返回手工清洗时使用

--PC_CLEAN_TEL_NO_STG_TMP D

IDL_EX_BATCH F

WHERE A.SYS_ID = B.SYS_ID(+)

AND A.SYS_ID = C.SYS_ID(+)

AND A.SYS_ID = D.SYS_ID(+)

AND A.TCIMS_BATCH_ID = F.TCIMS_BATCH_ID

AND F.SERIES_TYPE = '01'

AND F.BATCH_STATUS = '11'

AND F.PREPARE_FLAG = '1';

COMMIT;

-- 更新本次操作日志

NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,41,NULL,'02',NULL,NULL,NULL,NULL);

EXCEPTION

WHEN OTHERS THEN

P_ERRMSG := SUBSTR(SQLERRM,1,500);

NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,41,NULL,'03',P_ERRMSG,NULL,NULL,NULL);

RAISE;

END SP_UNITE_PC_PRE_BACK_DATA_1;

/***********************************************************

--功能说明: 整合需手工清洗数据前准备2

--参数说明:

--调用函数:

--修改记录: EX-LIUJIALI001

--注意事项: 顺序在所有清洗功能完成之后

--*********************************************************/

PROCEDURE SP_UNITE_PC_PRE_BACK_DATA_2

IS

P_ID NUMBER; -- 日志记录ID

P_ERRMSG VARCHAR2(500); -- 错误记录

BEGIN

-- 操作记录

NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,42,NULL,'01',NULL,NULL,NULL,NULL);

--清空结果临时表

NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','IDL_SEP_BACK_DATA_2_STG_TMP');

--合并数据给sqlserver手工清洗

INSERT /*+APPEND*/

INTO IDL_SEP_BACK_DATA_2_STG_TMP

(SYS_ID,CLEAN_FLAG)

SELECT /*+PARALLEL(A 2) PARALLEL(B 2) PARALLEL(C 2) PARALLEL(D 2) PARALLEL(F 2)*/

A.SYS_ID,

NVL2(B.SYS_ID,'D'||SPLIT_CHR,'')||

NVL2(C.SYS_ID,'E'||SPLIT_CHR,'')||

NVL2(D.SYS_ID,'F'||SPLIT_CHR,'') CLEAN_FLAG

FROM IDL_SEP_SRC_DATA A,

( SELECT SYS_ID ,BRAND_TYPE_CODE, CLEAN_STATUS

FROM PC_CLEAN_BRAND_TYPE_CD_STG_TMP

WHERE CLEAN_STATUS = '0') B,

( SELECT SYS_ID, USAGE_CODE, USAGE_ATTRIBUTE, CLEAN_STATUS

FROM PC_CLEAN_USAGE_CODE_STG_TMP

WHERE CLEAN_STATUS = '0') C,

( SELECT SYS_ID, VEHICLE_TYPE_CODE, VEHICLE_TYPE, CLEAN_STATUS

FROM PC_CLEAN_VEHIC_TYPE_CD_STG_TMP

WHERE CLEAN_STATUS = '0') D,

IDL_EX_BATCH F

WHERE A.SYS_ID = B.SYS_ID(+)

AND A.SYS_ID = C.SYS_ID(+)

AND A.SYS_ID = D.SYS_ID(+)

AND A.TCIMS_BATCH_ID = F.TCIMS_BATCH_ID

AND F.SERIES_TYPE = '01'

AND F.BATCH_STATUS = '11'

AND F.PREPARE_FLAG = '1';

COMMIT;

-- 更新本次操作日志

NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,42,NULL,'02',NULL,NULL,NULL,NULL);

EXCEPTION

WHEN OTHERS THEN

P_ERRMSG := SUBSTR(SQLERRM,1,500);

NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,42,NULL,'03',P_ERRMSG,NULL,NULL,NULL);

RAISE;

END SP_UNITE_PC_PRE_BACK_DATA_2;

/***********************************************************

--功能说明: 整合需手工清洗数据前准备3

--参数说明:

--调用函数:

--修改记录: EX-LIUJIALI001

--注意事项: 顺序在所有清洗功能完成之后

--*********************************************************/

PROCEDURE SP_UNITE_PC_PRE_BACK_DATA_3

IS

P_ID NUMBER; -- 日志记录ID

P_ERRMSG VARCHAR2(500); -- 错误记录

BEGIN

-- 操作记录

NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,43,NULL,'01',NULL,NULL,NULL,NULL);

--清空结果临时表

NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','IDL_SEP_BACK_DATA_3_STG_TMP');

--合并数据给sqlserver手工清洗

INSERT /*+APPEND*/

INTO IDL_SEP_BACK_DATA_3_STG_TMP

(SYS_ID,CLEAN_FLAG)

SELECT /*+PARALLEL(A 2) PARALLEL(B 2) PARALLEL(C 2) PARALLEL(D 2) PARALLEL(F 2)*/

A.SYS_ID,

NVL2(B.SYS_ID,'G'||SPLIT_CHR,'')||

NVL2(C.SYS_ID,'H'||SPLIT_CHR,'')||

NVL2(D.SYS_ID,'I'||SPLIT_CHR,'') CLEAN_FLAG

FROM IDL_SEP_SRC_DATA A,

(SELECT SYS_ID ,FIRST_REGISTER_DATE ,CLEAN_STATUS, POLICY_END_DATE

FROM PC_CLEAN_FST_REG_DATE_STG_TMP

WHERE CLEAN_STATUS = '0') B,

(SELECT SYS_ID ,POLICY_END_DATE ,CLEAN_STATUS

FROM PC_CLEAN_POLI_END_DATE_STG_TMP

WHERE CLEAN_STATUS = '0') C,

(SELECT SYS_ID ,POLICY_EFFECTIVE_DATE ,CLEAN_STATUS

FROM PC_CLEAN_POLI_EFC_DATE_STG_TMP

WHERE CLEAN_STATUS = '0') D,

IDL_EX_BATCH F

WHERE A.SYS_ID = B.SYS_ID(+)

AND A.SYS_ID = C.SYS_ID(+)

AND A.SYS_ID = D.SYS_ID(+)

AND A.TCIMS_BATCH_ID = F.TCIMS_BATCH_ID

AND F.SERIES_TYPE = '01'

AND F.BATCH_STATUS = '11'

AND F.PREPARE_FLAG = '1';

COMMIT;

-- 更新本次操作日志

NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,43,NULL,'02',NULL,NULL,NULL,NULL);

EXCEPTION

WHEN OTHERS THEN

P_ERRMSG := SUBSTR(SQLERRM,1,500);

NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,43,NULL,'03',P_ERRMSG,NULL,NULL,NULL);

RAISE;

END SP_UNITE_PC_PRE_BACK_DATA_3;

/***********************************************************

--功能说明: 整合需手工清洗数据前准备4

--参数说明:

--调用函数:

--修改记录: EX-LIUJIALI001

--注意事项: 顺序在所有清洗功能完成之后

--*********************************************************/

PROCEDURE SP_UNITE_PC_PRE_BACK_DATA_4

IS

P_ID NUMBER; -- 日志记录ID

P_ERRMSG VARCHAR2(500); -- 错误记录

BEGIN

-- 操作记录

NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,44,NULL,'01',NULL,NULL,NULL,NULL);

--清空结果临时表

NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','IDL_SEP_BACK_DATA_4_STG_TMP');

--合并数据给sqlserver手工清洗

INSERT /*+APPEND*/

INTO IDL_SEP_BACK_DATA_4_STG_TMP

(SYS_ID,CLEAN_FLAG)

SELECT /*+PARALLEL(A 2) PARALLEL(B 2) PARALLEL(C 2) PARALLEL(D 2) PARALLEL(F 2)*/

A.SYS_ID,

NVL2(B.SYS_ID,'J'||SPLIT_CHR,'')||

NVL2(C.SYS_ID,'K'||SPLIT_CHR,'')||

NVL2(D.SYS_ID,'L'||SPLIT_CHR,'') CLEAN_FLAG

FROM IDL_SEP_SRC_DATA A,

(SELECT SYS_ID, CUST_DOB, CLEAN_STATUS

FROM PC_CLEAN_CUST_DOB_STG_TMP K

WHERE NOT EXISTS(

SELECT 1 FROM PC_CLEAN_ID_NUMBER_STG_TMP E

WHERE K.SYS_ID = E.SYS_ID

AND E.CLEAN_STATUS = '1')

AND CLEAN_STATUS = '0') B,

(SELECT SYS_ID, MAIN_DRIVER_DOB, CLEAN_STATUS

FROM PC_CLEAN_MAIN_DRIV_DOB_STG_TMP

WHERE CLEAN_STATUS = '0') C,

(SELECT SYS_ID, DRIVER_LICENSE_FST_ISSUE_DATE, CLEAN_STATUS

FROM PC_CLEAN_LIC_ISUE_DATE_STG_TMP

WHERE CLEAN_STATUS = '0') D,

IDL_EX_BATCH F

WHERE A.SYS_ID = B.SYS_ID(+)

AND A.SYS_ID = C.SYS_ID(+)

AND A.SYS_ID = D.SYS_ID(+)

AND A.TCIMS_BATCH_ID = F.TCIMS_BATCH_ID

AND F.SERIES_TYPE = '01'

AND F.BATCH_STATUS = '11'

AND F.PREPARE_FLAG = '1';

COMMIT;

-- 更新本次操作日志

NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,44,NULL,'02',NULL,NULL,NULL,NULL);

EXCEPTION

WHEN OTHERS THEN

P_ERRMSG := SUBSTR(SQLERRM,1,500);

NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,44,NULL,'03',P_ERRMSG,NULL,NULL,NULL);

RAISE;

END SP_UNITE_PC_PRE_BACK_DATA_4;

/***********************************************************

--功能说明: 整合需手工清洗数据(产险)

--参数说明:

--调用函数:

--修改记录: EX-LIUJIALI001

--注意事项: 顺序在<整合需手工清洗数据前准备1,2,3,4>完成之后

--*********************************************************/

PROCEDURE SP_UNITE_PC_BACK_DATA

IS

P_ID NUMBER; -- 日志记录ID

P_ERRMSG VARCHAR2(500); -- 错误记录

BEGIN

-- 操作记录

NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,45,NULL,'01',NULL,NULL,NULL,NULL);

--清空结果临时表 无须清空数据

--NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','');

--合并数据给sqlserver手工清洗

INSERT /*+APPEND*/

INTO IDL_SEP_BACK_DATA_TMP

(SYS_ID,CLEAN_FLAG)

SELECT /*+PARALLEL(A 2) PARALLEL(B 2) PARALLEL(C 2) PARALLEL(D 2) PARALLEL(E 2) PARALLEL(F 2)*/

A.SYS_ID,

B.CLEAN_FLAG||C.CLEAN_FLAG||D.CLEAN_FLAG||E.CLEAN_FLAG CLEAN_FLAG

FROM IDL_SEP_SRC_DATA A,

IDL_SEP_BACK_DATA_1_STG_TMP B,

IDL_SEP_BACK_DATA_2_STG_TMP C,

IDL_SEP_BACK_DATA_3_STG_TMP D,

IDL_SEP_BACK_DATA_4_STG_TMP E,

IDL_EX_BATCH F

WHERE A.SYS_ID = B.SYS_ID(+)

AND A.SYS_ID = C.SYS_ID(+)

AND A.SYS_ID = D.SYS_ID(+)

AND A.SYS_ID = E.SYS_ID(+)

AND A.TCIMS_BATCH_ID = F.TCIMS_BATCH_ID

AND F.SERIES_TYPE = '01'

AND F.BATCH_STATUS = '11'

AND F.PREPARE_FLAG = '1';

COMMIT;

--合并数据给sqlserver手工清洗, 提取需要的数据

INSERT /*+APPEND*/

INTO IDL_SQL_SEP_CUST_RETURN --IDL_SEP_BACK_DATA

(

SQL_SYS_ID,

SYS_ID,

TCIMS_BATCH_ID,

TCIMS_CUST_ID,

TCIMS_VT_ID,

CITY,

THIRD_ORG,

SECONDARY_ORG,

PROVINCE,

AREA_INFO,

SRC_TYPE,

LIST_TYPE,

CUST_CLASS,

CUST_TYPE,

APPLICANT_PARTY_NO,

CIF2_ID,

CIF2_ID_TYPE,

CUST_NAME,

SEX,

SALUTATION,

MARITAL_STATUS,

CUST_DOB,

POSITION,

ID_TYPE,

ID_NUMBER,

CONTACT_NAME,

TELEPHONE_NUMBER,

FAX_AREA_CODE,

FAX_NUM,

APPLICANT_EMAIL,

ZIP_CODE,

ADDRESS,

REMARK,

DRIVER_LICENSE_NO,

DRIVER_LICENSE_FST_ISSUE_DATE,

DRIVE_VEHICLE_TYPE_CODE,

VEHICLE_NO,

BRAND_TYPE,

BRAND_TYPE_CODE,

USAGE_ATTRIBUTE,

USAGE_CODE,

ATTRIBUTE_CODE,

VEHICLE_TYPE,

VEHICLE_TYPE_CODE,

VEHICLE_CLASS_CODE,

VEHICLE_BODY_COLOR,

AUTOMODEL_NAME,

VEHICLE_MODEL_NAME_CN,

VEHICLE_MODEL_NO,

FACTORY_LOGO,

VEHICLE_SERIES,

PURCHASE_PRICE,

BRAND_TYPE_FIRST_SALE_DATE,

SEAT_NUMBER,

TON_NUMBER,

FULL_CAPACITY,

EXHAUST,

FOREIGN_VEHICLE_NO,

ENGINE_NUMBER,

VEHICLE_FRAME,

DEV_CODE,

REFIX_DESC,

VEHICLE_VALUE,

VEHICLE_REMARK,

VEHICLE_GENERAL_TYPE_CODE,

VEHICLE_SPECIFIC_TYPE_CODE,

MANUFACTURE_COUNTRY,

VT_FACTORY,

VEHICLE_STATUS,

USED_YEARS,

FIRST_REGISTER_DATE,

LEAVE_FACTORY_DATE,

BUY_VEHICLE_DATE,

VEHICLE_RANK_CODE,

VEHICLE_OWNER,

LICENSE_ISSUE_DATE,

MAIN_DRIVER_NO,

MAIN_DRIVER_DOB,

MAIN_DRIVER_SEX,

MAIN_DRIVER_NAME,

DRIVE_AREA_CODE,

INSURED_PERSON_NAME,

INSURED_PERSON_ADDRESS,

C01_POLICY_NO,

C01_DEPARTMENT_CODE,

C01_DEPARTMENT_CHINESE_NAME,

C01_LAST_POLICY_NO,

C01_LAST_YEAR_APPLY_COMPANY,

C01_VALUE_CHINESE_NAME,

C01_SALE_AGENT_CODE,

C01_EMPLOYEE_NAME,

C01_BUSINESS_SRC_CODE,

C01_BUSINESS_SRC_NAME,

C01_BUSINESS_SRC_DETAIL_CODE,

C01_BUSINESS_SRC_DETAIL_NAME,

C01_CHANNEL_SRC_CODE,

C01_CHANNEL_SRC_NAME,

C01_CHANNEL_SRC_DETAIL_CODE,

C01_CHANNEL_SRC_DETAIL_NAME,

C01_INSURANCE_BEGIN_TIME,

C01_INSURANCE_END_TIME,

C01_TOTAL_ACTUAL_PREMIUM,

C01_PREMIUM_INFO,

C01_APPLY_TIME,

C01_UNDERWRITE_TIME,

C01_INPUT_BY_ID,

C01_INPUT_BY,

C51_POLICY_NO,

C51_DEPARTMENT_CODE,

C51_DEPARTMENT_CHINESE_NAME,

C51_LAST_POLICY_NO,

C51_LAST_YEAR_APPLY_COMPANY,

C51_VALUE_CHINESE_NAME,

C51_SALE_AGENT_CODE,

C51_EMPLOYEE_NAME,

C51_BUSINESS_SRC_CODE,

C51_BUSINESS_SRC_NAME,

C51_BUSINESS_SRC_DETAIL_CODE,

C51_BUSINESS_SRC_DETAIL_NAME,

C51_CHANNEL_SRC_CODE,

C51_CHANNEL_SRC_NAME,

C51_CHANNEL_SRC_DETAIL_CODE,

C51_CHANNEL_SRC_DETAIL_NAME,

C51_INSURANCE_BEGIN_TIME,

C51_INSURANCE_END_TIME,

C51_TOTAL_ACTUAL_PREMIUM,

C51_PREMIUM_INFO,

C51_APPLY_TIME,

C51_UNDERWRITE_TIME,

C51_INPUT_BY_ID,

C51_INPUT_BY,

VIOLATION_RATIO,

CLAIM_RATIO,

VIOLATION_PREMIUM_CHANGE,

INSURANCE_TYPE_FLAG,

POLICY_EFFECTIVE_DATE,

POLICY_END_DATE,

PA_APPLY_HISTORY,

PA_LIFE_CLIENT,

BIZ_MODEL,

SUB_BIZMODEL,

EXPIRED_DATE,

CAMPAIGN_ID,

CAMPAIGN_NAME,

GROUP_ID,

CAMPAIGN_SPLIT_NAME,

BATCH_NAME,

TASK_GROUP_ID,

TASK_ID,

IS_CONTACTED,

C51_PHONE_RESULT,

C51_SALE_STAGE,

C51_SALE_DECISION,

C51_ADDED_EXPLAIN,

C01_PHONE_RESULT,

C01_SALE_STAGE,

C01_SALE_DECISION,

C01_ADDED_EXPLAIN,

C01_SALE_RESULT_CLASS,

C51_SALE_RESULT_CLASS,

SALE_RESULT_CLASS,

IS_AGENCY_PHONE,

IS_ADDRESS_VALID,

SHIELD_FLAG,

RISK_TIMES,

LIST_PRIORITY,

CREATED_DATE,

CREATED_BY,

UPDATED_DATE,

UPDATED_BY,

INVALID_CLEAN_FLAG

)

SELECT /*+PARALLEL(A 2) PARALLEL(B 2) PARALLEL(F 2)*/

A.SQL_SYS_ID,

A.SYS_ID,

A.TCIMS_BATCH_ID,

A.TCIMS_CUST_ID,

A.TCIMS_VT_ID,

A.CITY,

A.THIRD_ORG,

A.SECONDARY_ORG,

A.PROVINCE,

A.AREA_INFO,

A.SRC_TYPE,

A.LIST_TYPE,

A.CUST_CLASS,

A.CUST_TYPE,

A.APPLICANT_PARTY_NO,

A.CIF2_ID,

A.CIF2_ID_TYPE,

A.CUST_NAME,

A.SEX,

A.SALUTATION,

A.MARITAL_STATUS,

A.CUST_DOB,

A.POSITION,

A.ID_TYPE,

A.ID_NUMBER,

A.CONTACT_NAME,

A.TELEPHONE_NUMBER,

A.FAX_AREA_CODE,

A.FAX_NUM,

A.APPLICANT_EMAIL,

A.ZIP_CODE,

A.ADDRESS,

A.REMARK,

A.DRIVER_LICENSE_NO,

A.DRIVER_LICENSE_FST_ISSUE_DATE,

A.DRIVE_VEHICLE_TYPE_CODE,

A.VEHICLE_NO,

A.BRAND_TYPE,

A.BRAND_TYPE_CODE,

A.USAGE_ATTRIBUTE,

A.USAGE_CODE,

A.ATTRIBUTE_CODE,

A.VEHICLE_TYPE,

A.VEHICLE_TYPE_CODE,

A.VEHICLE_CLASS_CODE,

A.VEHICLE_BODY_COLOR,

A.AUTOMODEL_NAME,

A.VEHICLE_MODEL_NAME_CN,

A.VEHICLE_MODEL_NO,

A.FACTORY_LOGO,

A.VEHICLE_SERIES,

A.PURCHASE_PRICE,

A.BRAND_TYPE_FIRST_SALE_DATE,

A.SEAT_NUMBER,

A.TON_NUMBER,

A.FULL_CAPACITY,

A.EXHAUST,

A.FOREIGN_VEHICLE_NO,

A.ENGINE_NUMBER,

A.VEHICLE_FRAME,

A.DEV_CODE,

A.REFIX_DESC,

A.VEHICLE_VALUE,

A.VEHICLE_REMARK,

A.VEHICLE_GENERAL_TYPE_CODE,

A.VEHICLE_SPECIFIC_TYPE_CODE,

A.MANUFACTURE_COUNTRY,

A.VT_FACTORY,

A.VEHICLE_STATUS,

A.USED_YEARS,

A.FIRST_REGISTER_DATE,

A.LEAVE_FACTORY_DATE,

A.BUY_VEHICLE_DATE,

A.VEHICLE_RANK_CODE,

A.VEHICLE_OWNER,

A.LICENSE_ISSUE_DATE,

A.MAIN_DRIVER_NO,

A.MAIN_DRIVER_DOB,

A.MAIN_DRIVER_SEX,

A.MAIN_DRIVER_NAME,

A.DRIVE_AREA_CODE,

A.INSURED_PERSON_NAME,

A.INSURED_PERSON_ADDRESS,

A.C01_POLICY_NO,

A.C01_DEPARTMENT_CODE,

A.C01_DEPARTMENT_CHINESE_NAME,

A.C01_LAST_POLICY_NO,

A.C01_LAST_YEAR_APPLY_COMPANY,

A.C01_VALUE_CHINESE_NAME,

A.C01_SALE_AGENT_CODE,

A.C01_EMPLOYEE_NAME,

A.C01_BUSINESS_SRC_CODE,

A.C01_BUSINESS_SRC_NAME,

A.C01_BUSINESS_SRC_DETAIL_CODE,

A.C01_BUSINESS_SRC_DETAIL_NAME,

A.C01_CHANNEL_SRC_CODE,

A.C01_CHANNEL_SRC_NAME,

A.C01_CHANNEL_SRC_DETAIL_CODE,

A.C01_CHANNEL_SRC_DETAIL_NAME,

A.C01_INSURANCE_BEGIN_TIME,

A.C01_INSURANCE_END_TIME,

A.C01_TOTAL_ACTUAL_PREMIUM,

A.C01_PREMIUM_INFO,

A.C01_APPLY_TIME,

A.C01_UNDERWRITE_TIME,

A.C01_INPUT_BY_ID,

A.C01_INPUT_BY,

A.C51_POLICY_NO,

A.C51_DEPARTMENT_CODE,

A.C51_DEPARTMENT_CHINESE_NAME,

A.C51_LAST_POLICY_NO,

A.C51_LAST_YEAR_APPLY_COMPANY,

A.C51_VALUE_CHINESE_NAME,

A.C51_SALE_AGENT_CODE,

A.C51_EMPLOYEE_NAME,

A.C51_BUSINESS_SRC_CODE,

A.C51_BUSINESS_SRC_NAME,

A.C51_BUSINESS_SRC_DETAIL_CODE,

A.C51_BUSINESS_SRC_DETAIL_NAME,

A.C51_CHANNEL_SRC_CODE,

A.C51_CHANNEL_SRC_NAME,

A.C51_CHANNEL_SRC_DETAIL_CODE,

A.C51_CHANNEL_SRC_DETAIL_NAME,

A.C51_INSURANCE_BEGIN_TIME,

A.C51_INSURANCE_END_TIME,

A.C51_TOTAL_ACTUAL_PREMIUM,

A.C51_PREMIUM_INFO,

A.C51_APPLY_TIME,

A.C51_UNDERWRITE_TIME,

A.C51_INPUT_BY_ID,

A.C51_INPUT_BY,

A.VIOLATION_RATIO,

A.CLAIM_RATIO,

A.VIOLATION_PREMIUM_CHANGE,

A.INSURANCE_TYPE_FLAG,

A.POLICY_EFFECTIVE_DATE,

A.POLICY_END_DATE,

A.PA_APPLY_HISTORY,

A.PA_LIFE_CLIENT,

A.BIZ_MODEL,

A.SUB_BIZMODEL,

A.EXPIRED_DATE,

A.CAMPAIGN_ID,

A.CAMPAIGN_NAME,

A.GROUP_ID,

A.CAMPAIGN_SPLIT_NAME,

A.BATCH_NAME,

A.TASK_GROUP_ID,

A.TASK_ID,

A.IS_CONTACTED,

A.C51_PHONE_RESULT,

A.C51_SALE_STAGE,

A.C51_SALE_DECISION,

A.C51_ADDED_EXPLAIN,

A.C01_PHONE_RESULT,

A.C01_SALE_STAGE,

A.C01_SALE_DECISION,

A.C01_ADDED_EXPLAIN,

A.C01_SALE_RESULT_CLASS,

A.C51_SALE_RESULT_CLASS,

A.SALE_RESULT_CLASS,

A.IS_AGENCY_PHONE,

A.IS_ADDRESS_VALID,

A.SHIELD_FLAG,

A.RISK_TIMES,

A.LIST_PRIORITY,

A.CREATED_DATE,

A.CREATED_BY,

A.UPDATED_DATE,

A.UPDATED_BY,

B.CLEAN_FLAG

FROM IDL_SEP_SRC_DATA A,

IDL_SEP_BACK_DATA_TMP B,

IDL_EX_BATCH F

WHERE A.SYS_ID = B.SYS_ID

AND B.CLEAN_FLAG IS NOT NULL

AND A.TCIMS_BATCH_ID = F.TCIMS_BATCH_ID

AND F.SERIES_TYPE = '01'

AND F.BATCH_STATUS = '11'

AND F.PREPARE_FLAG = '1';

COMMIT;

-- 更新本次操作日志

NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,45,NULL,'02',NULL,NULL,NULL,NULL);

EXCEPTION

WHEN OTHERS THEN

P_ERRMSG := SUBSTR(SQLERRM,1,500);

NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,45,NULL,'03',P_ERRMSG,NULL,NULL,NULL);

RAISE;

END SP_UNITE_PC_BACK_DATA;

/***********************************************************

--功能说明: 整合需手工清洗数据(寿险)

--参数说明:

--调用函数:

--修改记录: EX-LIUJIALI001

--注意事项: 顺序在寿险数据清洗完成之后

--*********************************************************/

PROCEDURE SP_UNITE_LA_BACK_DATA

IS

P_ID NUMBER; -- 日志记录ID

P_ERRMSG VARCHAR2(500); -- 错误记录

BEGIN

-- 操作记录

NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,53,NULL,'01',NULL,NULL,NULL,NULL);

--清空结果临时表 无须清空数据

NETS_TCIMS_COMM.SP_TRUNCATE('TCIMSLOGTMP','IDL_SEL_BACK_DATA_1_TMP');

--合并数据给sqlserver手工清洗

INSERT /*+APPEND*/

INTO IDL_SEL_BACK_DATA_1_TMP

(SYS_ID,CLEAN_FLAG)

SELECT /*+PARALLEL(A 2) PARALLEL(B 2) PARALLEL(C 2) PARALLEL(D 2)*/

A.SYS_ID,

NVL2(B.SYS_ID,'C'||SPLIT_CHR,'')||

NVL2(C.SYS_ID,'A'||SPLIT_CHR,'') CLEAN_FLAG

FROM IDL_SEL_SRC_DATA A,

(SELECT DISTINCT SYS_ID

FROM LA_CLEAN_TEL_NO_STG_TMP

WHERE CLEAN_STATUS = '0') B,

LA_CLEAN_CITY_STG_TMP C,

IDL_EX_BATCH D

WHERE A.SYS_ID = B.SYS_ID(+)

AND A.SYS_ID = C.SYS_ID(+)

AND A.TCIMS_BATCH_ID = D.TCIMS_BATCH_ID

AND D.SERIES_TYPE = '02'

AND D.BATCH_STATUS = '11'

AND D.PREPARE_FLAG = '1';

COMMIT;

--合并数据给sqlserver手工清洗

INSERT /*+APPEND*/

INTO IDL_SQL_SEL_CUST_RETURN --IDL_SEL_BACK_DATA

(

SQL_SYS_ID,

SYS_ID,

TCIMS_BATCH_ID,

TCIMS_CUST_ID,

CLIENT_NO,

APPLICANT_PARTY_NO,

SRC_TYPE,

LIST_TYPE,

LIST_PRIORITY,

CUST_NAME,

SEX,

ID_TYPE,

ID_NUMBER,

CUST_DOB,

WORK_UNIT,

DEPARTMENT_CHINESE_NAME,

LIST_CREATED_DATE,

POSITION,

POSITION_CODE,

EDUCATIONAL_BACKGROUND,

MARITAL_STATUS,

PROF_GRADE,

ANNUAL_INCOME,

CONTACT_ADDRESS,

CONTACT_ZIPCODE,

ADDRESS,

ZIP_CODE,

EMAIL,

SHIELD_FLAG,

CAMPAIGN_NAME,

CAMPAIGN_SPLIT_NAME,

BATCH_NAME,

SUPERVISOR_ID,

TEAM_LEADER_ID,

TMR_UM_ID,

PRODUCT_NAME,

CONTACT_DATE,

CALL_RESULT,

IS_INSURE_FLAG,

IS_SUBMIT_FLAG,

IS_FREE_FLAG,

CALL_BACK_REMARK,

SUCCESS_DATE,

TRANSFER_SUCCESS_DAY,

LIST_STATUS,

REGION_CODE,

CREDIT_CARD_CALL_DATE,

SUBMIT_DATE,

CREATED_DATE,

CREATED_BY,

UPDATED_DATE,

UPDATED_BY,

INVALID_CLEAN_FLAG

)

SELECT /*+PARALLEL(A 2) PARALLEL(B 2) PARALLEL(F 2)*/

A.SQL_SYS_ID,

A.SYS_ID,

A.TCIMS_BATCH_ID,

A.TCIMS_CUST_ID,

A.CLIENT_NO,

A.APPLICANT_PARTY_NO,

A.SRC_TYPE,

A.LIST_TYPE,

A.LIST_PRIORITY,

A.CUST_NAME,

A.SEX,

A.ID_TYPE,

A.ID_NUMBER,

A.CUST_DOB,

A.WORK_UNIT,

A.DEPARTMENT_CHINESE_NAME,

A.LIST_CREATED_DATE,

A.POSITION,

A.POSITION_CODE,

A.EDUCATIONAL_BACKGROUND,

A.MARITAL_STATUS,

A.PROF_GRADE,

A.ANNUAL_INCOME,

A.CONTACT_ADDRESS,

A.CONTACT_ZIPCODE,

A.ADDRESS,

A.ZIP_CODE,

A.EMAIL,

A.SHIELD_FLAG,

A.CAMPAIGN_NAME,

A.CAMPAIGN_SPLIT_NAME,

A.BATCH_NAME,

A.SUPERVISOR_ID,

A.TEAM_LEADER_ID,

A.TMR_UM_ID,

A.PRODUCT_NAME,

A.CONTACT_DATE,

A.CALL_RESULT,

A.IS_INSURE_FLAG,

A.IS_SUBMIT_FLAG,

A.IS_FREE_FLAG,

A.CALL_BACK_REMARK,

A.SUCCESS_DATE,

A.TRANSFER_SUCCESS_DAY,

A.LIST_STATUS,

A.REGION_CODE,

A.CREDIT_CARD_CALL_DATE,

A.SUBMIT_DATE,

A.CREATED_DATE,

A.CREATED_BY,

A.UPDATED_DATE,

A.UPDATED_BY,

B.CLEAN_FLAG

FROM IDL_SEL_SRC_DATA A,

IDL_SEL_BACK_DATA_1_TMP B,

IDL_EX_BATCH F

WHERE B.CLEAN_FLAG IS NOT NULL

AND A.SYS_ID = B.SYS_ID

AND A.TCIMS_BATCH_ID = F.TCIMS_BATCH_ID

AND F.SERIES_TYPE = '02'

AND F.BATCH_STATUS = '11'

AND F.PREPARE_FLAG = '1';

COMMIT;

-- 更新本次操作日志

NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,53,NULL,'02',NULL,NULL,NULL,NULL);

EXCEPTION

WHEN OTHERS THEN

P_ERRMSG := SUBSTR(SQLERRM,1,500);

NETS_TCIMS_COMM.SP_LOG_RECORDER(P_ID,53,NULL,'03',P_ERRMSG,NULL,NULL,NULL);

RAISE;

END SP_UNITE_LA_BACK_DATA;

END NETS_TCIMS_BACK_CLEAN_DATA;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。