/****** Object:  View [dbo].[V_EST_PROD_CPL_DEMANDA_PROC_CPL_HISTORICO]    Script Date: 07/04/2013 16:57:47 ******/
IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[V_EST_PROD_CPL_DEMANDA_PROC_CPL_HISTORICO]'))
DROP VIEW [dbo].[V_EST_PROD_CPL_DEMANDA_PROC_CPL_HISTORICO]
GO
--SELECT * FROM V_EST_PROD_CPL_DEMANDA_PROC_CPL_HISTORICO WHERE CD_EMP = 1 AND CD_FILIAL = 1 AND CD_PROD = 71614
CREATE VIEW V_EST_PROD_CPL_DEMANDA_PROC_CPL_HISTORICO
AS
SELECT  
	EST_PROD_CPL_DEMANDA_PROC_CPL.CD_EMP,
	EST_PROD_CPL_DEMANDA_PROC_CPL.CD_FILIAL,     
	EST_PROD_CPL_DEMANDA_PROC.DT_PROC AS DT_AGENDA_PROC, 
	CASE WHEN EST_PROD_CPL_DEMANDA_PROC.ORIGEM_DEMANDA=0 THEN
		'AUTOMATICO'
	WHEN EST_PROD_CPL_DEMANDA_PROC.ORIGEM_DEMANDA=1 THEN
		'IMPORTADA'
	ELSE
		'NAO DEFINIDO'
	END AS ORIGEM_DEMANDA, 
	CASE WHEN EST_PROD_CPL_DEMANDA_PROC.TP_DEMANDA=0 THEN
		'MEDIA F'
	WHEN EST_PROD_CPL_DEMANDA_PROC.TP_DEMANDA=1 THEN
		'MEDIA P'
	ELSE
		'NAO DEFINIDO'
	END AS TIPO_DEMANDA, 
	EST_PROD_CPL_DEMANDA_PROC_CPL.CD_PROD, 
	EST_PROD.DS_PROD, 
	EST_PROD_CPL_DEMANDA_PROC_CPL.QTDE_DEMANDA,  

	CASE WHEN EST_PROD_CPL_DEMANDA_PROC_CPL.CD_SIGLA =1    THEN 'A'
			WHEN EST_PROD_CPL_DEMANDA_PROC_CPL.CD_SIGLA =2 THEN 'B'
			WHEN EST_PROD_CPL_DEMANDA_PROC_CPL.CD_SIGLA =3 THEN 'C'
			WHEN EST_PROD_CPL_DEMANDA_PROC_CPL.CD_SIGLA =4 THEN 'D'
			WHEN EST_PROD_CPL_DEMANDA_PROC_CPL.CD_SIGLA =5 THEN 'AA'
			Else 'D' END AS DS_SIGLA_ATUAL,

	CASE WHEN EST_PROD_CPL_DEMANDA_PROC_CPL.CD_SIGLA_ANTERIOR =1    THEN 'A'
			WHEN EST_PROD_CPL_DEMANDA_PROC_CPL.CD_SIGLA_ANTERIOR =2 THEN 'B'
			WHEN EST_PROD_CPL_DEMANDA_PROC_CPL.CD_SIGLA_ANTERIOR =3 THEN 'C'
			WHEN EST_PROD_CPL_DEMANDA_PROC_CPL.CD_SIGLA_ANTERIOR =4 THEN 'D'
			WHEN EST_PROD_CPL_DEMANDA_PROC_CPL.CD_SIGLA_ANTERIOR =5 THEN 'AA'
			Else 'D' END AS DS_SIGLA_ANTERIOR,


	EST_PROD_CPL_DEMANDA_PROC_CPL.QT_VD_ATUAL, 
	EST_PROD_CPL_DEMANDA_PROC_CPL.QT_VD_MES1, 
	EST_PROD_CPL_DEMANDA_PROC_CPL.QT_VD_MES2, 
	EST_PROD_CPL_DEMANDA_PROC_CPL.QT_VD_MES3, 
	CASE WHEN EST_PROD_CPL_DEMANDA_PROC_CPL.STS_PROD=0 THEN
		'ATIVO'
	WHEN EST_PROD_CPL_DEMANDA_PROC_CPL.STS_PROD=1 THEN
		'INATIVO'
	WHEN EST_PROD_CPL_DEMANDA_PROC_CPL.STS_PROD=2 THEN
		'BLOQUEADO'
	ELSE
		'NAO DEFINIDO'
	END AS STS_PROD, 
	EST_PROD_CPL_DEMANDA_PROC.CD_CTR, 
	EST_PROD_CPL_DEMANDA_PROC_CPL_LIB.CD_CTR_PROC_CPL,	
	EST_PROD_CPL_DEMANDA_PROC.DT_CAD_REGISTRO, 
	GLB_USU.NM_USU,
	CASE WHEN EST_PROD_CPL_DEMANDA_PROC_CPL_LIB.CD_CTR IS NULL THEN
		CASE WHEN EST_PROD_CPL_DEMANDA_PROC_CPL_BLOQUEIO.CD_CTR IS NULL THEN
			CASE WHEN EST_PROD_CPL_DEMANDA_PROC_CPL_LIB_PENDENTE.CD_CTR IS NULL THEN
				CASE WHEN EST_PROD_CPL_DEMANDA_PROC_CPL_PENDENTE_APLICAR_MEDIAF.CD_CTR_PROC_CPL IS NULL THEN
					'PROCESSO DE HOMOLOGACAO'
				ELSE
					'PENDENTE APLICACAO'
				END
			ELSE
				'PENDENTE LIBERACAO'
			END
		ELSE
			'BLOQUEADO'
		END
	ELSE
		CASE WHEN EST_PROD_CPL_DEMANDA_PROC_CPL_PENDENTE_APLICAR_MEDIAF.CD_CTR_PROC_CPL IS NULL THEN
			'APLICADA'
		ELSE
			'PENDENTE APLICACAO'
		END
	END AS STS_PROC, 
	CASE WHEN USU_LIB.CD_USU IS NULL THEN
		CASE WHEN USU_BLQ.CD_USU IS NULL THEN
			''
		ELSE
			USU_BLQ.NM_USU
		END
	ELSE
		USU_LIB.NM_USU
	END AS NM_USU_PROC,
	CASE WHEN EST_PROD_CPL_DEMANDA_PROC_CPL_LIB.CD_CTR IS NULL THEN
		CASE WHEN EST_PROD_CPL_DEMANDA_PROC_CPL_BLOQUEIO.CD_CTR IS NULL THEN
			CASE WHEN EST_PROD_CPL_DEMANDA_PROC_CPL_LIB_PENDENTE.CD_CTR IS NULL THEN
				CASE WHEN EST_PROD_CPL_DEMANDA_PROC_CPL_PENDENTE_APLICAR_MEDIAF.CD_CTR_PROC_CPL IS NULL THEN
					''
				ELSE
					EST_PROD_CPL_DEMANDA_PROC_CPL_PENDENTE_APLICAR_MEDIAF.DT_CAD
				END
			ELSE
				EST_PROD_CPL_DEMANDA_PROC_CPL_LIB_PENDENTE.DT_CAD
			END
		ELSE
			EST_PROD_CPL_DEMANDA_PROC_CPL_BLOQUEIO.DT_CAD
		END
	ELSE
		CASE WHEN EST_PROD_CPL_DEMANDA_PROC_CPL_PENDENTE_APLICAR_MEDIAF.CD_CTR_PROC_CPL IS NULL THEN
			EST_PROD_CPL_DEMANDA_PROC_CPL_LIB.DT_CAD
		ELSE
			EST_PROD_CPL_DEMANDA_PROC_CPL_PENDENTE_APLICAR_MEDIAF.DT_CAD
		END
	END AS DT_CAD_PROC,
	NULL AS DT_VALIDADE
FROM            
	EST_PROD_CPL_DEMANDA_PROC INNER JOIN EST_PROD_CPL_DEMANDA_PROC_CPL ON 
	EST_PROD_CPL_DEMANDA_PROC.CD_CTR = EST_PROD_CPL_DEMANDA_PROC_CPL.CD_CTR_DEMANDA_PROC 
	INNER JOIN GLB_USU ON 
	EST_PROD_CPL_DEMANDA_PROC.CD_USU = GLB_USU.CD_USU 
	INNER JOIN EST_PROD ON 
	EST_PROD_CPL_DEMANDA_PROC_CPL.CD_EMP = EST_PROD.CD_EMP AND 
	EST_PROD_CPL_DEMANDA_PROC_CPL.CD_PROD = EST_PROD.CD_PROD
	LEFT OUTER JOIN EST_PROD_CPL_DEMANDA_PROC_CPL_BLOQUEIO ON 
	EST_PROD_CPL_DEMANDA_PROC_CPL.CD_CTR = EST_PROD_CPL_DEMANDA_PROC_CPL_BLOQUEIO.CD_CTR_PROC_CPL 
	LEFT OUTER JOIN GLB_USU USU_BLQ ON 
	EST_PROD_CPL_DEMANDA_PROC.CD_USU = USU_BLQ.CD_USU 
	LEFT OUTER JOIN EST_PROD_CPL_DEMANDA_PROC_CPL_LIB ON 
	EST_PROD_CPL_DEMANDA_PROC_CPL.CD_CTR = EST_PROD_CPL_DEMANDA_PROC_CPL_LIB.CD_CTR_PROC_CPL 
	LEFT OUTER JOIN GLB_USU USU_LIB ON 
	EST_PROD_CPL_DEMANDA_PROC.CD_USU = USU_LIB.CD_USU 
	LEFT OUTER JOIN EST_PROD_CPL_DEMANDA_PROC_CPL_LIB_PENDENTE ON 
	EST_PROD_CPL_DEMANDA_PROC_CPL.CD_CTR = EST_PROD_CPL_DEMANDA_PROC_CPL_LIB_PENDENTE.CD_CTR_PROC_CPL 
	LEFT OUTER JOIN EST_PROD_CPL_DEMANDA_PROC_CPL_PENDENTE_APLICAR_MEDIAF ON 
	EST_PROD_CPL_DEMANDA_PROC_CPL.CD_CTR = EST_PROD_CPL_DEMANDA_PROC_CPL_PENDENTE_APLICAR_MEDIAF.CD_CTR_PROC_CPL 
	 
UNION ALL
SELECT
	EST_PROD_CPL_FACE_AGENDA_EST_PROD.CD_EMP,
	EST_PROD_CPL_FACE_AGENDA_EST_PROD.CD_FILIAL,
	DT_AGD AS DT_AGENDA_PROC,
	'AGENDA' AS ORIGEM_DEMANDA, 
	CASE WHEN TP_FACE_FIN=0 THEN
		CASE WHEN ISNULL(EST_PROD_CPL_FACE_AGENDA_EST_PROD_TABLOIDE.CD_AGD,0) =0 THEN
			'FACEAMENTO'
		ELSE
			'FACEAMENTO TABLOIDE'
		END
	WHEN TP_FACE_FIN=1 THEN
		'FINANCIAMENTO'
	WHEN TP_FACE_FIN=2 THEN
		'BLOQUEIO'
	WHEN TP_FACE_FIN=3 THEN
		'LIMITADOR'
	ELSE
		'NAO DEFINIDO'
	END AS TIPO_DEMANDA, 
	EST_PROD_CPL_FACE_AGENDA_EST_PROD.CD_PROD, 
	EST_PROD.DS_PROD, 
	EST_PROD_CPL_FACE_AGENDA_EST_PROD.QTDE_FACEAMENTO AS QTDE_DEMANDA, 
	CASE WHEN EST_PROD_CPL.CD_SIGLA =1    THEN 'A'
			WHEN EST_PROD_CPL.CD_SIGLA =2 THEN 'B'
			WHEN EST_PROD_CPL.CD_SIGLA =3 THEN 'C'
			WHEN EST_PROD_CPL.CD_SIGLA =4 THEN 'D'
			WHEN EST_PROD_CPL.CD_SIGLA =5 THEN 'AA'
			Else 'D' END AS DS_SIGLA_ATUAL,

	CASE WHEN EST_PROD_CPL.CD_SIGLA =1    THEN 'A'
			WHEN EST_PROD_CPL.CD_SIGLA =2 THEN 'B'
			WHEN EST_PROD_CPL.CD_SIGLA =3 THEN 'C'
			WHEN EST_PROD_CPL.CD_SIGLA =4 THEN 'D'
			WHEN EST_PROD_CPL.CD_SIGLA =5 THEN 'AA'
			Else 'D' END    AS DS_SIGLA_ANTERIOR,	
	0 AS QT_VD_ATUAL, 
	EST_PROD_CPL.QT_VD_MES1, 
	EST_PROD_CPL.QT_VD_MES2, 
	EST_PROD_CPL.QT_VD_MES3, 
	CASE WHEN EST_PROD_CPL.STS_PROD=0 THEN
		'ATIVO'
	WHEN EST_PROD_CPL.STS_PROD=1 THEN
		'INATIVO'
	WHEN EST_PROD_CPL.STS_PROD=2 THEN
		'BLOQUEADO'
	ELSE
		'NAO DEFINIDO'
	END AS STS_PROD, 	
	EST_PROD_CPL_FACE_AGENDA_EST_PROD.CD_AGD AS CD_CTR, 
	0 AS CD_CTR_PROC_CPL,
	DT_APLICACAO AS DT_CAD_REGISTRO, 
	GLB_USU.NM_USU,
	CASE WHEN NOT EST_ALCADA_CP_PED_PEND.CD_CTR IS NULL THEN
		'AGUARDANDO LIBERACAO'
	ELSE
		CASE WHEN STS_AGD=0 THEN 
			'PENDENTE'
		WHEN STS_AGD=1 THEN 
			'ATENDIDO'
		WHEN STS_AGD=2 THEN 
			'CANCELADO'
		ELSE 
			'NAO DEFINIDO'
		END 
	END AS STS_PROC,
	CASE WHEN EST_ALCADA_CP_PED_ALCADAS_LIB.CD_CTR IS NULL THEN 
		CASE WHEN EST_ALCADA_CP_PED_ALCADAS_LIB.CD_CTR IS NULL THEN 
			''
		ELSE
			USU_CANCEL.NM_USU 
		END
	ELSE
		USU_LIB.NM_USU 
	END AS NM_USU_PROC,
	DT_APLICACAO AS DT_CAD_PROC,
    VALID_QTDE_FACEAMENTO AS DT_VALIDADE	
