Advertisement
brunobola

Untitled

May 5th, 2023
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.77 KB | None | 0 0
  1. /****** Object:  View [dbo].[V_TRI_OPVS]    Script Date: 05-05-2023 16:15:09 ******/
  2. SET ANSI_NULLS ON
  3. GO
  4.  
  5. SET QUOTED_IDENTIFIER ON
  6. GO
  7.  
  8.  
  9.  
  10. ALTER VIEW [dbo].[V_TRI_OPVS]
  11. WITH SCHEMABINDING
  12. AS
  13. WITH DocVND AS
  14.                 (
  15.                     SELECT cd.Id, cd.IdOportunidade, ROW_NUMBER() OVER (PARTITION BY cd.IdOportunidade ORDER BY cd.DATA DESC) AS RowNum
  16.                     FROM dbo.CabecDoc cd WITH (NOLOCK)
  17.                         LEFT JOIN dbo.CabecDocStatus cs WITH (NOLOCK)
  18.                             ON cs.IdCabecDoc = cd.Id                           
  19.                     WHERE ISNULL(cs.Anulado,0) <> 1
  20.                 )
  21.     SELECT
  22.             ca.[ID]
  23.             ,ca.[Oportunidade]
  24.             ,ISNULL(ca.CDU_Obra, '') AS 'Obra'
  25.             ,ISNULL(ca.CDU_NomeEnt, '') AS 'Nome Entidade AUX'
  26.             ,ISNULL(ca.[Descricao], '') AS 'Descrição'
  27.             ,ca.Campanha AS 'Campanha'
  28.             ,ISNULL(cam.Descricao, '') AS 'Descrição Campanha'
  29.             ,ca.TipoEntidade AS 'Tipo Entidade'
  30.             ,CASE ca.TipoEntidade
  31.                  WHEN 'C'
  32.                       THEN 'Cliente'
  33.                  WHEN 'X'
  34.                       THEN 'Ent. Externa'
  35.                  ELSE ca.TipoEntidade
  36.              END AS 'Descricao Tipo Entidade'
  37.             ,ca.Entidade AS 'Entidade'
  38.             ,ve.Nome AS 'Nome Entidade'
  39.             ,ca.[CDU_DataCriacaoOPV] AS 'Data Criação OPV'
  40.             ,ISNULL(ca.[CDU_PTE], '') AS 'PTE'
  41.             ,ISNULL(ca.[Vendedor], '') AS 'Vendedor'
  42.             ,ISNULL(v.[Nome], '') AS 'Nome Vendedor'
  43.             ,ISNULL(ca.[EstadoVenda], 0) AS 'Estado de Venda'
  44.             ,ISNULL(CDU_EnviadoEmail, 0) AS 'Email Enviado'
  45.             ,CDU_DatadeEnvio AS 'Data de Envio'
  46.             ,ISNULL(CDU_NomePessoaContacto, '')  AS 'Nome de Contacto'             
  47.             ,ISNULL(ca.[ValorTotalOV], 0) AS 'Valor Total OPV'
  48.             ,ca.[Origem]
  49.             ,ca.[CriadoPor]
  50.             ,ISNULL(ca.[MotivoPerda], '') AS ' Motivo Perda'
  51.             ,ca.CDU_FaseAtual AS 'Fase Atual'
  52.             ,ISNULL(ca.CDU_Cotado,0) AS 'Valor Cotação'
  53.             ,ISNULL(ca.[CDU_NotaEncomenda],'') AS 'Nota de Encomenda'
  54.             ,ca.[DataCriacao]
  55.             ,(SELECT ISNULL(ROUND(SUM(ld.Quantidade * ld.PrecUnit), 2),0)
  56.                 FROM [dbo].[LinhasDoc] ld WITH (NOLOCK)
  57.                 WHERE ld.CDU_ContabilizaTotais = 1
  58.                     AND ld.IdCabecDoc = DocVND.id
  59.                     AND ld.Artigo IS NOT NULL
  60.             ) AS 'Valor Adjudicado'
  61.         FROM dbo.[CabecOportunidadesVenda] AS ca WITH (NOLOCK)
  62.             LEFT JOIN dbo.PropostasOPV po WITH (NOLOCK)
  63.                 -- Validei que só existe um documento PTE por proposta
  64.                 ON ca.ID = po.IdOportunidade AND po.ModuloOrigem = 'V' AND po.NumProposta = 1
  65.             LEFT JOIN dbo.[Vendedores] v WITH (NOLOCK)
  66.                 ON ca.[Vendedor] = v.[Vendedor]
  67.             LEFT JOIN dbo.Campanhas AS cam WITH (NOLOCK)
  68.                 ON cam.Campanha = ca.Campanha
  69.             LEFT JOIN dbo.[V_TRI_Entidades] AS ve WITH (NOLOCK)
  70.                 ON ca.TipoEntidade = ve.TipoEntidade AND ca.Entidade = ve.Entidade
  71.             LEFT JOIN
  72.                 DocVND ON DocVND.IdOportunidade = ca.ID AND DocVND.RowNum=1
  73. GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement