参与方事件.sql 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. CREATE OR REPLACE PROCEDURE shanglifeecif.partytimeline_tb() -- 创建主存储过程
  2. IS
  3. BEGIN
  4. insert into shanglifeecif.partytimeline (
  5. TripID,
  6. PolicyNo,
  7. PartyID,
  8. name,
  9. PCertID,
  10. PRole,
  11. Scenario,
  12. SDate,
  13. enddate,
  14. created_by ,
  15. created_time
  16. ) select
  17. row_number()over(),
  18. trim(contno) as contno,
  19. trim(max(customerno)) as customerno,
  20. trim(max(name)) as name,
  21. trim(max(idno)) as idno,
  22. '投保人',
  23. '投保',
  24. trim(max(polapplydate)) as polapplydate,
  25. trim(max(enddate)) as enddate,
  26. 'admin',
  27. sysdate()
  28. from policy_information WHERE contno IS NOT NULL GROUP BY contno;
  29. EXCEPTION
  30. WHEN HIVE_EXCEPTION THEN
  31. INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());
  32. WHEN Others THEN
  33. INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());
  34. END;
  35. /
  36. CREATE OR REPLACE PROCEDURE shanglifeecif.partytimeline_lp()
  37. IS
  38. DECLARE
  39. p_count int
  40. BEGIN
  41. SELECT count(*) INTO p_count FROM shanglifeecif.partytimeline;
  42. insert into shanglifeecif.partytimeline (
  43. TripID,
  44. PolicyNo,
  45. PartyID,
  46. name,
  47. PCertID,
  48. PRole,
  49. Scenario,
  50. SDate,
  51. describe,
  52. created_by ,
  53. created_time
  54. ) select
  55. row_number()over()+p_count,
  56. trim(contno) as contno,
  57. trim(INSUREDNO) as INSUREDNO,
  58. trim(INSUREDNAME) as INSUREDNAME,
  59. trim(idno) as idno,
  60. '投保人',
  61. '理赔',
  62. trim(RPTDATE) as RPTDATE,
  63. trim(ACCIDENTTYPE) as ACCIDENTTYPE,
  64. 'admin',
  65. sysdate()
  66. from insurance_claim WHERE contno IS NOT NULL;
  67. EXCEPTION
  68. WHEN HIVE_EXCEPTION THEN
  69. INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());
  70. WHEN Others THEN
  71. INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());
  72. END;
  73. /
  74. CREATE OR REPLACE PROCEDURE shanglifeecif.partytimeline_zx()
  75. IS
  76. DECLARE
  77. p_count int
  78. BEGIN
  79. SELECT count(*) INTO p_count FROM shanglifeecif.partytimeline;
  80. insert into shanglifeecif.partytimeline (
  81. TripID,
  82. PolicyNo,
  83. PartyID,
  84. name,
  85. PRole,
  86. Scenario,
  87. SDate,
  88. DESCRIBE,
  89. created_by ,
  90. created_time
  91. ) SELECT
  92. row_number() over()+p_count,
  93. trim(t.contnos) as contnos,
  94. trim(t.customerno) as customerno,
  95. trim(t.econtactsName) as econtactsName,
  96. trim(t.tbr) as tbr,
  97. trim(t.zx) as zx,
  98. trim(t.starttime) as starttime,
  99. trim(t.reasonsecondname) as reasonsecondname,
  100. 'admin',
  101. sysdate()
  102. FROM (
  103. select
  104. row_number() over(partition by i.contno) rn,
  105. m.contnos,
  106. i.customerno,
  107. m.econtactsName,
  108. '投保人' AS tbr,
  109. '咨询' AS zx,
  110. m.starttime,
  111. m.reasonsecondname
  112. from cc_record_main m
  113. LEFT JOIN policy_information i ON m.contnos = i.contno
  114. WHERE m.contnos IS NOT NULL
  115. ) t WHERE t.rn = 1;
  116. EXCEPTION
  117. WHEN HIVE_EXCEPTION THEN
  118. INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());
  119. WHEN Others THEN
  120. INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());
  121. END;
  122. /
  123. CREATE OR REPLACE PROCEDURE shanglifeecif.partytimeline_bq()
  124. IS
  125. DECLARE
  126. p_count int
  127. BEGIN
  128. insert into shanglifeecif.partytimeline (
  129. TripID,
  130. PolicyNo,
  131. PartyID,
  132. name,
  133. PRole,
  134. Scenario,
  135. SDate,
  136. created_by ,
  137. created_time
  138. )SELECT
  139. row_number() over(),
  140. t.contno,
  141. t.customerno,
  142. t.name,
  143. t.tbr,
  144. t.bq,
  145. t.edorappdate,
  146. 'admin',
  147. sysdate()
  148. FROM (
  149. select
  150. row_number() over(partition by e.contno) rn,
  151. e.contno,
  152. i.customerno,
  153. i.name,
  154. '投保人' AS tbr,
  155. '保全' AS bq,
  156. e.edorappdate
  157. from edorinfo e
  158. LEFT JOIN policy_information i ON e.contno = i.contno
  159. WHERE e.contno IS NOT NULL
  160. ) t WHERE t.rn = 1;
  161. END
  162. CREATE OR REPLACE PROCEDURE shanglifeecif.partytimeline_main()
  163. IS
  164. BEGIN
  165. DELETE FROM shanglifeecif.partytimeline;
  166. shanglifeecif.partytimeline_tb();
  167. shanglifeecif.partytimeline_lp();
  168. shanglifeecif.partytimeline_zx();
  169. shanglifeecif.partytimeline_bq();
  170. END;