USE SSM
GO

-- ##########################################################################################################
--#
--#
--							ADMINISTADOR
--#
--#
--############################################################################################################

CREATE TABLE TBL_REGIAO
(
	CODIGO_REG			INT PRIMARY KEY IDENTITY,
	NOME_REG			VARCHAR(200) NOT NULL,
)
GO

-- TABELA DOS TIPOS DE CARGO DA EMRPESA
CREATE TABLE TBL_CARGO
(
	CODIGO_CARGO	INT PRIMARY KEY IDENTITY,
	NOME_CARGO		VARCHAR(200) NOT NULL,
)
GO

-- TABELA DE FUNCIONAÁRIOS / VENDEDORES DA EMPRESA
CREATE TABLE TBL_FUNCIONARIO
(
	CODIGO_FUNC			INT PRIMARY KEY IDENTITY,
	CODIGO_CARGO		INT,
	NOME_FUNC			VARCHAR(255) NOT NULL,
	ENDERECO_FUNC		VARCHAR(255),
	NUMERO_FUNC			VARCHAR(255),
	COMPLEMENTO_FUNC	VARCHAR(255),
	BAIRRO_FUNC			VARCHAR(255),
	CEP_FUNC			VARCHAR(9),
	CIDADE_FUNC			VARCHAR(255),
	ESTADO_FUNC			VARCHAR(255),
	TELEFONE_FUNC		VARCHAR(50),
	TELEFAX_FUNC		VARCHAR(50),	
	CELULAR_FUNC		VARCHAR(50),
	EMAIL_FUNC			VARCHAR(255),
	RG_FUNC				VARCHAR(20),
	CPF_FUNC			VARCHAR(11),
	DOC1_FUNC			VARCHAR(50),
	DOC2_FUNC			VARCHAR(50),
	USER_FUNC			VARCHAR(100),
	PASSWORD_FUNC		VARCHAR(100),
	ATIVO				BIT,
	ATUALIZADO			BIT,
	DATAATUALIZACAO		DATETIME 
	CONSTRAINT FK_FUNCIONARIO FOREIGN KEY(CODIGO_CARGO) REFERENCES TBL_CARGO(CODIGO_CARGO)
	ON DELETE CASCADE
	ON UPDATE CASCADE
)
GO

-- TABELA DE SEGMENTO DE EMPRESAS
CREATE TABLE TBL_SEGMENTO
(
	CODIGO_SEG	INT PRIMARY KEY IDENTITY,
	NOME_SEG	VARCHAR(255) not null,
)
GO

-- TABELA DE CHECKMATE
CREATE TABLE TBL_CHECKMATE
(
	CODIGO_CHECK		INT PRIMARY KEY IDENTITY,
	NOME_CHECK			VARCHAR(100),
	ATUALIZADO			BIT,
	DATAATUALIZACAO		DATETIME CONSTRAINT [DF_TBL_CHECKMATE_DATAATUALIZACAO]  DEFAULT (getdate())
)



-- TABELA DE SEGMENTO TIER DE EMPRESAS
CREATE TABLE TBL_TIER
(
	CODIGO_TIER		INT PRIMARY KEY IDENTITY,
	NOME_TIER		VARCHAR(255)
)
GO


-- TABELA DE EMPRESAS CORPORATIVAS
CREATE TABLE TBL_CORPORATIVO
(
	CODIGO_CORP				INT PRIMARY KEY IDENTITY,
	NOME_CORP				VARCHAR(255) NOT NULL,
	FANTASIA_CORP			VARCHAR(255),
	ENDERECO_CORP			VARCHAR(255),
	NUMERO_CORP				VARCHAR(255),
	COMPLEMENTO_CORP		VARCHAR(255),
	BAIRRO_CORP				VARCHAR(255),
	CEP_CORP				VARCHAR(9),
	CIDADE_CORP				VARCHAR(255),
	ESTADO_CORP				VARCHAR(255),
	PAIS_CORP				VARCHAR(255),
	CNPJ_CORP				VARCHAR(14),
	IE_CORP					VARCHAR(100),
	IM_CORP					VARCHAR(100),
	ATIVO					BIT,
	ATUALIZADO				BIT,
	DATAATUALIZACAO			DATETIME CONSTRAINT [DF_TBL_CONTATO_DATAATUALIZACAO]  DEFAULT (getdate())
)
GO


-- TABELA DE CONTATOS DAS EMPRESAS CORPORATIVAS
CREATE TABLE TBL_CONTATOCORP
(
	CODIGO_CONT			INT PRIMARY KEY IDENTITY,
	CODIGO_CORP			INT,
	NOME_CONT			VARCHAR(255) NOT NULL,
	DEPARTAMENTO_CONT	VARCHAR(255),
	CARGO_CONT			VARCHAR(255),
	TELEFONE_CONT		VARCHAR(50),
	CELULAR_CONT		VARCHAR(50),
	TELEFAX_CONT		VARCHAR(50),
	EMAIL_CONT			VARCHAR(255),
	ATIVO				BIT,
	ATUALIZADO			BIT,
	DATAATUALIZACAO		DATETIME CONSTRAINT [DF_TBL_CONTATOCORP_DATAATUALIZACAO]  DEFAULT (getdate())
	CONSTRAINT FK_CONTATOCORP FOREIGN KEY(CODIGO_CORP) REFERENCES TBL_CORPORATIVO(CODIGO_CORP)
	ON DELETE CASCADE
	ON UPDATE CASCADE
)
GO


-- TABELA DA CLASSIFICAÇÃO DE PROJETOS E PIRAMIDE DE VENDAS
CREATE TABLE TBL_CLASSIFICACAO
(
	CODIGO_CLASS		INT PRIMARY KEY IDENTITY,
	NOME_CLASS			VARCHAR(255),
	ATUALIZADO			BIT,
	DATAATUALIZACAO		DATETIME CONSTRAINT [DF_TBL_CLASSIFICACAO_DATAATUALIZACAO]  DEFAULT (getdate())
)
GO


-- TABELA DE TIPO

CREATE TABLE TBL_TIPO
(
	CODIGO_TIPO		INT PRIMARY KEY IDENTITY,
	NOME_TIPO			VARCHAR(255),
)
GO

-- TABELA DE DIVISÃO DE PRODUTOS
CREATE TABLE TBL_DIVISAO -- DIVISÃO POR ITENS DE PRODUTO
(
	CODIGO_DIV			INT PRIMARY KEY IDENTITY,
	NOME_DIV			VARCHAR(255),
	ATUALIZADO			BIT,
	DATAATUALIZACAO		DATETIME CONSTRAINT [DF_TBL_DIVISAO_DATAATUALIZACAO]  DEFAULT (getdate())
)
GO


--TABELA DE UNIDADE DE MEDIDA
CREATE TABLE TBL_UNIDADEMEDIDA
(
	CODIGO_UNID			INT PRIMARY KEY IDENTITY,
	NOME_UNID			VARCHAR(255),
	ATUALIZADO			BIT,
	DATAATUALIZACAO		DATETIME CONSTRAINT [DF_TBL_UNIDADEMEDIDA_DATAATUALIZACAO]  DEFAULT (getdate())
)
GO

-- TABELA DE PRODUTOS
CREATE TABLE TBL_PRODUTO
(
	CODIGO_PROD			INT PRIMARY KEY IDENTITY,
	NOME_PROD			VARCHAR(255),
	DESCR_PROD			VARCHAR(255),
	VALORUNITARIO_PROD	INT,
	CODIGO_UNID			INT,
	CODIGO_DIV			INT,
	ATUALIZADO			BIT,
	DATAATUALIZACAO		DATETIME CONSTRAINT [DF_TBL_PR0DUTO_DATAATUALIZACAO]  DEFAULT (getdate())
	CONSTRAINT FK_PRODUTO FOREIGN KEY(CODIGO_DIV) REFERENCES TBL_DIVISAO(CODIGO_DIV)
	ON DELETE CASCADE
	ON UPDATE CASCADE,
	CONSTRAINT FK_UNIDADE FOREIGN KEY(CODIGO_UNID) REFERENCES TBL_UNIDADEMEDIDA(CODIGO_UNID)
	ON DELETE CASCADE
	ON UPDATE CASCADE
)
GO

-- TABELA DE FORNECEDOR
CREATE TABLE TBL_FORNECEDOR
(
	CODIGO_FORN			INT PRIMARY KEY IDENTITY,
	NOME_FORN			VARCHAR(255) NOT NULL,
	FANTASIA_FORN		VARCHAR(255),
	ENDERECO_FORN		VARCHAR(255),
	NUMERO_FORN			VARCHAR(255),
	COMPLEMENTO_FORN	VARCHAR(255),
	BAIRRO_FORN			VARCHAR(255),
	CEP_FORN			VARCHAR(9),
	CIDADE_FORN			VARCHAR(255),
	ESTADO_FORN			VARCHAR(255),
	CNPJ_FORN			VARCHAR(14),
	IE_FORN				VARCHAR(100),
	IM_FORN				VARCHAR(100),
	CONTATO_FORN		VARCHAR(255),
	EMAIL_FORN			VARCHAR(255),	
	TELEFONE_FORN		VARCHAR(11),
	CELULAR_FORN		VARCHAR(11),
	ATUALIZADO			BIT,
	DATAATUALIZACAO		DATETIME CONSTRAINT [DF_TBL_FORNECEDOR_DATAATUALIZACAO]  DEFAULT (getdate())
)
GO


-- TABELA DE CONCORRENTES
CREATE TABLE TBL_CONCORRENTE
(
	CODIGO_CONC			INT PRIMARY KEY IDENTITY,
	NOME_CONC			VARCHAR(255) NOT NULL,
	FANTASIA_CONC		VARCHAR(255),
	ENDERECO_CONC		VARCHAR(255),
	NUMERO_CONC			VARCHAR(255),
	COMPLEMENTO_CONC	VARCHAR(255),
	BAIRRO_CONC			VARCHAR(255),
	CEP_CONC			VARCHAR(9),
	CIDADE_CONC			VARCHAR(255),
	ESTADO_CONC			VARCHAR(255),
	CNPJ_CONC			VARCHAR(14),
	IE_CONC				VARCHAR(100),
	IM_CONC				VARCHAR(100),
	CONTATO_CONC		VARCHAR(255),
	EMAIL_CONC			VARCHAR(255),	
	TELEFONE_CONC		VARCHAR(11),
	CELULAR_CONC		VARCHAR(11),
	OBSERVACAO_CONC		VARCHAR(MAX),
	ATIVO				BIT,
	ATUALIZADO			BIT,
	DATAATUALIZACAO		DATETIME CONSTRAINT [DF_TBL_CONCORRENTE_DATAATUALIZACAO]  DEFAULT (getdate())
)
GO

-- ##########################################################################################################
--#
--#
--							USUARIO
--#
--#
--############################################################################################################


