IF OBJECT_ID('dbo.vw_fco_companias') IS NOT NULL
    DROP VIEW dbo.vw_fco_companias
GO
CREATE VIEW dbo.vw_fco_companias  
AS  
SELECT  
 C.compania,  
 registro_fiscal,  
 C.nombre_cia,  
 ISNULL(C.domicilio,' ') domicilio,   
 ISNULL(C.telefono,' ') telefono,   
 ISNULL(A.cod_dpto,'11') cod_dpto,   
 ISNULL(A.cod_ciudad,'001') cod_ciudad,   
 ISNULL(A.fax,' ') fax,   
 ISNULL(A.nit_ARP,'000000000-0') nit_ARP,   
 ISNULL(A.nombre_ARP,' ') nombre_ARP,   
 ISNULL(A.clase_aportante,'G') clase_aportante,   
 ISNULL(A.forma_presentacion,'U') forma_presentacion,   
 ISNULL(A.nro_patronal,' ') nro_patronal,  
 ISNULL(A.nombre_retenedor, ' ') pagador_nombre,  
 ISNULL(A.cedula_retenedor, ' ') pagador_id,  
 ISNULL(A.agencias, ' ') agencias,  
 ISNULL(A.cod_admon, ' ') cod_admon,
 isnull(d.nombre, ' ') nom_dpto,
 isnull(m.nombre, ' ') nom_ciudad
FROM  
 companias C
LEFT JOIN fco_cias_datos_adi A ON C.compania = A.compania  
LEFT JOIN fco_departamentos d ON d.codigo = a.cod_dpto
LEFT JOIN fco_ciudades m ON m.cod_dpto = d.codigo and m.codigo = a.cod_ciudad
GO
GRANT ALL ON vw_fco_companias TO PUBLIC
GO


IF OBJECT_ID('dbo.fco_proc_reportes_ala') IS NOT NULL
    DROP TABLE dbo.fco_proc_reportes_ala
GO
CREATE TABLE dbo.fco_proc_reportes_ala
(
    compania                 char(4)         NOT NULL, 
    codigo                   char(4)   	NOT NULL,
    anio                     smallint  	NOT NULL,
    mes                      smallint	NOT NULL,
    EPS_FPO                  char(10)        NULL,
    sucursal                 char(10)        NULL,
    procesar                 char(1)         NULL,
    secuencia	        smallint	NULL
)
GO
GRANT ALL ON fco_proc_reportes_ala TO PUBLIC
GO

IF OBJECT_ID('dbo.fco_reportes_ala') IS NOT NULL
DROP TABLE dbo.fco_reportes_ala
GO
CREATE TABLE dbo.fco_reportes_ala
(	
  codigo          char(10)   	NOT NULL,
  nombre          varchar(100)  	NOT NULL,
  maneja_EPS      char(1)        NULL,
  maneja_FPO      char(1)        NULL,
  ISS_Integrado   char(1)        NULL,
  maneja_SUC      char(1)        NULL,
  maneja_ARP      char(1)        NULL,
  maneja_ISS      char(1)        NULL,
  maneja_rep      char(1)        NULL,
  maneja_mm       char(1)        NULL,  
  ruta_rep        varchar(255) 	NULL,
  ruta_mm         varchar(255)  NULL,
  orden           char(1)        NULL,  
  Constraint PK_fco_reportes_ala PRIMARY KEY (codigo)
)
GO
GRANT ALL ON fco_reportes_ala TO PUBLIC
GO


IF OBJECT_ID('dbo.vw_fco_proc_reportes_ala') IS NOT NULL
    DROP VIEW dbo.vw_fco_proc_reportes_ala
GO
CREATE VIEW dbo.vw_fco_proc_reportes_ala
AS
SELECT p.compania, p.procesar, p.codigo, r.nombre, p.anio, p.mes,  
       p.EPS_FPO, p.sucursal, p.secuencia, v.descripcion  
FROM  fco_proc_reportes_ala p, fco_reportes_ala r, vw_fco_administradoras v  
WHERE p.codigo = r.codigo and p.EPS_FPO = v.codigo And r.maneja_EPS = '1' And v.tipo='EPS' AND p.compania = v.compania
UNION  
SELECT p.compania, p.procesar, p.codigo, r.nombre, p.anio, p.mes,  
       p.EPS_FPO, p.sucursal, p.secuencia, v.descripcion  