FROM
	EST_PROD_CPL_FACE_AGENDA INNER JOIN EST_PROD_CPL_FACE_AGENDA_EST_PROD ON
	EST_PROD_CPL_FACE_AGENDA.CD_EMP = EST_PROD_CPL_FACE_AGENDA_EST_PROD.CD_EMP AND
	EST_PROD_CPL_FACE_AGENDA.CD_AGD=EST_PROD_CPL_FACE_AGENDA_EST_PROD.CD_AGD 
	LEFT OUTER JOIN EST_PROD_CPL_FACE_AGENDA_EST_PROD_TABLOIDE ON
	EST_PROD_CPL_FACE_AGENDA.CD_EMP = EST_PROD_CPL_FACE_AGENDA_EST_PROD_TABLOIDE.CD_EMP AND
	EST_PROD_CPL_FACE_AGENDA.CD_AGD=EST_PROD_CPL_FACE_AGENDA_EST_PROD_TABLOIDE.CD_AGD 
	INNER JOIN EST_PROD_CPL ON
	EST_PROD_CPL_FACE_AGENDA_EST_PROD.CD_EMP = EST_PROD_CPL.CD_EMP AND
	EST_PROD_CPL_FACE_AGENDA_EST_PROD.CD_FILIAL = EST_PROD_CPL.CD_FILIAL AND
	EST_PROD_CPL_FACE_AGENDA_EST_PROD.CD_PROD = EST_PROD_CPL.CD_PROD 
 
	INNER JOIN EST_PROD ON
	EST_PROD_CPL_FACE_AGENDA_EST_PROD.CD_EMP = EST_PROD.CD_EMP AND
	EST_PROD_CPL_FACE_AGENDA_EST_PROD.CD_PROD = EST_PROD.CD_PROD 
	INNER JOIN GLB_USU ON
	EST_PROD_CPL_FACE_AGENDA.CD_USU = GLB_USU.CD_USU
    LEFT OUTER  JOIN EST_ALCADA_CP_PED_EST_PROD_CPL_FACE_AGENDA ON
    EST_PROD_CPL_FACE_AGENDA.CD_EMP = EST_ALCADA_CP_PED_EST_PROD_CPL_FACE_AGENDA.CD_EMP AND
    EST_PROD_CPL_FACE_AGENDA.CD_AGD = EST_ALCADA_CP_PED_EST_PROD_CPL_FACE_AGENDA.CD_AGD
    LEFT OUTER  JOIN EST_ALCADA_CP_PED_PEND ON
    EST_ALCADA_CP_PED_EST_PROD_CPL_FACE_AGENDA.CD_CTR = EST_ALCADA_CP_PED_PEND.CD_CTR
    LEFT OUTER JOIN EST_ALCADA_CP_PED_ALCADAS_LIB ON
    EST_ALCADA_CP_PED_EST_PROD_CPL_FACE_AGENDA.CD_CTR = EST_ALCADA_CP_PED_ALCADAS_LIB.CD_CTR
    LEFT OUTER JOIN GLB_USU USU_LIB ON
    EST_ALCADA_CP_PED_ALCADAS_LIB.CD_USU = USU_LIB.CD_USU
    
    LEFT OUTER JOIN EST_ALCADA_CP_PED_ALCADAS_CANCEL ON
    EST_ALCADA_CP_PED_EST_PROD_CPL_FACE_AGENDA.CD_CTR = EST_ALCADA_CP_PED_ALCADAS_CANCEL.CD_CTR
    LEFT OUTER JOIN GLB_USU USU_CANCEL ON
    EST_ALCADA_CP_PED_ALCADAS_CANCEL.CD_USU = USU_CANCEL.CD_USU