IF OBJECT_ID('dbo.vw_fco_administradoras') IS NOT NULL
    DROP VIEW vw_fco_administradoras
GO
CREATE VIEW vw_fco_administradoras
AS
-- EPS
SELECT c.compania, ISNULL(a.codigo, EPS.dato) AS codigo, RTRIM(EPS.descripcion) AS descripcion,
a.registro_fiscal, a.digito_verificacion, a.direccion, a.telefono, 
a.cod_super, a.cod_alterno, 'EPS' AS tipo, a.agrupacion, a.forma_presentacion, departamento, municipio
FROM datos_agr_trab EPS
INNER JOIN companias c ON 1=1
LEFT JOIN fco_administradoras a ON a.codigo = EPS.dato AND a.tipo = 'EPS'
WHERE EPS.agrupacion = ISNULL((SELECT x.dato FROM vw_fdt_parametros x 
                               WHERE x.pais = 'COL' AND x.compania = c.compania
                                 AND parametro = 'autoliq' AND secuencia = 21), 'EPS')
UNION
-- AFP
SELECT c.compania, ISNULL(a.codigo, AFP.dato), RTRIM(AFP.descripcion),
a.registro_fiscal, a.digito_verificacion, a.direccion, a.telefono, 
a.cod_super, a.cod_alterno, 'AFP', a.agrupacion, a.forma_presentacion, departamento, municipio
FROM datos_agr_trab AFP
INNER JOIN companias c ON 1=1
LEFT JOIN fco_administradoras a ON a.codigo = AFP.dato AND a.tipo = 'AFP'
WHERE AFP.agrupacion = ISNULL((SELECT x.dato FROM vw_fdt_parametros x 
                               WHERE x.pais = 'COL' AND x.compania = c.compania
                                 AND parametro = 'autoliq' AND secuencia = 22), 'AFP')
UNION
-- CCF
SELECT c.compania, ISNULL(a.codigo, CCF.dato), RTRIM(CCF.descripcion),
a.registro_fiscal, a.digito_verificacion, a.direccion, a.telefono, 
a.cod_super, a.cod_alterno, 'CCF', a.agrupacion, a.forma_presentacion, departamento, municipio
FROM datos_agr_trab CCF
INNER JOIN companias c ON 1=1
LEFT JOIN fco_administradoras a ON a.codigo = CCF.dato AND a.tipo = 'CCF'
WHERE CCF.agrupacion = ISNULL((SELECT x.dato FROM vw_fdt_parametros x 
                               WHERE x.pais = 'COL' AND x.compania = c.compania
                                 AND parametro = 'parafiscal' AND secuencia = 1), 'CAJAS')
GO
GRANT SELECT ON vw_fco_administradoras TO PUBLIC
GO

