|
@@ -0,0 +1,99 @@
|
|
|
+--处理增量的保单信息
|
|
|
+CREATE OR REPLACE PROCEDURE shanglifeecif.incrementInsuranceArrangement2() IS
|
|
|
+DECLARE
|
|
|
+sianum INT;
|
|
|
+BEGIN
|
|
|
+
|
|
|
+ SELECT COUNT(*) INTO sianum FROM shanglifeecif.InsuranceArrangement;
|
|
|
+ MERGE INTO shanglifeecif.InsuranceArrangement sia using
|
|
|
+ (SELECT * FROM shanghailifeecif.policy_information) si ON sia.policyno = si.CONTNO AND sia.ProductID = si.RISKCODE
|
|
|
+ WHEN MATCHED THEN UPDATE SET sia.pindate = si.CVALIDATE, sia.pmdate = si.ENDDATE,sia.norenewal = si.PAYCOUNT,
|
|
|
+ sia.payment = si.PAYINTV,sia.applicantid = si.individual,
|
|
|
+ sia.appname = si.NAME,sia.appcertid = si.IDNO,sia.insuredid= si.insuredno,sia.insname = si.INSUREDNAME,sia.inscertid = si.INSUREDIDNO,
|
|
|
+ sia.productid= si.RISKCODE,sia.policybelong = si.SALECOM,sia.payendyear = si.PAYENDYEAR
|
|
|
+ WHEN NOT MATCHED THEN
|
|
|
+ INSERT ( iaid ,--'保单ID',
|
|
|
+ policyno ,-- '保险单号 INSURANCEINFO.CONTNO',
|
|
|
+ pindate ,-- '起保日期 POLICY_INFORMATION.CVALIDATE',
|
|
|
+ pmdate ,-- '终保日期 POLICY_INFORMATION.ENDDATE',
|
|
|
+ norenewal ,-- '续保次数 POLICY_INFORMATION.PAYCOUNT',
|
|
|
+ payment ,-- '缴费方式 POLICY_INFORMATION.PAYINTV',
|
|
|
+ applicantscustid ,-- '投保人 上游客户号,再找到individualid',
|
|
|
+ appname ,-- '投保人名称 POLICY_INFORMATION.NAME',
|
|
|
+ appcertid ,-- '投保人证件号码 POLICY_INFORMATION.IDNO',
|
|
|
+ insuredscustid ,-- '主被保险人 游客户号',
|
|
|
+ insname ,-- '主被保险人名称 POLICY_INFORMATION.INSUREDNAME',
|
|
|
+ inscertid ,-- '主被保险人证件号码 POLICY_INFORMATION.INSUREDIDNO',
|
|
|
+ productid ,-- '险种代码 POLICY_INFORMATION.RISKCODE',
|
|
|
+ policybelong ,-- '业绩归属 POLICY_INFORMATION.SALECOM',
|
|
|
+ payendyear ,-- '缴费年期 POLICY_INFORMATION.PAYENDYEAR',
|
|
|
+ created_by ,-- '创建人',
|
|
|
+ created_time -- '创建时间',
|
|
|
+ )
|
|
|
+ values(row_number()over()+sianum,
|
|
|
+ CONTNO,--policyno ,-- '保险单号 INSURANCEINFO.CONTNO',
|
|
|
+ CVALIDATE,--pindate ,-- '起保日期 POLICY_INFORMATION.CVALIDATE',
|
|
|
+ ENDDATE,--pmdate ,-- '终保日期 POLICY_INFORMATION.ENDDATE',
|
|
|
+ PAYCOUNT,--norenewal ,-- '续保次数 POLICY_INFORMATION.PAYCOUNT',
|
|
|
+ PAYINTV,--payment ,-- '缴费方式 POLICY_INFORMATION.PAYINTV',
|
|
|
+ individual,--applicantid ,-- '投保人 根据POLICY_INFORMATION.CUSTOMERNO关联individual上游客户号,再找到individualid',
|
|
|
+ NAME,--appname ,-- '投保人名称 POLICY_INFORMATION.NAME',
|
|
|
+ IDNO,--appcertid ,-- '投保人证件号码 POLICY_INFORMATION.IDNO',
|
|
|
+ insuredno,--insuredid ,-- '主被保险人 insuredno',
|
|
|
+ INSUREDNAME,--insname ,-- '主被保险人名称 POLICY_INFORMATION.INSUREDNAME',
|
|
|
+ INSUREDIDNO,--inscertid ,-- '主被保险人证件号码 POLICY_INFORMATION.INSUREDIDNO',
|
|
|
+ RISKCODE,--productid ,-- '险种代码 POLICY_INFORMATION.RISKCODE',
|
|
|
+ SALECOM,--policybelong ,-- '业绩归属 POLICY_INFORMATION.SALECOM',
|
|
|
+ PAYENDYEAR,--payendyear ,-- '缴费年期 POLICY_INFORMATION.PAYENDYEAR',
|
|
|
+ 'koucx',
|
|
|
+ sysdate() );
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE insurancearrangement a SET (
|
|
|
+ applicantid --'投保人ID',
|
|
|
+ ) = (
|
|
|
+ select
|
|
|
+ indid ,--'投保人ID',
|
|
|
+ from individual b
|
|
|
+ where b.scustid = a.applicantscustid
|
|
|
+ ) WHERE 1=1 ;
|
|
|
+
|
|
|
+ UPDATE insurancearrangement a SET (
|
|
|
+ insuredid --'主保险人ID',
|
|
|
+ ) = (
|
|
|
+ select
|
|
|
+ indid ,--'投保人ID',
|
|
|
+ from individual b
|
|
|
+ where b.scustid = a.insuredscustid
|
|
|
+ ) WHERE 1=1 ;
|
|
|
+
|
|
|
+ --更新INSURANCEINFO 表中的信息
|
|
|
+
|
|
|
+ UPDATE insurancearrangement a SET (
|
|
|
+ pano ,-- '投保单号 INSURANCEINFO.PRTNO',
|
|
|
+ pisdate ,-- '签单日期 INSURANCEINFO.SIGNDATE',
|
|
|
+ padate ,-- '投保日期 INSURANCEINFO.POLAPPLYDATE',
|
|
|
+ policystate ,--INSURANCEINFO,appflag
|
|
|
+ prem ,-- '总保费 INSURANCEINFO.PREM',
|
|
|
+ productname ,-- '险种名称 INSURANCEINFO.RISKNAME'
|
|
|
+ agentchannel ,-- '代理渠道 INSURANCEINFO.SELLTYPE',
|
|
|
+ ) = (
|
|
|
+ select
|
|
|
+ PRTNO,--pano ,-- '投保单号 INSURANCEINFO.PRTNO',
|
|
|
+ SIGNDATE,--pisdate ,-- '签单日期 INSURANCEINFO.SIGNDATE',
|
|
|
+ POLAPPLYDATE,--padate ,-- '投保日期 INSURANCEINFO.POLAPPLYDATE',
|
|
|
+ appflag,--policystate ,--INSURANCEINFO,appflag
|
|
|
+ PREM,--prem ,-- '总保费 INSURANCEINFO.PREM',
|
|
|
+ RISKNAME,--productname ,-- '险种名称 INSURANCEINFO.RISKNAME'
|
|
|
+ SELLTYPE--agentchannel ,-- '代理渠道 INSURANCEINFO.SELLTYPE',
|
|
|
+ from shanghailifeecif.INSURANCEINFO b
|
|
|
+ where b.contno = a.policyno
|
|
|
+ ) WHERE 1=1 ;
|
|
|
+
|
|
|
+ EXCEPTION
|
|
|
+ WHEN HIVE_EXCEPTION THEN
|
|
|
+ INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());
|
|
|
+ WHEN Others THEN
|
|
|
+ INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());
|
|
|
+
|
|
|
+END ;
|