-- TABELA DE CADASTRRO DE EMPRESAS
CREATE TABLE TBL_EMPRESA
(
	CODIGO_EMP				NUMERIC(18,0) PRIMARY KEY,
	CODIGO_FUNC				INT,
	NOME_EMP				VARCHAR(255) NOT NULL,
	FANTASIA_EMP			VARCHAR(255),
	ENDERECOFATUR_EMP		VARCHAR(255),
	NUMEROFATUR_EMP			VARCHAR(255),
	COMPLEMENTOFATUR_EMP	VARCHAR(255),
	BAIRROFATUR_EMP			VARCHAR(255),
	CEPFATUR_EMP			VARCHAR(9),
	CIDADEFATUR_EMP			VARCHAR(255),
	ESTADOFATUR_EMP			VARCHAR(255),
	PAISFATUR_EMP			VARCHAR(255),
	CNPJFATUR_EMP			VARCHAR(14),
	IEFATUR_EMP				VARCHAR(100),
	IMFATUR_EMP				VARCHAR(100),
	CONTATOFATUR_EMP		VARCHAR(255),
	EMAILFATUR_EMP			VARCHAR(255),
	TELEFONEFATUR_EMP		VARCHAR(255),
	CELULARFATUR_EMP		VARCHAR(255),
	ENDERECOENTREGA_EMP		VARCHAR(255),
	NUMEROENTREGA_EMP		VARCHAR(255),
	COMPLEMENTOENTREGA_EMP	VARCHAR(255),
	BAIRROENTREGA_EMP		VARCHAR(255),
	CEPENTREGA_EMP			VARCHAR(9),
	CIDADEENTREGA_EMP		VARCHAR(255),
	ESTADOENTREGA_EMP		VARCHAR(255),
	CNPJENTREGA_EMP			VARCHAR(14),
	IEENTREGA_EMP			VARCHAR(100),
	IMENTREGA_EMP			VARCHAR(100),
	CONTATOENTREGA_EMP		VARCHAR(255),
	EMAILENTREGA_EMP		VARCHAR(255),
	TELEFONEENTREGA_EMP		VARCHAR(255),
	CELULARENTREGA_EMP		VARCHAR(255),
	ENDERECOCOB_EMP			VARCHAR(255),
	NUMEROCOB_EMP			VARCHAR(255),
	COMPLEMENTOCOB_EMP		VARCHAR(255),
	BAIRROCOB_EMP			VARCHAR(255),
	CEPCOB_EMP				VARCHAR(9),
	CIDADECOB_EMP			VARCHAR(255),
	ESTADOCOB_EMP			VARCHAR(255),
	CNPJCOB_EMP				VARCHAR(14),
	IECOB_EMP				VARCHAR(100),
	IMCOB_EMP				VARCHAR(100),
	CONTATOCOB_EMP			VARCHAR(255),
	EMAILCOB_EMP			VARCHAR(255),
	TELEFONECOB_EMP			VARCHAR(255),
	CELULARCOB_EMP			VARCHAR(255),
	CODIGO_SEG				INT,
	CODIGO_TIER				INT,
	CODIGO_REG				INT,
	CODIGO_CORP				INT,
	ATIVO					BIT,
	ATUALIZADO				BIT,
	DATAATUALIZACAO			DATETIME CONSTRAINT [DF_TBL_EMPRESA_DATAATUALIZACAO]  DEFAULT (getdate())
	CONSTRAINT FK_EMPRESA FOREIGN KEY(CODIGO_FUNC) REFERENCES TBL_FUNCIONARIO(CODIGO_FUNC)
	ON DELETE CASCADE
	ON UPDATE CASCADE,
	CONSTRAINT FK_SEGMENTO FOREIGN KEY(CODIGO_SEG) REFERENCES TBL_SEGMENTO(CODIGO_SEG)
	ON DELETE CASCADE
	ON UPDATE CASCADE,
	CONSTRAINT FK_TIER FOREIGN KEY(CODIGO_TIER) REFERENCES TBL_TIER(CODIGO_TIER)
	ON DELETE CASCADE
	ON UPDATE CASCADE,
	CONSTRAINT FK_REGIAO FOREIGN KEY(CODIGO_REG) REFERENCES TBL_REGIAO(CODIGO_REG)
	ON DELETE CASCADE
	ON UPDATE CASCADE,
	CONSTRAINT FK_CORPORATIVO FOREIGN KEY(CODIGO_CORP) REFERENCES TBL_CORPORATIVO(CODIGO_CORP)
	ON DELETE CASCADE
	ON UPDATE CASCADE,
)
GO


