个体关系信息.sql 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. CREATE OR REPLACE PROCEDURE shanglifeecif.init_indrelationship_tmp( )
  2. IS
  3. DECLARE
  4. strsql string
  5. BEGIN
  6. --删除数据
  7. DELETE shanglifeecif.indrelationship_tmp;
  8. --插入数据
  9. INSERT INTO shanglifeecif.indrelationship_tmp(
  10. id,
  11. RSType,
  12. SCustID1,
  13. Name1,
  14. sex1,
  15. IDCard1,
  16. Role1,
  17. SCustID2,
  18. Name2,
  19. sex2,
  20. IDCard2,
  21. RSSTime,
  22. Role2
  23. )
  24. SELECT
  25. row_number()over() AS IRSID,
  26. max(RELATIONTOAPPNT) AS RSType,
  27. CUSTOMERNO AS IndID1,
  28. max(NAME) AS Name1,
  29. max(sex) AS sex1,
  30. max(IDNO) AS IDCard1,
  31. CASE max(RELATIONTOAPPNT)
  32. WHEN '子女'
  33. THEN CASE max(sex)
  34. WHEN 1 THEN '母亲'
  35. WHEN 0 THEN '父亲'
  36. END
  37. WHEN '父母'
  38. THEN CASE max(sex)
  39. WHEN 1 THEN '女儿'
  40. WHEN 0 THEN '儿子'
  41. END
  42. WHEN '配偶'
  43. THEN CASE max(sex)
  44. WHEN 1 THEN '妻子'
  45. WHEN 0 THEN '丈夫'
  46. END
  47. WHEN '祖父母、外祖父母'
  48. THEN CASE max(sex)
  49. WHEN 1 THEN '(外)孙女'
  50. WHEN 0 THEN '(外)祖孙'
  51. END
  52. WHEN '祖孙、外祖孙'
  53. THEN CASE max(sex)
  54. WHEN 1 THEN '(外)祖母'
  55. WHEN 0 THEN '(外)祖父'
  56. END
  57. ELSE max(RELATIONTOAPPNT)
  58. END AS Role1,
  59. INSUREDNO AS IndID2,
  60. max(INSUREDNAME) AS Name2,
  61. max(insuredsex) AS sex2,
  62. max(INSUREDIDNO) AS IDCard2,
  63. min(CUSTOMGETPOLDATE) AS RSSTime,
  64. CASE max(RELATIONTOAPPNT)
  65. WHEN '子女'
  66. THEN CASE max(INSUREDSEX)
  67. WHEN 1 THEN '女儿'
  68. WHEN 0 THEN '儿子'
  69. END
  70. WHEN '父母'
  71. THEN CASE max(INSUREDSEX)
  72. WHEN 1 THEN '母亲'
  73. WHEN 0 THEN '父亲'
  74. END
  75. WHEN '配偶'
  76. THEN CASE max(INSUREDSEX)
  77. WHEN 1 THEN '妻子'
  78. WHEN 0 THEN '丈夫'
  79. END
  80. WHEN '祖父母、外祖父母'
  81. THEN CASE max(INSUREDSEX)
  82. WHEN 1 THEN '(外)祖母'
  83. WHEN 0 THEN '(外)祖父'
  84. END
  85. WHEN '祖孙、外祖孙'
  86. THEN CASE max(INSUREDSEX)
  87. WHEN 1 THEN '(外)孙女'
  88. WHEN 0 THEN '(外)祖孙'
  89. END
  90. ELSE max(RELATIONTOAPPNT)
  91. END AS Role2
  92. FROM POLICY_INFORMATION
  93. WHERE RELATIONTOAPPNT<>'本人' AND RELATIONTOAPPNT IS NOT NULL
  94. GROUP BY CUSTOMERNO,INSUREDNO;
  95. --更新临时表的indid1 indid2
  96. UPDATE shanglifeecif.indrelationship_tmp a set indid1 =
  97. (SELECT b.indid FROM (select
  98. indid,row_number() over(partition by scustid) rn ,SCustID
  99. from shanglifeecif.individual) b where a.SCustID1 = b.SCustID AND b.rn = 1);
  100. UPDATE shanglifeecif.indrelationship_tmp a set indid2 =
  101. (SELECT b.indid FROM (select
  102. indid,row_number() over(partition by scustid) rn ,SCustID
  103. from shanglifeecif.individual) b where a.SCustID2 = b.SCustID AND b.rn = 1);
  104. END;
  105. /
  106. CREATE OR REPLACE PROCEDURE shanglifeecif.init_indrelationship( )
  107. IS
  108. DECLARE
  109. BEGIN
  110. DELETE FROM shanglifeecif.indrelationship;
  111. --插入数据
  112. INSERT INTO shanglifeecif.indrelationship(
  113. IRSID, --'个体关系ID'
  114. RSType, --'关系类型 其他、配偶、祖父母、外祖父母、祖孙、外祖孙、本人、父母子女' ,
  115. IndID1, --'个体1' ,
  116. Name1, --个体1名称
  117. IDCard1, --个体1证件号码
  118. Role1,--个体1角色 父亲、母亲、儿子、女儿、妻子、丈夫
  119. IndID2,--个体2
  120. Name2,--个体2名称 sex2,--个体2手机
  121. IDCard2,--个体2证件号码
  122. Role2,--个体2角色 父亲、母亲、儿子、女儿、妻子、丈夫
  123. RSSTime,--开始时间
  124. CREATED_BY,--创建人
  125. CREATED_TIME--
  126. )
  127. SELECT
  128. id,
  129. RSType,
  130. indid1,
  131. Name1,
  132. IDCard1,
  133. Role1,
  134. indid2,
  135. Name2,
  136. IDCard2,
  137. Role2,
  138. RSSTime,
  139. 'admin',
  140. sysdate
  141. FROM shanglifeecif.indrelationship_tmp where indid1 is not null and indid2 is not null
  142. END;
  143. /
  144. BEGIN
  145. shanglifeecif.init_indrelationship_tmp();
  146. shanglifeecif.init_indrelationship();
  147. end