USE [AlphaInd]
GO

/****** Object:  View [dbo].[View_BI_Financeiro]    Script Date: 04/07/2023 09:20:58 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE OR ALTER View [dbo].[View_BI_Financeiro] AS 
		
			Select 
				Case F.Tipo When '01' Then 'CRÉDITO' Else 'DÉBITO' End AS Tipo,
				F.CliFor as Participante,
				C.Nome As NomeParticipante,
				F.Documento, F.Data,
				F.Vencimento, 
				F.DataPago, 
				F.Valor, 
				F.ValorPago, 
				FP.Descricao FormaPagamento, 
				F.Loja, 
				L.Fantasia NomeLoja, 
				Case F.Status When 'N' Then 'NEGOCIADO' When 'A' Then 'ABERTO' When 'D' Then 'DEVOLVIDO' When 'P' Then 'PAGO' When 'R' Then 'RENEGOCIADO' When 'T' Then 'CUSTODIADO' When 'C' Then 'CANCELADO' When 'B' Then 'BAIXADO' Else F.StatusEnd AS Status,
				F.Venda, 
				FR.Descricao FormadeRecebimento 
			From Financeiro F 
			Inner Join Clientes C On F.CliFor = C.Codigo 
			Inner Join FormadePagamento FP On F.FormaPagto = FP.Codigo 
			Left Join FormadePagamento FR On F.FormadeRecebimento = FR.Codigo 
			Inner Join Lojas L On F.Loja = L.Codigo
			Where Funcionario = 0 And Representante = 0 And Tipo = '01'

			Union All 
				
				
			Select 
				Case F.Tipo When '01' Then 'CRÉDITO' Else 'DÉBITO' End AS Tipo,
				F.CliFor as Participante, 
				C.Nome As NomeParticipante, 
				F.Documento, 
				F.Data, 
				F.Vencimento, 
				F.DataPago, 
				F.Valor, 
				F.ValorPago, 
				FP.Descricao FormaPagamento, 
				F.Loja, L.Fantasia NomeLoja, 
				Case F.Status When 'N' Then 'NEGOCIADO' When 'A' Then 'ABERTO' When 'D' Then 'DEVOLVIDO' When 'P' Then 'PAGO' When 'R' Then 'RENEGOCIADO' When 'T' Then 'CUSTODIADO' When 'C' Then 'CANCELADO' When 'B' Then 'BAIXADO' Else F.Status End AS Status,
				F.Venda, 
				FR.Descricao FormadeRecebimento
			From Financeiro F 
			Inner Join Representantes C On F.CliFor = C.Codigo 
			Inner Join FormadePagamento FP On F.FormaPagto = FP.Codigo 
			Left Join FormadePagamento FR On F.FormadeRecebimento = FR.Codigo 
			Inner Join Lojas L On F.Loja = L.Codigo 
			Where Funcionario = 0 And Representante = 1 And Tipo = '01'

			Union All 
			
			Select 
				Case F.Tipo When '01' Then 'CRÉDITO' Else 'DÉBITO' End AS Tipo,
				F.CliFor as Participante, 
				C.Nome As NomeParticipante, 
				F.Documento, 
				F.Data, 
				F.Vencimento, 
				F.DataPago, 
				F.Valor, 
				F.ValorPago, 
				FP.Descricao FormaPagamento, 
				F.Loja, 
				L.Fantasia NomeLoja, 
				Case F.Status When 'N' Then 'NEGOCIADO' When 'A' Then 'ABERTO' When 'D' Then 'DEVOLVIDO' When 'P' Then 'PAGO' When 'R' Then 'RENEGOCIADO' When 'T' Then 'CUSTODIADO' When 'C' Then 'CANCELADO' When 'B' Then 'BAIXADO' Else F.Status End AS Status,
				F.Venda, 
				FR.Descricao FormadeRecebimento 
			From Financeiro F 
			Inner Join Funcionarios C On F.CliFor = C.Codigo 
			Inner Join FormadePagamento FP On F.FormaPagto = FP.Codigo 
			Left Join FormadePagamento FR On F.FormadeRecebimento = FR.Codigo 
			Inner Join Lojas L On F.Loja = L.Codigo 
			Where Funcionario = 1 And Representante = 0 And Tipo = '01' 
			
			Union All 
			
			Select 
				Case F.Tipo When '01' Then 'CRÉDITO' Else 'DÉBITO' End AS Tipo, 
				F.CliFor as Participante, 
				C.Fantasia As NomeParticipante, 
				F.Documento, F.Data, 
				F.Vencimento, F.DataPago, 
				F.Valor, F.ValorPago, 
				FP.Descricao FormaPagamento, 
				F.Loja, L.Fantasia NomeLoja, 
				Case F.Status When 'N' Then 'NEGOCIADO' When 'A' Then 'ABERTO' When 'D' Then 'DEVOLVIDO' When 'P' Then 'PAGO' When 'R' Then 'RENEGOCIADO' When 'T' Then 'CUSTODIADO' When 'C' Then 'CANCELADO' When 'B' Then 'BAIXADO' Else F.Status End AS Status, 
				F.Venda, 
				FR.Descricao FormadeRecebimento 
			From Financeiro F 
			Inner Join Fornecedores C On F.CliFor = C.Codigo 
			Inner Join FormadePagamento FP On F.FormaPagto = FP.Codigo 
			Left Join FormadePagamento FR On F.FormadeRecebimento = FR.Codigo 
			Inner Join Lojas L On F.Loja = L.Codigo
			Where Funcionario = 0 And Representante = 0 And Tipo = '02'
GO