FROM  fco_proc_reportes_ala p, fco_reportes_ala r, vw_fco_administradoras v  
WHERE p.codigo = r.codigo and p.EPS_FPO = v.codigo And r.maneja_FPO = '1' And v.tipo='AFP' AND p.compania = v.compania
UNION  
SELECT p.compania, p.procesar, p.codigo, r.nombre, p.anio, p.mes,  
       p.EPS_FPO, p.sucursal, p.secuencia, 'INSTITUTO DE SEGUROS SOCIALES'
FROM  fco_proc_reportes_ala p, fco_reportes_ala r
WHERE p.codigo = r.codigo and r.maneja_ISS = '1'
UNION  
SELECT p.compania, p.procesar, p.codigo, r.nombre, p.anio, p.mes,  
       p.EPS_FPO, p.sucursal, p.secuencia, v.nombre_ARP  
FROM  fco_proc_reportes_ala p, fco_reportes_ala r, vw_fco_companias v  
WHERE p.codigo = r.codigo and   
      p.compania = v.compania And r.maneja_ARP = '1'  
GO
GRANT SELECT ON vw_fco_proc_reportes_ala TO PUBLIC
GO


IF OBJECT_ID('dbo.sp_fco_alta_proc_reportes_ala') IS NOT NULL
    DROP PROCEDURE dbo.sp_fco_alta_proc_reportes_ala
GO
CREATE PROCEDURE dbo.sp_fco_alta_proc_reportes_ala
(
    @pch_compania char(4),
    @pch_codigo char(10),
    @psi_anio smallint,
    @pti_mes tinyint,
    @pch_eps_fpo char(10),
    @pch_sucursal char(10)
)
AS
BEGIN
    DECLARE
    	@vch_maneja_eps char(1),
    	@vch_maneja_fpo char(1),
    	@vch_maneja_suc char(1),
    	@vch_maneja_iss char(1),
    	@vch_maneja_arp char(1),
    	@vvc_EPS varchar(10),
    	@vvc_FPO varchar(10),
    	@vvc_SUC varchar(10),
    	@vsi_secuencia smallint

	/* Obtiene el parametro para agrupacion de la EPS */
    SELECT @vvc_EPS = ISNULL(dato, 'EPS') 
    FROM vw_fdt_parametros 
    WHERE pais = 'COL' 
      AND compania = @pch_compania 
      AND parametro = 'autoliq' 
      AND secuencia = 21

	/* Obtiene el parametro para agrupacion de la FPO */
    SELECT @vvc_FPO = ISNULL(dato, 'FPO') 
    FROM vw_fdt_parametros 
    WHERE pais = 'COL' 
      AND compania = @pch_compania 
      AND parametro = 'autoliq' 
      AND secuencia = 22

	/* Obtiene el parametro para agrupacion de la SUC */
    SELECT @vvc_SUC = ISNULL(dato, 'SUC') 
    FROM vw_fdt_parametros 
    WHERE pais = 'COL' 
      AND compania = @pch_compania 
      AND parametro = 'autoliq' 
      AND secuencia = 23

	/* Halla la secuencia siguiente -para mantener orden en el spread-*/
	SELECT @vsi_secuencia = ISNULL(Max(secuencia), 0) FROM fco_proc_reportes_ala
    SET @vsi_secuencia = ISNULL(Max(@vsi_secuencia),0) + 1


    /* Hallar que maneja el reporte */
    SELECT 
        @vch_maneja_eps = ISNULL(maneja_eps,'0'), 
        @vch_maneja_fpo = ISNULL(maneja_fpo,'0'), 
        @vch_maneja_suc = ISNULL(maneja_suc,'0'), 
        @vch_maneja_iss = ISNULL(maneja_iss,'0'), 
        @vch_maneja_arp = ISNULL(maneja_arp,'0')
    FROM fco_reportes_ala
    WHERE codigo = @pch_codigo

	/* AQUI COMIENZA LA ACCION */
	/* CASOS DE REPORTE */
    /* CASO 0 - ES UN REPORTE DE ARP */
    IF @vch_maneja_arp = '1'
    BEGIN
        IF @vch_maneja_suc = '1' /* CASO 0 CON SUCURSALES */
        BEGIN
            IF ISNULL(RTrim(@pch_sucursal) + '0', '0') <> '0'
            BEGIN /* LLEGA LA SUCURSAL */
                DELETE fco_proc_reportes_ala
                WHERE compania = @pch_compania AND codigo = @pch_codigo
                  AND anio = @psi_anio AND mes = @pti_mes
                  AND eps_fpo = 'ARP' AND sucursal = @pch_sucursal
                
                INSERT INTO fco_proc_reportes_ala
                (compania, codigo, anio, mes, EPS_FPO, sucursal, procesar, secuencia)
                VALUES 
                (@pch_compania, @pch_codigo, @psi_anio, @pti_mes, 'ARP', @pch_sucursal, '0', @vsi_secuencia)
            END
            ELSE /* SUCURSAL VACIA, GENERAR PARA TODAS */
            BEGIN
                DELETE fco_proc_reportes_ala
                WHERE compania = @pch_compania AND codigo = @pch_codigo
                  AND anio = @psi_anio AND mes = @pti_mes
                  AND eps_fpo = 'ARP'
                
                INSERT INTO fco_proc_reportes_ala 
                (compania, codigo, anio, mes, EPS_FPO, sucursal, procesar, secuencia)
                SELECT @pch_compania, @pch_codigo, @psi_anio, @pti_mes, 'ARP', sucursal, '0', @vsi_secuencia
                FROM vw_fco_sucursales
                WHERE compania = @pch_compania AND autoliquida = 1
            END
        END
        ELSE
        BEGIN /* CASO 0 SIN SUCURSALES */
            DELETE fco_proc_reportes_ala
            WHERE compania = @pch_compania AND codigo = @pch_codigo
              AND anio = @psi_anio AND mes = @pti_mes
              AND eps_fpo = 'ARP'
            
            INSERT INTO fco_proc_reportes_ala (compania, codigo, anio, mes, EPS_FPO, procesar, secuencia)
            VALUES (@pch_compania, @pch_codigo, @psi_anio, @pti_mes, 'ARP', '0', @vsi_secuencia)
        END
    END
    
    /* CASO 1 - ES UN REPORTE PARA EL ISS */
    IF @vch_maneja_iss = '1'
    BEGIN
        IF @vch_maneja_suc = '1' /* CASO 1 CON SUCURSALES */
        BEGIN
            IF ISNULL(RTrim(@pch_sucursal) + '0', '0') <> '0' /* LLEGA LA SUCURSAL */
            BEGIN
                DELETE fco_proc_reportes_ala
                WHERE compania = @pch_compania AND codigo = @pch_codigo
                  AND anio = @psi_anio AND mes = @pti_mes
                  AND eps_fpo = 'ISS' AND sucursal = @pch_sucursal
                
                INSERT INTO fco_proc_reportes_ala
                (compania, codigo, anio, mes, EPS_FPO, sucursal, procesar, secuencia)
                VALUES (@pch_compania, @pch_codigo, @psi_anio, @pti_mes, 'ISS', @pch_sucursal, '0', @vsi_secuencia)
            END
            ELSE /* SUCURSAL VACIA, GENERAR PARA TODAS */
            BEGIN
                DELETE fco_proc_reportes_ala
                WHERE compania = @pch_compania AND codigo = @pch_codigo
                  AND anio = @psi_anio AND mes = @pti_mes
                  AND eps_fpo = 'ISS'
                
                INSERT INTO fco_proc_reportes_ala
                (compania, codigo, anio, mes, EPS_FPO, sucursal, procesar, secuencia)
                SELECT @pch_compania, @pch_codigo, @psi_anio, @pti_mes, @pch_eps_fpo, sucursal, '0', @vsi_secuencia
                FROM vw_fco_sucursales
                WHERE compania = @pch_compania AND autoliquida = 1
            END
        END
        ELSE
        BEGIN /* CASO 1 SIN SUCURSALES */
            DELETE fco_proc_reportes_ala
            WHERE compania = @pch_compania AND codigo = @pch_codigo
              AND anio = @psi_anio AND mes = @pti_mes
              AND eps_fpo = 'ISS'
            
            INSERT INTO fco_proc_reportes_ala (compania, codigo, anio, mes, EPS_FPO, procesar, secuencia)
            VALUES (@pch_compania, @pch_codigo, @psi_anio, @pti_mes, @pch_eps_fpo, '0', @vsi_secuencia)
        END
    END
    
    /* CASO A - REPORTE DE EPS (o FPO) POR SUCURSAL, LLEGA LA EPS (o FPO) Y LA SUCURSAL */
    IF (@vch_maneja_eps = '1' AND @vch_maneja_suc = '1' AND ISNULL(LEN(RTrim(@pch_eps_fpo)), 0) > 0 AND ISNULL(LEN(RTrim(@pch_sucursal)), 0) > 0) 
     OR(@vch_maneja_fpo = '1' AND @vch_maneja_suc = '1' AND ISNULL(LEN(RTrim(@pch_eps_fpo)), 0) > 0 AND ISNULL(LEN(RTrim(@pch_sucursal)), 0) > 0)
    BEGIN
        DELETE fco_proc_reportes_ala
        WHERE compania = @pch_compania AND codigo = @pch_codigo
          AND anio = @psi_anio AND mes = @pti_mes
          AND eps_fpo = @pch_eps_fpo AND sucursal = @pch_sucursal
    
        INSERT INTO fco_proc_reportes_ala (compania, codigo, anio, mes, EPS_FPO, sucursal, procesar, secuencia)
        VALUES (@pch_compania, @pch_codigo, @psi_anio, @pti_mes, @pch_eps_fpo, @pch_sucursal, '0', @vsi_secuencia)
    END
    /**********/
    
    /* CASO B - REPORTE DE EPS POR SUCURSAL, NO LLEGA LA EPS Y LA SUCURSAL SI */
    IF @vch_maneja_eps = '1' AND @vch_maneja_suc = '1' AND ISNULL(LEN(RTrim(@pch_eps_fpo)),0) = 0 AND ISNULL(LEN(RTrim(@pch_sucursal)),0) > 0
    BEGIN
        DELETE fco_proc_reportes_ala
        WHERE compania = @pch_compania AND codigo = @pch_codigo
          AND anio = @psi_anio AND mes = @pti_mes
          AND sucursal = @pch_sucursal
    
        INSERT INTO fco_proc_reportes_ala (compania, codigo, anio, mes, EPS_FPO, sucursal, procesar, secuencia)
        SELECT @pch_compania, @pch_codigo, @psi_anio, @pti_mes, codigo, @pch_sucursal, '0', @vsi_secuencia
        FROM fco_administradoras
        WHERE tipo = 'EPS'
    END
    /**********/
    
    /* CASO C - REPORTE DE EPS (o FPO) POR SUCURSAL, LLEGA LA EPS (o FPO) Y LA SUCURSAL NO */
    IF (@vch_maneja_eps = '1' AND @vch_maneja_suc = '1' AND ISNULL(LEN(RTrim(@pch_eps_fpo)), 0) > 0 AND ISNULL(LEN(RTrim(@pch_sucursal)), 0) = 0) 
     OR(@vch_maneja_fpo = '1' AND @vch_maneja_suc = '1' AND ISNULL(LEN(RTrim(@pch_eps_fpo)), 0) > 0 AND ISNULL(LEN(RTrim(@pch_sucursal)), 0) = 0)
    BEGIN 
        DELETE fco_proc_reportes_ala
        WHERE compania = @pch_compania AND codigo = @pch_codigo
          AND anio = @psi_anio AND mes = @pti_mes
          AND eps_fpo = @pch_eps_fpo
    
        INSERT INTO fco_proc_reportes_ala (compania, codigo, anio, mes, EPS_FPO, sucursal, procesar, secuencia)
        SELECT @pch_compania, @pch_codigo, @psi_anio, @pti_mes, @pch_eps_fpo, sucursal, '0', @vsi_secuencia
        FROM vw_fco_sucursales WHERE compania = @pch_compania AND autoliquida = 1
    END
    /**********/
    
    /* CASO D - REPORTE DE EPS POR SUCURSAL, NO LLEGAN NI LA EPS NI LA SUCURSAL */
    IF @vch_maneja_eps = '1' AND @vch_maneja_suc = '1' AND  ISNULL(LEN(RTrim(@pch_eps_fpo)), 0) = 0 AND ISNULL(LEN(RTrim(@pch_sucursal)), 0) = 0
    BEGIN
        DELETE fco_proc_reportes_ala
        WHERE compania = @pch_compania AND codigo = @pch_codigo
          AND anio = @psi_anio AND mes = @pti_mes
        
        INSERT INTO fco_proc_reportes_ala (compania, codigo, anio, mes, EPS_FPO, sucursal, procesar, secuencia)
        SELECT @pch_compania, @pch_codigo, @psi_anio, @pti_mes, b.codigo, a.sucursal, '0', @vsi_secuencia
        FROM vw_fco_sucursales a, fco_administradoras b
        WHERE a.compania = @pch_compania AND a.autoliquida = 1 AND b.tipo = 'EPS'
    END
    /**********/
    
    /* CASO E - REPORTE DE EPS (o FPO) CONSOLIDADO, LLEGA LA EPS (o FPO) */
    IF (@vch_maneja_eps = '1' AND @vch_maneja_suc = '0' AND ISNULL(LEN(RTrim(@pch_eps_fpo)),0) > 0) 
     OR(@vch_maneja_fpo = '1' AND @vch_maneja_suc = '0' AND ISNULL(LEN(RTrim(@pch_eps_fpo)),0) > 0)
    BEGIN
        DELETE fco_proc_reportes_ala
        WHERE compania = @pch_compania AND codigo = @pch_codigo
          AND anio = @psi_anio AND mes = @pti_mes
          AND eps_fpo = @pch_eps_fpo
    
        INSERT INTO fco_proc_reportes_ala (compania, codigo, anio, mes, EPS_FPO, sucursal, procesar, secuencia)
        VALUES (@pch_compania, @pch_codigo, @psi_anio, @pti_mes, @pch_eps_fpo, '', '0', @vsi_secuencia)
    END
    /**********/
    
    /* CASO F - REPORTE DE EPS CONSOLIDADO Y NO LLEGA LA EPS */
    IF @vch_maneja_eps = '1' AND @vch_maneja_suc = '0' AND ISNULL(RTrim(@pch_eps_fpo) + '', '') = ''
    BEGIN
        DELETE fco_proc_reportes_ala
        WHERE compania = @pch_compania AND codigo = @pch_codigo
        AND anio = @psi_anio AND mes = @pti_mes
        
        INSERT INTO fco_proc_reportes_ala (compania, codigo, anio, mes, EPS_FPO, sucursal, procesar, secuencia)
        SELECT @pch_compania, @pch_codigo, @psi_anio, @pti_mes, codigo, '', '0', @vsi_secuencia
        FROM fco_administradoras WHERE tipo = 'EPS'
    END
    /**********/
    
    /* CASO G - REPORTE DE FPO POR SUCURSAL, NO LLEGA EL FPO Y LA SUCURSAL SI */
    IF @vch_maneja_fpo = '1' AND @vch_maneja_suc = '1' AND ISNULL(RTrim(@pch_eps_fpo) + '', '') = '' AND ISNULL(RTrim(@pch_sucursal) + '', '') <> ''
    BEGIN
        DELETE fco_proc_reportes_ala
        WHERE compania = @pch_compania AND codigo = @pch_codigo
          AND anio = @psi_anio AND mes = @pti_mes
          AND sucursal = @pch_sucursal
    
        INSERT INTO fco_proc_reportes_ala (compania, codigo, anio, mes, EPS_FPO, sucursal, procesar, secuencia)
        SELECT @pch_compania, @pch_codigo, @psi_anio, @pti_mes, codigo, @pch_sucursal, '0', @vsi_secuencia
        FROM fco_administradoras
        WHERE tipo = 'AFP'
    END
    /**********/
    
    /* CASO H - REPORTE DE FPO POR SUCURSAL, NO LLEGAN NI EL FPO NI LA SUCURSAL */
    IF @vch_maneja_fpo = '1' AND @vch_maneja_suc = '1' AND ISNULL(RTrim(@pch_eps_fpo) + '','') = '' AND ISNULL(RTrim(@pch_sucursal) + '', '') =''
    BEGIN
        DELETE fco_proc_reportes_ala
        WHERE compania = @pch_compania AND codigo = @pch_codigo
          AND anio = @psi_anio AND mes = @pti_mes
    
        INSERT INTO fco_proc_reportes_ala (compania, codigo, anio, mes, EPS_FPO, sucursal, procesar, secuencia)
        SELECT @pch_compania,@pch_codigo,@psi_anio,@pti_mes,b.codigo, a.sucursal, '0', @vsi_secuencia
        FROM vw_fco_sucursales a, fco_administradoras b
        WHERE a.compania = @pch_compania AND a.autoliquida = 1 AND b.tipo = 'AFP'
    END
    /**********/
    
    /* CASO I - REPORTE DE FPO CONSOLIDADO Y NO LLEGA EL FPO */
    IF @vch_maneja_fpo = '1' AND @vch_maneja_suc = '0' AND ISNULL(RTrim(@pch_eps_fpo) + '', '') = ''
    BEGIN
        DELETE fco_proc_reportes_ala
        WHERE compania = @pch_compania AND codigo = @pch_codigo
          AND anio = @psi_anio AND mes = @pti_mes
    
        INSERT INTO fco_proc_reportes_ala (compania, codigo, anio, mes, EPS_FPO, sucursal, procesar, secuencia)
        SELECT @pch_compania,@pch_codigo,@psi_anio,@pti_mes,codigo,'','0', @vsi_secuencia
        FROM fco_administradoras WHERE tipo ='AFP'
    END
    /**********/
END
GO
GRANT EXECUTE ON sp_fco_alta_proc_reportes_ala TO PUBLIC
GO

IF OBJECT_ID('dbo.sp_fco_alta_reportes_ala') IS NOT NULL
    DROP PROCEDURE dbo.sp_fco_alta_reportes_ala
GO
CREATE PROCEDURE dbo.sp_fco_alta_reportes_ala
(
    @pch_codigo char(10),
    @pvc_nombre varchar(100),
    @pch_maneja_EPS char(1),
    @pch_maneja_FPO char(1),
    @pch_iss_integrado char(1),
    @pch_maneja_SUC char(1),
    @pch_maneja_ARP	char(1),
    @pch_maneja_ISS	char(1),
    @pch_maneja_rep char(1),       
    @pch_maneja_mm char(1),                
    @pvc_ruta varchar(255),
    @pvc_ruta_salida varchar(255),
    @pch_orden char(1)
)
AS
BEGIN
    IF EXISTS(SELECT 1 FROM fco_reportes_ala WHERE codigo = @pch_codigo)
		UPDATE fco_reportes_ala 
	  	SET Nombre = @pvc_nombre,
        	Maneja_EPS = @pch_maneja_EPS,
        	Maneja_FPO = @pch_maneja_FPO,
        	ISS_Integrado = @pch_iss_integrado,
        	Maneja_SUC = @pch_maneja_SUC,
	      	Maneja_ARP = @pch_maneja_ARP,
	      	Maneja_ISS = @pch_maneja_ISS,
            maneja_rep = @pch_maneja_rep,
	      	maneja_mm = @pch_maneja_mm,          
        	ruta_rep   = Replace(@pvc_ruta,'/','\'),
	      	ruta_mm = Replace(@pvc_ruta_salida,'/','\'),
            orden = @pch_orden
	  	WHERE
	      	Codigo = @pch_codigo
    ELSE
		INSERT INTO fco_reportes_ala 
            (codigo, nombre, maneja_EPS, maneja_FPO, ISS_Integrado, maneja_SUC, 
             maneja_ARP, maneja_ISS, maneja_rep, maneja_mm, 
             ruta_rep, ruta_mm, orden)
        SELECT 
		    @pch_codigo, @pvc_nombre, @pch_maneja_EPS, @pch_maneja_FPO, @pch_ISS_Integrado, @pch_maneja_SUC,
            @pch_maneja_ARP, @pch_maneja_ISS, @pch_maneja_rep, @pch_maneja_mm, 
            Replace(@pvc_ruta,'/','\'), Replace(@pvc_ruta_salida,'/','\'), @pch_orden
END
GO
GRANT EXECUTE ON sp_fco_alta_reportes_ala TO PUBLIC
GO

IF OBJECT_ID('dbo.sp_fco_baja_proc_reportes_ala') IS NOT NULL
    DROP PROCEDURE dbo.sp_fco_baja_proc_reportes_ala
GO
CREATE PROCEDURE dbo.sp_fco_baja_proc_reportes_ala
(  
    @pch_compania char(4),  
    @pch_codigo char(10),  
    @psi_anio smallint,  
    @pti_mes tinyint,  
    @pch_epf_fpo char(10),  
    @pch_sucursal char(10)  
)  
AS  
BEGIN  
    DELETE fco_proc_reportes_ala   
    WHERE   
        compania = @pch_compania AND  
        codigo = @pch_codigo AND  
        anio = @psi_anio AND  
        mes = @pti_mes AND  
        EPS_FPO = @pch_epf_fpo AND  
        ISNULL(sucursal,'') = ISNULL(@pch_sucursal, '')  
END  
GO
GRANT EXECUTE ON dbo.sp_fco_baja_proc_reportes_ala TO PUBLIC
GO

IF OBJECT_ID('dbo.sp_fco_baja_reportes_ala') IS NOT NULL
    DROP PROCEDURE dbo.sp_fco_baja_reportes_ala
GO
CREATE PROCEDURE dbo.sp_fco_baja_reportes_ala
(
    @pch_codigo char(10)
)
AS
BEGIN
    DELETE fco_proc_reportes_ala WHERE Codigo = @pch_codigo

    DELETE fco_reportes_ala WHERE Codigo = @pch_codigo
END
GO
GRANT EXECUTE ON sp_fco_baja_reportes_ala TO PUBLIC
GO
IF (SELECT COUNT(*) FROM fco_reportes_ala) = 0
INSERT INTO fco_reportes_ala 
(codigo, nombre, maneja_EPS, maneja_FPO, ISS_Integrado, maneja_SUC, maneja_ARP, 
maneja_ISS, maneja_rep, maneja_mm, ruta_rep, ruta_mm, orden)
SELECT codigo, nombre, maneja_EPS, maneja_FPO, ISS_Integrado, maneja_SUC, maneja_ARP,
maneja_ISS, CASE WHEN medio_magn = 1 THEN 0 ELSE 1 END, medio_magn, ruta, ruta_salida, 'A'
FROM reportes_ala

IF (SELECT COUNT(*) FROM fco_reportes_ala) = 0
BEGIN
    INSERT INTO fco_reportes_ala (codigo, nombre, maneja_EPS) VALUES ('REPS','Reporte Autoliquidacion Salud', '1');
    INSERT INTO fco_reportes_ala (codigo, nombre, maneja_EPS, maneja_mm) VALUES ('MEPS','Medio Magnetico Autoliquidacion Salud', '1', '1');
    
    INSERT INTO fco_reportes_ala (codigo, nombre, maneja_FPO) VALUES ('RFPO','Reporte Autoliquidacion Pensiones', '1');
    INSERT INTO fco_reportes_ala (codigo, nombre, maneja_FPO, maneja_mm) VALUES ('MFPO','Medio Magnetico Autoliquidacion Pensiones', '1', '1');
    
    INSERT INTO fco_reportes_ala (codigo, nombre, maneja_ISS) VALUES ('RISS','Reporte ISS', '1');
    INSERT INTO fco_reportes_ala (codigo, nombre, maneja_ISS, maneja_mm) VALUES ('MISS','Medio Magnetico ISS', '1', '1');
    
    INSERT INTO fco_reportes_ala (codigo, nombre, maneja_ARP) VALUES ('RARP','Reporte Autoliquidacion Riesgos Profesionales', '1');
    INSERT INTO fco_reportes_ala (codigo, nombre, maneja_ARP, maneja_mm) VALUES ('MARP','Medio Magnetico Riesgos Profesionales', '1', '1');
END

IF OBJECT_ID('dbo.sp_fco_upd_proc_reportes_ala') IS NOT NULL
    DROP PROCEDURE dbo.sp_fco_upd_proc_reportes_ala
GO
CREATE PROCEDURE dbo.sp_fco_upd_proc_reportes_ala
(
    @pch_procesar char(1),
    @pch_compania char(4),    
    @pch_codigo char(10),    
    @psi_anio smallint,    
    @pti_mes tinyint,    
    @pch_epf_fpo char(10),    
    @pch_sucursal char(10)
)
AS
BEGIN
    UPDATE fco_proc_reportes_ala
    SET procesar = @pch_procesar
    WHERE   
        compania = @pch_compania AND  
        codigo = @pch_codigo AND  
        anio = @psi_anio AND  
        mes = @pti_mes AND  
        EPS_FPO = @pch_epf_fpo AND  
        ISNULL(sucursal,'') = ISNULL(@pch_sucursal, '')  

END
GO
GRANT EXECUTE ON dbo.sp_fco_upd_proc_reportes_ala TO PUBLIC
GO