-- TABELA DE CONTATOS DAS EMPRESAS
CREATE TABLE TBL_CONTATO
(
	CODIGO_CONT			NUMERIC(18,0) PRIMARY KEY,
	CODIGO_EMP			NUMERIC(18,0),
	NOME_CONT			VARCHAR(255) NOT NULL,
	DEPARTAMENTO_CONT	VARCHAR(255),
	CARGO_CONT			VARCHAR(255),
	TELEFONE_CONT		VARCHAR(50),
	CELULAR_CONT		VARCHAR(50),
	TELEFAX_CONT		VARCHAR(50),
	EMAIL_CONT			VARCHAR(255),
	ATIVO				BIT,
	ATUALIZADO			BIT,
	DATAATUALIZACAO		DATETIME CONSTRAINT [DF_TBL_CONTATOEMP_DATAATUALIZACAO]  DEFAULT (getdate())
	CONSTRAINT FK_CONTATO FOREIGN KEY(CODIGO_EMP) REFERENCES TBL_EMPRESA(CODIGO_EMP)
	ON DELETE CASCADE
	ON UPDATE CASCADE
)
GO



-- TABELA DE PROJETOS/PROSPECÇÃO
CREATE TABLE TBL_PROJETO
(
	CODIGO_PROJ			NUMERIC(18,0) PRIMARY KEY,
	CODIGO_EMP			NUMERIC(18,0),
	NOME_PROJ			VARCHAR(255),
	CODIGO_DIV			INT,
	CODIGO_TIPO			INT,
	PREVISAOFECHAMENTO_PROJ 	DATETIME,
	DATA_PROJ			DATETIME CONSTRAINT [DF_TBL_PROJETO_DATE]  DEFAULT (getdate()),
	ATIVO				BIT,
	ATUALIZADO			BIT,
	DATAATUALIZACAO		DATETIME CONSTRAINT [DF_TBL_PR0JETO_DATAATUALIZACAO]  DEFAULT (getdate())
	CONSTRAINT FK_PROJETO FOREIGN KEY(CODIGO_EMP) REFERENCES TBL_EMPRESA(CODIGO_EMP)
	ON DELETE CASCADE
	ON UPDATE CASCADE
)
GO

-- TABELA DE HISTORICO DA PROSPECÇÃO DE PROJETOS
CREATE TABLE TBL_HISTORICO
(
	CODIGO_HIST			INT PRIMARY KEY IDENTITY,
	CODIGO_PROJ			NUMERIC(18,0),
	DATA_HIST			DATETIME,
	CODIGO_CONT			NUMERIC(18,0),
	CODIGO_CHECK		INT,
	HISTORICO_HIST		VARCHAR(MAX),
	CODIGO_CLASS		INT,
	PROXCONTATO_HIST	DATETIME,
	ATIVO				BIT,
	ATUALIZADO			BIT,
	DATAATUALIZACAO		DATETIME CONSTRAINT [DF_TBL_HISTORICO_DATAATUALIZACAO]  DEFAULT (getdate())
	CONSTRAINT FK_HISTORICO FOREIGN KEY(CODIGO_PROJ) REFERENCES TBL_PROJETO(CODIGO_PROJ)
	ON DELETE CASCADE
	ON UPDATE CASCADE
)
GO



-- TABELA DAS INFORMAÇÕES DE PRODUTOS
CREATE TABLE TBL_DETALHEPROJETO
(
	CODIGO_DETPROJ		INT PRIMARY KEY IDENTITY,
	CODIGO_PROJ			NUMERIC(18,0),
	CODIGO_PROD			INT,
	QTDE_PROD			INT,
	VLUNITARIO_PROD		INT,
	ATUALIZADO			BIT,
	DATAATUALIZACAO		DATETIME CONSTRAINT [DF_TBL_DETALHEPR0JETO_DATAATUALIZACAO]  DEFAULT (getdate())
	CONSTRAINT FK_DETALHEPROJETO FOREIGN KEY(CODIGO_PROJ) REFERENCES TBL_PROJETO(CODIGO_PROJ)
	ON DELETE CASCADE
	ON UPDATE CASCADE,
	CONSTRAINT FK_DETALHEPROJETOPROD FOREIGN KEY(CODIGO_PROD) REFERENCES TBL_PRODUTO(CODIGO_PROD)
	ON DELETE CASCADE
	ON UPDATE CASCADE
)
GO


-- TABELA DAS INFORMAÇÕES DE PRODUTOS
CREATE TABLE TBL_DETALHEPROJETOCONCORRENTE
(
	CODIGO_DETCONC		INT PRIMARY KEY IDENTITY,
	CODIGO_PROJ			NUMERIC(18,0),
	CODIGO_CONC			INT,
	OBSERVACAO_DETCONC	VARCHAR(MAX),
	ATUALIZADO			BIT,
	DATAATUALIZACAO		DATETIME CONSTRAINT [DF_TBL_DETALHEPR0JETOCONC_DATAATUALIZACAO]  DEFAULT (getdate())
	CONSTRAINT FK_DETALHEPROJETOCONC1 FOREIGN KEY(CODIGO_PROJ) REFERENCES TBL_PROJETO(CODIGO_PROJ)
	ON DELETE CASCADE
	ON UPDATE CASCADE,
	CONSTRAINT FK_DETALHEPROJETOCONC2 FOREIGN KEY(CODIGO_CONC) REFERENCES TBL_CONCORRENTE(CODIGO_CONC)
	ON DELETE CASCADE
	ON UPDATE CASCADE
)
GO





-- TABELA DA COTAÇÃO DE PRODUTOS
CREATE TABLE TBL_COTACAO
(
	CODIGO_COT		INT PRIMARY KEY IDENTITY,
	CODIGO_PROJ		NUMERIC(18,0),
	REFERENCIA_COT	VARCHAR(200) NOT NULL,
	CODIGO_CONT		NUMERIC(18,0),
	DATA_COT		DATETIME,
	VALOR_COT		NUMERIC(18,2),
	DESCONTO_COT	NUMERIC(18,2),
	VALORFINAL_COT	NUMERIC(18,2),
	APROVADO_COT	BIT,
	ATUALIZADO		BIT,
	DATAATUALIZACAO	DATETIME CONSTRAINT [DF_TBL_COTACAO_DATAATUALIZACAO]  DEFAULT (getdate()),
	CONSTRAINT FK_COTACAO FOREIGN KEY(CODIGO_PROJ) REFERENCES TBL_PROJETO(CODIGO_PROJ)
	ON DELETE CASCADE
	ON UPDATE CASCADE,
)
GO
-- TABELA DE PEDIDOS
CREATE TABLE TBL_PEDIDO
(
	CODIGO_PED		NUMERIC(18,0) PRIMARY KEY,
	DATA_PED		DATETIME CONSTRAINT [DF_TBL_PEDIDO_DATA_PED]  DEFAULT (getdate()),
	CODIGO_COT		INT
	CONSTRAINT FK_PEDIDO FOREIGN KEY(CODIGO_COT) REFERENCES TBL_COTACAO(CODIGO_COT)
	ON DELETE CASCADE
	ON UPDATE CASCADE,
)
GO

-- TABELA DETALHE DE PEDIDOS
CREATE TABLE TBL_DETALHEPEDIDO
(
	CODIGO_DETPED		NUMERIC(18,0) PRIMARY KEY,
	CODIGO_PED			NUMERIC(18,0),
	CODIGO_PROD			INT,
	QTDE_DETPED			INT,
	VLUNITARIO_DETPED	INT,
	CODIGO_UNID			INT,
	ATUALIZADO			BIT,
	DATAATUALIZACAO		DATETIME CONSTRAINT [DF_TBL_DETALHEPEDIDO_DATAATUALIZACAO]  DEFAULT (getdate())
	CONSTRAINT FK_DETALHEPEDIDO FOREIGN KEY(CODIGO_PED) REFERENCES TBL_PEDIDO(CODIGO_PED)
	ON DELETE CASCADE
	ON UPDATE CASCADE,
)
GO



-- INSERT NECESSÁRIOS
-- CHECKMATE

INSERT INTO TBL_CHECKMATE(NOME_CHECK)VALUES('PROBLEMA REAL OU CRIADO')
GO
INSERT INTO TBL_CHECKMATE(NOME_CHECK)VALUES('MUDANÇA DO GEORGE')
GO
INSERT INTO TBL_CHECKMATE(NOME_CHECK)VALUES('MUDANÇA DO VENDEDOR')
GO
INSERT INTO TBL_CHECKMATE(NOME_CHECK)VALUES('EXPANSÃO OU RETRAÇÃO')
GO
INSERT INTO TBL_CHECKMATE(NOME_CHECK)VALUES('COMPLACÊNCIA')
GO
INSERT INTO TBL_CHECKMATE(NOME_CHECK)VALUES('BID (CONCORRÊNCIA ABERTA)')
GO


-- DIVISAO

INSERT INTO TBL_DIVISAO(NOME_DIV)VALUES('DIVISAO A')
GO
INSERT INTO TBL_DIVISAO(NOME_DIV)VALUES('DIVISAO B')
GO

-- REGIAO

INSERT INTO TBL_REGIAO(NOME_REG)VALUES('REGIAO - 01')
GO
INSERT INTO TBL_REGIAO(NOME_REG)VALUES('REGIAO - 02')
GO
INSERT INTO TBL_REGIAO(NOME_REG)VALUES('REGIAO - 03')
GO


-- SEGMENTO

INSERT INTO TBL_SEGMENTO(NOME_SEG)VALUES('QUIMICA')
GO
INSERT INTO TBL_SEGMENTO(NOME_SEG)VALUES('FARMACEUTICA')
GO
INSERT INTO TBL_SEGMENTO(NOME_SEG)VALUES('AGRICOLA')
GO
INSERT INTO TBL_SEGMENTO(NOME_SEG)VALUES('INSTITUCIONAL')
GO



-- CORPORATIVO

INSERT INTO TBL_CORPORATIVO(NOME_CORP)VALUES('(NONE)')
GO


-- UNIDADE DE MEDIDA

INSERT INTO TBL_UNIDADEMEDIDA(NOME_UNID,ATUALIZADO,DATAATUALIZACAO)VALUES('PC',1,GETDATE())
GO
INSERT INTO TBL_UNIDADEMEDIDA(NOME_UNID,ATUALIZADO,DATAATUALIZACAO)VALUES('UN',1,GETDATE())
GO
INSERT INTO TBL_UNIDADEMEDIDA(NOME_UNID,ATUALIZADO,DATAATUALIZACAO)VALUES('MT',1,GETDATE())
GO
INSERT INTO TBL_UNIDADEMEDIDA(NOME_UNID,ATUALIZADO,DATAATUALIZACAO)VALUES('KG',1,GETDATE())
GO




-- PRODUTO
INSERT INTO TBL_PRODUTO(NOME_PROD,DESCR_PROD,VALORUNITARIO_PROD, CODIGO_UNID,CODIGO_DIV)VALUES('AAABBB','PRODUTO A',15,1,1)
GO
INSERT INTO TBL_PRODUTO(NOME_PROD,DESCR_PROD,VALORUNITARIO_PROD, CODIGO_UNID,CODIGO_DIV)VALUES('AAACCC','PRODUTO B',13.45,1,1)
GO


-- TIER
INSERT INTO TBL_TIER (NOME_TIER)VALUES('A')
GO
INSERT INTO TBL_TIER (NOME_TIER)VALUES('B')
GO
INSERT INTO TBL_TIER (NOME_TIER)VALUES('C')
GO
INSERT INTO TBL_TIER (NOME_TIER)VALUES('D')
GO
GO

INSERT INTO TBL_DIVISAO(NOME_DIV)VALUES('Categoria 1')
GO
INSERT INTO TBL_DIVISAO(NOME_DIV)VALUES('Categoria 2')
GO

INSERT INTO TBL_TIPO(NOME_TIPO)VALUES('Prospecto')
GO
INSERT INTO TBL_TIPO(NOME_TIPO)VALUES('Conta Nova')
GO
INSERT INTO TBL_TIPO(NOME_TIPO)VALUES('Conta Perdida')
GO

-- FUNCIONARIO

INSERT INTO TBL_FUNCIONARIO(NOME_FUNC,USER_FUNC,PASSWORD_FUNC)VALUES('Fernando Reis','freis','1234')
GO


-- ##############################################################################################################
-- #
-- #
-- #     CRIAR A VIEW DA PIRAMIDE
-- #
-- #
-- ##############################################################################################################



CREATE VIEW ViewPiramide
AS
SELECT     TOP (100) PERCENT dbo.TBL_FUNCIONARIO.NOME_FUNC AS [Funcionario], dbo.TBL_EMPRESA.NOME_EMP AS Empresa, 
                      dbo.TBL_EMPRESA.CIDADEFATUR_EMP AS Cidade, dbo.TBL_EMPRESA.ESTADOFATUR_EMP AS Estado, 
                      dbo.TBL_PROJETO.NOME_PROJ AS Sistema, dbo.TBL_CLASSIFICACAO.NOME_CLASS AS Classificacao, dbo.TBL_PRODUTO.NOME_PROD AS Produto,
                       dbo.TBL_DETALHEPROJETO.QTDE_PROD AS Quantidade, dbo.TBL_DETALHEPROJETO.VLUNITARIO_PROD AS [Valor Unitario], 
                      dbo.TBL_TIPO.NOME_TIPO AS Tipo, dbo.TBL_CHECKMATE.NOME_CHECK AS CheckMate
FROM         dbo.TBL_FUNCIONARIO INNER JOIN
                      dbo.TBL_EMPRESA ON dbo.TBL_FUNCIONARIO.CODIGO_FUNC = dbo.TBL_EMPRESA.CODIGO_FUNC INNER JOIN
                      dbo.TBL_PROJETO ON dbo.TBL_EMPRESA.CODIGO_EMP = dbo.TBL_PROJETO.CODIGO_EMP INNER JOIN
                      dbo.TBL_DETALHEPROJETO ON dbo.TBL_PROJETO.CODIGO_PROJ = dbo.TBL_DETALHEPROJETO.CODIGO_PROJ INNER JOIN
                      dbo.TBL_PRODUTO ON dbo.TBL_DETALHEPROJETO.CODIGO_PROD = dbo.TBL_PRODUTO.CODIGO_PROD INNER JOIN
                      dbo.TBL_TIPO ON dbo.TBL_PROJETO.CODIGO_TIPO = dbo.TBL_TIPO.CODIGO_TIPO INNER JOIN
                      dbo.TBL_HISTORICO ON dbo.TBL_PROJETO.CODIGO_PROJ = dbo.TBL_HISTORICO.CODIGO_PROJ INNER JOIN
                      dbo.TBL_CHECKMATE ON dbo.TBL_HISTORICO.CODIGO_CHECK = dbo.TBL_CHECKMATE.CODIGO_CHECK CROSS JOIN
                      dbo.TBL_CLASSIFICACAO
WHERE     (dbo.TBL_TIPO.NOME_TIPO <> 'Conta Nova')
GO




