|
@@ -0,0 +1,44 @@
|
|
|
+
|
|
|
+CREATE OR REPLACE PROCEDURE shanglifeecif.initIndRelationShip() IS
|
|
|
+DECLARE
|
|
|
+BEGIN
|
|
|
+ DELETE FROM shanglifeecif.IndRelationShip;
|
|
|
+
|
|
|
+ insert into shanglifeecif.IndRelationShip(irsid,RSType,IndID1,Name1,IDCard1,IndID2,Name2,IDCard2,RSSTime,Role2)
|
|
|
+ SELECT row_number()over(),max(RELATIONTOAPPNT),CUSTOMERNO,max(NAME),max(IDNO),INSUREDNO,max(INSUREDNAME),max(INSUREDIDNO),min(CUSTOMGETPOLDATE),
|
|
|
+ CASE max(RELATIONTOAPPNT)
|
|
|
+ WHEN '子女' THEN case max(INSUREDSEX) when 1 THEN '女儿' WHEN 0 THEN '儿子' end
|
|
|
+ when '父母' THEN case max(INSUREDSEX) when 1 THEN '母亲' WHEN 0 THEN '父亲' end
|
|
|
+ WHEN '配偶' THEN case max(INSUREDSEX) when 1 THEN '妻子' WHEN 0 THEN '丈夫' end
|
|
|
+ when '祖父母、外祖父母' THEN case max(INSUREDSEX) when 1 THEN '(外)祖母' WHEN 0 THEN '(外)祖父' end
|
|
|
+ when '祖孙、外祖孙' THEN case max(INSUREDSEX) when 1 THEN '(外)孙女' WHEN 0 THEN '(外)祖孙' end
|
|
|
+ ELSE max(RELATIONTOAPPNT) END
|
|
|
+ FROM shanghailifeecif.POLICY_INFORMATION
|
|
|
+ WHERE RELATIONTOAPPNT<>'本人'
|
|
|
+ GROUP BY CUSTOMERNO,INSUREDNO;
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.IndRelationShip sirs SET sirs.role1 = (SELECT
|
|
|
+ CASE slirs.role2
|
|
|
+ WHEN '父亲' THEN '母亲'
|
|
|
+ WHEN '母亲' THEN '父亲'
|
|
|
+ WHEN '丈夫' THEN '妻子'
|
|
|
+ WHEN '妻子' THEN '丈夫'
|
|
|
+ WHEN '儿子' THEN '女儿'
|
|
|
+ WHEN '女儿' THEN '儿子'
|
|
|
+ ELSE '其它' END
|
|
|
+ FROM shanglifeecif.IndRelationShip slirs WHERE sirs.irsid = slirs.irsid);
|
|
|
+
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.IndRelationShip sirs SET (sirs.indid1) =
|
|
|
+ (SELECT si.indid FROM shanglifeecif.individual si WHERE si.scustid = sirs.indid1);
|
|
|
+
|
|
|
+ UPDATE shanglifeecif.IndRelationShip sirs SET (sirs.indid2) =
|
|
|
+ (SELECT si.indid FROM shanglifeecif.individual si WHERE si.scustid = sirs.indid2);
|
|
|
+
|
|
|
+
|
|
|
+ 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 ;
|