参与方事件.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. reflect("java.util.UUID", "randomUUID"),
  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;