Advertisement
Guest User

QUERY1312

a guest
Nov 18th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.77 KB | None | 0 0
  1. ALTER VIEW [dbo].[vw_consulta_relatorio_inscricoes] AS
  2. SELECT
  3. TAB.nr_simulacao,
  4. TAB.cd_instituidor,
  5. TAB.cd_param,
  6. TAB.cd_agencia,
  7. --
  8. TAB.cd_plano,
  9. TAB.ds_plano,
  10. TAB.nm_instituidor,
  11. TAB.nm_agencia,
  12. TAB.id_situacao,
  13. TAB.nm_associado,
  14. TAB.nr_cpf,
  15. TAB.nm_instituicao,
  16. TAB.nr_inscricao_oficial,
  17. TAB.dt_inscricao,
  18. TAB.dt_inclusao,
  19. TAB.dt_doc,
  20. SUM(TAB.vl_contribuicao) AS vl_contribuicao,
  21. SUM(TAB.vl_contr_morte) AS vl_contr_morte,
  22. SUM(TAB.vl_contr_inval) AS vl_contr_inval,
  23. TAB.ds_vendedor,
  24. TAB.id_origem,
  25. TAB.nr_idade,
  26. TAB.is_assinado_digitalmente,
  27. TAB.situacao_risco,
  28. TAB.data_pgto_risco,
  29. TAB.dt_inscricao_risco
  30. TAB.angariador_digital
  31. FROM
  32. ( SELECT
  33. --
  34. qpi.nr_simulacao,
  35. qi.cd_instituidor,
  36. qp.cd_param,
  37. qa.cd_agencia,
  38. qp.cd_param as cd_plano,
  39. qp.ds_plano,
  40. qi.nm_instituidor,
  41. qa.nm_agencia,
  42. qpi.id_situacao, --situacao da previdência
  43. qpi.nm_associado,
  44. qpi.nr_cpf,
  45. ins.nm_instituicao,
  46. qpi.nr_inscricao_oficial,
  47. qpi.dt_inscricao, --data de inscricao da previdencia
  48. qpi.dt_inclusao,
  49. qv.angariador_digital
  50. ( /* recupera a data de pagto da previdencia (em separado ou tudo, se for tudo de uma vez só) */
  51. select MIN(dd.dt_doc) --haverá casos em que a o valor da prev e do risco será igual, então traz a menor data, pq TEORICAMENTE a previdencia se paga antes
  52. from qta_registra_doc dd
  53. join qta_proposta_inscricao ii on (dd.nr_inscricao_oficial = ii.nr_inscricao_oficial)
  54. left join qta_proposta_inscricao_risco rr on (rr.nr_inscricao_oficial = ii.nr_inscricao_oficial AND rr.nr_simulacao = ii.nr_simulacao)
  55. where dd.nr_inscricao_oficial = qrd.nr_inscricao_oficial
  56. and dd.id_origem = 2
  57. and (
  58. ((ISNULL(ii.vl_contribuicao, 0)) = dd.vl_doc)
  59. or
  60. ((ISNULL(ii.vl_contribuicao, 0) + ISNULL(rr.vl_contr_inval, 0) + ISNULL(rr.vl_contr_morte, 0)) = dd.vl_doc)
  61. )
  62. ) AS dt_doc,
  63. CASE
  64. WHEN qrd.id_origem = 2 AND (ISNULL(qpi.vl_contribuicao, 0)) = qrd.vl_doc THEN ISNULL(qpi.vl_contribuicao, 0)
  65. WHEN qrd.id_origem = 2 AND (ISNULL(qpi.vl_contribuicao, 0) + ISNULL(qpir.vl_contr_inval, 0) + ISNULL(qpir.vl_contr_morte, 0)) = qrd.vl_doc THEN ISNULL(qpi.vl_contribuicao, 0)
  66. ELSE 0
  67. END AS vl_contribuicao,
  68. CASE
  69. WHEN qrd.id_origem = 2 AND (ISNULL(qpir.vl_contr_inval, 0) + ISNULL(qpir.vl_contr_morte, 0)) = qrd.vl_doc THEN ISNULL(qpir.vl_contr_morte, 0)
  70. WHEN qrd.id_origem = 2 AND (ISNULL(qpi.vl_contribuicao, 0) + ISNULL(qpir.vl_contr_inval, 0) + ISNULL(qpir.vl_contr_morte, 0)) = qrd.vl_doc THEN ISNULL(qpir.vl_contr_morte, 0)
  71. ELSE 0
  72. END AS vl_contr_morte,
  73. CASE
  74. WHEN qrd.id_origem = 2 AND (ISNULL(qpir.vl_contr_inval, 0) + ISNULL(qpir.vl_contr_morte, 0)) = qrd.vl_doc THEN ISNULL(qpir.vl_contr_inval, 0)
  75. WHEN qrd.id_origem = 2 AND (ISNULL(qpi.vl_contribuicao, 0) + ISNULL(qpir.vl_contr_inval, 0) + ISNULL(qpir.vl_contr_morte, 0)) = qrd.vl_doc THEN ISNULL(qpir.vl_contr_inval, 0)
  76. ELSE 0
  77. END AS vl_contr_inval,
  78. qv.ds_vendedor,
  79. qrd.id_origem,
  80. CASE
  81. WHEN DATEADD(YEAR, DATEDIFF(YEAR, qpi.dt_nascimento, qpi.dt_inclusao), qpi.dt_nascimento) > qpi.dt_inclusao THEN DATEDIFF(YEAR, qpi.dt_nascimento, qpi.dt_inclusao) - 1
  82. ELSE DATEDIFF(YEAR, qpi.dt_nascimento, qpi.dt_inclusao)
  83. END AS nr_idade,
  84. CASE
  85. WHEN qrd.id_origem = 2 AND (ISNULL(qpi.vl_contribuicao, 0)) = qrd.vl_doc THEN qpi.is_assinado_digitalmente
  86. WHEN qrd.id_origem = 2 AND (ISNULL(qpi.vl_contribuicao, 0) + ISNULL(qpir.vl_contr_inval, 0) + ISNULL(qpir.vl_contr_morte, 0)) = qrd.vl_doc THEN qpi.is_assinado_digitalmente
  87. ELSE qpir.is_assinado_digitalmente
  88. END AS is_assinado_digitalmente,
  89. qpir.id_situacao AS situacao_risco,
  90. ( /* recupera a data de pagto do risco (pode ter sido junto ou separado) */
  91. select MAX(dd.dt_doc) --haverá casos em que a o valor da prev e do risco será igual, então traz a MAIOR data, pq TEORICAMENTE o risco se paga por último
  92. from qta_registra_doc dd
  93. join qta_proposta_inscricao ii on (dd.nr_inscricao_oficial = ii.nr_inscricao_oficial)
  94. left join qta_proposta_inscricao_risco rr on (rr.nr_inscricao_oficial = ii.nr_inscricao_oficial AND rr.nr_simulacao = ii.nr_simulacao)
  95. where dd.nr_inscricao_oficial = qrd.nr_inscricao_oficial
  96. and dd.id_origem = 2
  97. and (
  98. ((ISNULL(rr.vl_contr_inval, 0) + ISNULL(rr.vl_contr_morte, 0)) = dd.vl_doc)
  99. or
  100. ((ISNULL(ii.vl_contribuicao, 0) + ISNULL(rr.vl_contr_inval, 0) + ISNULL(rr.vl_contr_morte, 0)) = dd.vl_doc)
  101. )
  102. ) AS data_pgto_risco,
  103. qpir.dt_inscricao as dt_inscricao_risco
  104.  
  105. FROM
  106. qta_parametros qp
  107. INNER JOIN qta_instituidor qi ON (qp.cd_param = qi.cd_plano)
  108. INNER JOIN qta_agencia qa ON (qi.cd_instituidor = qa.cd_instituidor)
  109. INNER JOIN qta_proposta_inscricao qpi ON (qp.cd_param = qpi.cd_plano AND qi.cd_instituidor = qpi.cd_instituidor AND qa.cd_agencia = qpi.cd_agencia)
  110. LEFT JOIN qta_proposta_inscricao_risco qpir ON (qpir.nr_inscricao_oficial = qpi.nr_inscricao_oficial AND qpir.nr_simulacao = qpi.nr_simulacao)
  111. INNER JOIN qta_vendedor qv ON (qv.cd_vendedor = qpi.cd_vendedor)
  112. LEFT JOIN qta_instituicao ins ON (ins.cd_instituicao = qpi.cd_instituicao)
  113. LEFT JOIN qta_registra_doc qrd ON(qrd.nr_inscricao_oficial = qpi.nr_inscricao_oficial)
  114.  
  115. WHERE
  116. (qrd.id_origem not in (1, 3, 4) or qrd.id_origem is null)
  117. ) TAB
  118. GROUP BY
  119. TAB.nr_simulacao,
  120. TAB.cd_instituidor,
  121. TAB.cd_param,
  122. TAB.cd_agencia,
  123. --
  124. TAB.cd_plano,
  125. TAB.ds_plano,
  126. TAB.nm_instituidor,
  127. TAB.nm_agencia,
  128. TAB.id_situacao,
  129. TAB.nm_associado,
  130. TAB.nr_cpf,
  131. TAB.nm_instituicao,
  132. TAB.nr_inscricao_oficial,
  133. TAB.dt_inscricao,
  134. TAB.dt_inclusao,
  135. TAB.dt_doc,
  136. TAB.ds_vendedor,
  137. TAB.id_origem,
  138. TAB.nr_idade,
  139. TAB.is_assinado_digitalmente,
  140. TAB.situacao_risco,
  141. TAB.data_pgto_risco,
  142. TAB.angariador_digital,
  143. TAB.dt_inscricao_risco;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement