Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
8| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_contratista | int | 4 | |
| @p_id_padron | int | 4 | |
| @p_tipo_empleado | tinyint | 1 | |
| @p_tipo_alta | tinyint | 1 | |
| @p_alta_afip | datetime | 8 | |
| @p_user_id | int | 4 | |
| @p_domicilio_trabajo | varchar | 500 | |
| @p_inicio_servicio | datetime | 8 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_vista_contratista_Alta_Empleado
-- Add the parameters for the stored procedure here
@p_contratista int,
@p_id_padron int,
@p_tipo_empleado tinyint,
@p_tipo_alta tinyint,
@p_alta_afip datetime,
@p_user_id int,
@p_domicilio_trabajo varchar(500) = NULL,
@p_inicio_servicio datetime = null
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
/* 05/10/2023: si no viene fecha de alta, tomamos el periodo vencido */
if (@p_alta_afip is null)
begin
declare @p_txt varchar(10) = dbo.periodoVencido();
set @p_txt = SUBSTRING(@p_txt,1,4) + '-' + SUBSTRING(@p_txt,5,2) + '-01'
set @p_alta_afip = convert(date,@p_txt)
end
/**/
IF (@p_contratista > 0 AND @p_id_padron > 0 AND @p_tipo_empleado > 0 AND @p_user_id > 0) BEGIN
DECLARE @empleado INT
DECLARE @cliente INT
DECLARE @contratista_1 INT
DECLARE @modalidad VARCHAR(1)
DECLARE @tipo_doc SMALLINT
DECLARE @grupo_doc INT
DECLARE @dias_tolerancia TINYINT
DECLARE @fecha_tolerancia DATETIME
DECLARE @fecha_vigencia DATETIME
DECLARE @estado_inicial VARCHAR(1)
DECLARE @periodicidad VARCHAR(1)
DECLARE @doc_id_lista SMALLINT
DECLARE @compliance_doc VARCHAR(1)
DECLARE @alta bit = 0
DECLARE @reafectacion bit = 0
DECLARE @reactivacion bit = 0
DECLARE @estado_anterior varchar(1) = NULL
DECLARE @periodo INT
DECLARE @doc_log VARCHAR(MAX)
DECLARE @locacion INT
DECLARE @periodos_text VARCHAR(20) = NULL
DECLARE @periodo_adelantado INT = CONVERT(INT, CONVERT(VARCHAR(4),YEAR(GETDATE())) + RIGHT('00' + CONVERT(VARCHAR(2),MONTH(GETDATE())), 2))
DECLARE @periodo_vencido INT = CONVERT(INT, CONVERT(VARCHAR(4),YEAR(DATEADD(MONTH,-1,GETDATE()))) + RIGHT('00' + CONVERT(VARCHAR(2),MONTH(DATEADD(MONTH,-1,GETDATE()))), 2))
SELECT @cliente = cliente, @contratista_1 = contratista_1
FROM led_contratistas WHERE contratista = @p_contratista
IF NOT EXISTS (SELECT empleado FROM led_empleados WHERE contratista = @p_contratista AND id_padron = @p_id_padron) BEGIN
INSERT INTO led_empleados
(cliente, estado_empleado, tipo_empleado, contratista, id_padron, contratista_1, alta_afip, created, domicilio_trabajo,alta_servicio)
SELECT @cliente as cliente, 'A' as estado_empleado, @p_tipo_empleado as tipo_empleado,
contratista, @p_id_padron as id_padron,
@contratista_1 AS contratista_1, @p_alta_afip as alta_afip, GETDATE() as created, @p_domicilio_trabajo AS domicilio_trabajo, @p_inicio_servicio as alta_servicio
FROM led_contratistas
WHERE contratista = @p_contratista
SELECT @empleado = @@IDENTITY
SET @alta = 1
END ELSE BEGIN
/* existe el id padron bajo el contratista */
SELECT @empleado = empleado, @estado_anterior = estado_empleado
from led_empleados
WHERE contratista = @p_contratista AND id_padron = @p_id_padron
UPDATE led_empleados SET tipo_empleado = @p_tipo_empleado WHERE empleado = @empleado
if(@p_alta_afip is not null)
UPDATE led_empleados SET alta_afip = @p_alta_afip WHERE empleado = @empleado
if(@p_inicio_servicio is not null)
UPDATE led_empleados SET alta_servicio = @p_inicio_servicio WHERE empleado = @empleado
END
/* modalidades del empleado - vencida / adelantada */
DECLARE modalidades CURSOR FOR
SELECT led_tipos_doc.modalidad
FROM led_tipos_doc
inner join led_cliente_empleado on led_tipos_doc.tipo_doc = led_cliente_empleado.tipo_doc
WHERE led_cliente_empleado.tipo_empleado = @p_tipo_empleado
AND led_cliente_empleado.cliente = @cliente
GROUP BY led_tipos_doc.modalidad
HAVING led_tipos_doc.modalidad IS NOT NULL
ORDER BY led_tipos_doc.modalidad DESC
OPEN modalidades
FETCH NEXT FROM modalidades INTO @modalidad
WHILE @@FETCH_STATUS = 0 BEGIN
IF (@modalidad = 'V') BEGIN
IF NOT EXISTS (SELECT empleado FROM led_empleados_periodo WHERE empleado = @empleado AND periodo = @periodo_vencido) BEGIN
INSERT INTO led_empleados_periodo
(empleado, contratista, tipo_alta, periodo, contratista_1, fecha_afectacion)
values
(@empleado, @p_contratista, @p_tipo_alta, @periodo_vencido, @contratista_1, GETDATE())
IF (@estado_anterior = 'A') BEGIN
SET @reafectacion = 1
END
IF (@periodos_text IS NOT NULL) SET @periodos_text = @periodos_text + ', '
SET @periodos_text = @periodos_text + CONVERT(VARCHAR, @periodo_vencido)
END
IF (isnuLL(@estado_anterior,'N') = 'N') BEGIN
UPDATE led_empleados SET estado_empleado = 'A' WHERE empleado = @empleado
SET @reactivacion = 1
END
END ELSE BEGIN
/* periodo adelantado */
IF NOT EXISTS (SELECT empleado FROM led_empleados_periodo WHERE empleado = @empleado AND periodo = @periodo_adelantado) BEGIN
INSERT INTO led_empleados_periodo
(empleado, contratista, tipo_alta, periodo, contratista_1, fecha_afectacion)
values
(@empleado, @p_contratista, NULL, @periodo_adelantado, @contratista_1, GETDATE())
IF (@estado_anterior = 'A') BEGIN
SET @reafectacion = 1
END
IF (@periodos_text IS NOT NULL) SET @periodos_text = @periodos_text + ', '
SET @periodos_text = @periodos_text + CONVERT(VARCHAR, @periodo_adelantado)
END
IF (@estado_anterior = 'N') BEGIN
UPDATE led_empleados SET estado_empleado = 'A' WHERE empleado = @empleado
SET @reactivacion = 1
END
END
FETCH NEXT FROM modalidades INTO @modalidad
END
CLOSE modalidades
DEALLOCATE modalidades
/* fin modalidades */
/* tabla multi */
IF NOT EXISTS (SELECT empleado FROM led_empleado_multi WHERE empleado = @empleado) BEGIN
INSERT INTO led_empleado_multi
(empleado, id, tipo_empleado, id_dep, vigencia_desde, vigencia_hasta, tipo_empleado_principal,
contratista, contratista_1, cliente, activo, created, created_by)
VALUES
(@empleado, 1, @p_tipo_empleado, 0, convert(date,getdate()), NULL, NULL,
@p_contratista, @contratista_1, @cliente, 1, GETDATE(), @p_user_id)
END ELSE BEGIN
IF NOT EXISTS (SELECT empleado FROM led_empleado_multi WHERE empleado = @empleado AND tipo_empleado = @p_tipo_empleado) BEGIN
INSERT INTO led_empleado_multi
(empleado, id, tipo_empleado, id_dep, vigencia_desde, vigencia_hasta, tipo_empleado_principal,
contratista, contratista_1, cliente, activo, created, created_by)
SELECT @empleado AS empleado,
(SELECT ISNULL(MAX(id), 0) + 1 FROM led_empleado_multi WHERE empleado = @empleado) AS id,
@p_tipo_empleado AS tipo_empleado, 0 AS id_dep,
convert(date,getdate()) AS vigencia_desde, NULL AS vigencia_hasta,
NULL as tipo_empleado_principal,
@p_contratista AS contratista, @contratista_1 AS contratista_1,
@cliente AS cliente, 1 AS activo, GETDATE() AS created, @p_user_id as created_by
END ELSE BEGIN
UPDATE led_empleado_multi SET
activo = 1,
modified = GETDATE(),
modified_by = @p_user_id,
vigencia_desde = convert(date,getdate()),
vigencia_hasta = NULL
WHERE empleado = @empleado
AND tipo_empleado = @p_tipo_empleado
END
UPDATE led_empleado_multi SET
activo = 0,
modified = GETDATE(),
modified_by = @p_user_id
WHERE empleado = @empleado
AND tipo_empleado <> @p_tipo_empleado
END
/* fin tabla multi */
/* documentos de alta */
IF (NOT @reafectacion = 1) BEGIN
IF (@p_tipo_alta > 0) BEGIN
DECLARE tipos_doc_alta CURSOR FOR
SELECT led_cliente_empleado.tipo_doc, led_tipos_doc.modalidad,
led_cliente_empleado.dias_tolerancia, led_cliente_empleado.estado_inicial,
led_grupo_tipo_doc.grupo_doc, led_tipos_doc.periodicidad, led_tipos_doc.tipo_doc_lista
FROM led_cliente_empleado inner join led_tipos_doc
on led_cliente_empleado.tipo_doc = led_tipos_doc.tipo_doc
inner join led_grupo_tipo_doc on led_tipos_doc.tipo_doc = led_grupo_tipo_doc.tipo_doc
inner join led_grupos_doc on
(led_grupo_tipo_doc.grupo_doc = led_grupos_doc.grupo_doc
AND led_cliente_empleado.cliente = led_grupos_doc.cliente)
WHERE led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.tipo_empleado = @p_tipo_empleado
AND led_cliente_empleado.tipo_alta = @p_tipo_alta
AND led_cliente_empleado.activo = 1
OPEN tipos_doc_alta
FETCH NEXT FROM tipos_doc_alta INTO @tipo_doc, @modalidad, @dias_tolerancia,
@estado_inicial, @grupo_doc, @periodicidad, @doc_id_lista
WHILE @@FETCH_STATUS = 0 BEGIN
IF (@modalidad = 'V')
SET @periodo = @periodo_vencido
ELSE
SET @periodo = @periodo_adelantado
IF (@estado_inicial = 'N')
SET @compliance_doc = 'B'
ELSE
IF (@estado_inicial = 'I')
SET @compliance_doc = 'B'
ELSE
IF (@estado_inicial = 'V')
SET @compliance_doc = 'V'
ELSE
SET @compliance_doc = 'N'
IF (@dias_tolerancia > 0)
SET @fecha_tolerancia = DATEADD(SECOND,-1,CONVERT(DATETIME,DATEADD(DAY, @dias_tolerancia+1, CONVERT(DATE, GETDATE()))))
ELSE
SET @fecha_tolerancia = DATEADD(SECOND,-1,CONVERT(DATETIME,DATEADD(DAY, 6, CONVERT(DATE, GETDATE()))))
DECLARE @dias_mes_a INT = datediff(day, getdate(), dateadd(month, 1, getdate()))
DECLARE @dias_mes_v INT = datediff(day, dateadd(month,-1,getdate()), dateadd(month, 1, dateadd(month,-1,getdate())))
DECLARE @mes_a INT = month(getdate())
DECLARE @mes_v INT = month(dateadd(month,-1,getdate()))
DECLARE @ano_a INT = Year(getdate())
DECLARE @ano_v INT = Year(dateadd(month,-1,getdate()))
IF (@periodicidad = 'M') BEGIN
IF (@modalidad = 'V')
SET @fecha_vigencia = DATETIMEFROMPARTS(@ano_v,@mes_v,@dias_mes_v,23,59,59,0)
ELSE
SET @fecha_vigencia = DATETIMEFROMPARTS(@ano_a,@mes_a,@dias_mes_a,23,59,59,0)
END ELSE
IF (@periodicidad = 'A') BEGIN
IF (@modalidad = 'V')
SET @fecha_vigencia = DATETIMEFROMPARTS(@ano_v,12,31,23,59,59,0)
ELSE
SET @fecha_vigencia = DATETIMEFROMPARTS(@ano_a,12,31,23,59,59,0)
END ELSE
SET @fecha_vigencia = NULL
IF NOT EXISTS (SELECT tipo_doc, periodo, led_seccion, contratista, empleado
FROM led_docs
WHERE tipo_doc = @tipo_doc
AND periodo = @periodo
AND led_seccion = 'E'
AND contratista = @p_contratista
AND empleado = @empleado) BEGIN
SET @doc_log = CONVERT(VARCHAR, GETDATE(), 120) + ' - GENERACION AUTOMATICA DE DOCUMENTO DE ALTA DE EMPLEADO'
INSERT INTO led_docs
(tipo_doc, cliente, contratista, contratista_1, empleado, led_seccion, periodo,
insertado, estado_doc, compliance_doc, grupo_doc, fecha_tolerancia, fecha_vigencia,
doc_id_lista, doc_log)
VALUES
(@tipo_doc, @cliente, @p_contratista, @contratista_1, @empleado, 'E', @periodo,
GETDATE(), @estado_inicial, @compliance_doc, @grupo_doc, @fecha_tolerancia,
@fecha_vigencia, @doc_id_lista, @doc_log)
END
FETCH NEXT FROM tipos_doc_alta INTO @tipo_doc, @modalidad, @dias_tolerancia,
@estado_inicial, @grupo_doc, @periodicidad, @doc_id_lista
END
CLOSE tipos_doc_alta
DEALLOCATE tipos_doc_alta
END
END
/* fin doc de alta */
/* Locaciones, las que tenga el contratista / subcontratista */
DECLARE Locaciones CURSOR FOR
SELECT led_locaciones.locacion
FROM led_locaciones INNER JOIN led_contratista_locaciones
ON led_locaciones.locacion = led_contratista_locaciones.locacion
WHERE led_locaciones.visible = 1
AND led_contratista_locaciones.contratista = @p_contratista
AND led_contratista_locaciones.vigencia_desde <= GETDATE()
AND (led_contratista_locaciones.vigencia_hasta IS NULL
OR led_contratista_locaciones.vigencia_hasta > GETDATE())
AND led_contratista_locaciones.activo = 1
OPEN Locaciones
FETCH NEXT FROM Locaciones INTO @locacion
WHILE @@FETCH_STATUS = 0 BEGIN
IF NOT EXISTS (SELECT locacion FROM led_empleado_locaciones WHERE empleado = @empleado AND locacion = @locacion) BEGIN
INSERT INTO led_empleado_locaciones
(empleado, locacion, asignada, asignada_por,
vigencia_desde, vigencia_hasta, activo, created, created_by)
VALUES
(@empleado, @locacion, GETDATE(), @p_user_id,
DATETIMEFROMPARTS(year(getdate()),Month(getdate()),day(getdate()),0,0,0,0), NULL, 1, GETDATE(), @p_user_id)
END ELSE BEGIN
UPDATE led_empleado_locaciones SET
vigencia_desde = DATETIMEFROMPARTS(year(getdate()),Month(getdate()),day(getdate()),0,0,0,0),
vigencia_hasta = NULL,
activo = 1,
modified = GETDATE(),
modified_by = @p_user_id
WHERE empleado = @empleado
AND locacion = @locacion
END
FETCH NEXT FROM Locaciones INTO @locacion
END
CLOSE Locaciones
DEALLOCATE Locaciones
/* fin locaciones */
/* LOG */
DECLARE @logtext VARCHAR(250) = NULL
DECLARE @nombre VARCHAR(200) = NULL
DECLARE @identif VARCHAR(100) = NULL
SELECT @nombre = padrones.nombre_persona,
@identif = identificadores.abreviatura + ' ' + padrones.numero
FROM padrones INNER JOIN led_empleados ON padrones.id_padron = led_empleados.id_padron
INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
WHERE led_empleados.empleado = @empleado
IF (@alta = 1) BEGIN
SET @logtext = 'Alta nuevo empleado: ' + @nombre + ' (' + @identif + ')'
INSERT INTO led_log
(led_seccion, contratista, empleado, tipo_log, descripcion_log,
horario_log, user_id, cliente, doc_id, contratista_1)
VALUES
('E', @p_contratista, @empleado, 'A', @logtext, GETDATE(), @p_user_id, @cliente, NULL, @contratista_1)
END ELSE
IF (@reafectacion = 1) BEGIN
SET @logtext = 'Reafectación empleado: ' + @nombre + ' (' + @identif + ')'
INSERT INTO led_log
(led_seccion, contratista, empleado, tipo_log, descripcion_log,
horario_log, user_id, cliente, doc_id, contratista_1)
VALUES
('E', @p_contratista, @empleado, 'R', @logtext, GETDATE(), @p_user_id, @cliente, NULL, @contratista_1)
END ELSE
IF (@reactivacion = 1) BEGIN
SET @logtext = 'Alta empleado (estado anterior NO activo): ' + @nombre + ' (' + @identif + ')'
INSERT INTO led_log
(led_seccion, contratista, empleado, tipo_log, descripcion_log,
horario_log, user_id, cliente, doc_id, contratista_1)
VALUES
('E', @p_contratista, @empleado, 'A', @logtext, GETDATE(), @p_user_id, @cliente, NULL, @contratista_1)
END
/* Reapertura de documentos nómina */
DECLARE @doc_id BIGINT
DECLARE @nombre_tipo_doc VARCHAR(100)
DECLARE @texto_noti VARCHAR(MAX)
DECLARE @notificacion INT
DECLARE @doc_version TINYINT
DECLARE @docaux_log VARCHAR(MAX)
DECLARE Periodos CURSOR FOR
SELECT periodo FROM led_empleados_periodo
WHERE empleado = @empleado
AND periodo >= @periodo_vencido
ORDER BY periodo
OPEN Periodos
FETCH NEXT FROM Periodos INTO @periodo
WHILE @@FETCH_STATUS = 0 BEGIN
DECLARE DocLista CURSOR FOR
SELECT led_docs.doc_id, led_tipos_doc.nombre_tipo_doc, led_docs.doc_version, led_tipos_doc.modalidad
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN led_contratista_multi ON led_docs.contratista = led_contratista_multi.contratista
INNER JOIN led_cliente_contratista ON
(led_contratistas.cliente = led_cliente_contratista.cliente
AND led_contratista_multi.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc)
WHERE led_docs.led_seccion = 'C'
AND led_docs.contratista = @p_contratista
AND led_docs.periodo = @periodo
AND led_docs.estado_doc = 'V'
AND led_docs.doc_id_lista IS NULL
AND led_tipos_doc.validar_lista_cuil > 0
AND led_cliente_contratista.activo = 1
AND led_contratista_multi.activo = 1
AND led_contratista_multi.vigencia_desde < GETDATE()
AND (led_contratista_multi.vigencia_hasta > GETDATE() OR led_contratista_multi.vigencia_hasta IS NULL)
AND led_docs.tipo_doc IN
(SELECT led_tipos_doc.tipo_doc_lista
FROM led_empleados
INNER JOIN led_empleado_multi ON led_empleados.tipo_empleado = led_empleado_multi.tipo_empleado
INNER JOIN led_cliente_empleado ON
(led_empleado_multi.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_empleados.cliente = led_cliente_empleado.cliente)
INNER JOIN led_tipos_doc ON led_cliente_empleado.tipo_doc = led_tipos_doc.tipo_doc
WHERE led_empleados.empleado = @empleado
AND led_cliente_empleado.activo = 1
AND led_empleado_multi.activo = 1
AND led_empleado_multi.vigencia_desde < GETDATE()
AND (led_empleado_multi.vigencia_hasta > GETDATE() OR led_empleado_multi.vigencia_hasta IS NULL)
GROUP BY led_tipos_doc.tipo_doc_lista
HAVING led_tipos_doc.tipo_doc_lista IS NOT NULL)
GROUP BY led_docs.doc_id, led_tipos_doc.nombre_tipo_doc, led_docs.doc_version, led_tipos_doc.modalidad
OPEN DocLista
FETCH NEXT FROM DocLista INTO @doc_id, @nombre_tipo_doc, @doc_version, @modalidad
WHILE @@FETCH_STATUS = 0 BEGIN
if ( iif(@modalidad = 'V', iif(@periodo = @periodo_vencido, 1, 0), iif(@periodo = @periodo_adelantado, 1, 0) ) > 0) begin
/* Sólo debo reaperturar cuando el período coincide con la modalidad del tipo de documento que estoy analizando */
/* Notificar reapertura */
SET @texto_noti = 'El documento ' + @nombre_tipo_doc + ' correspondiente al período ' + left(convert(varchar, dbo.Periodo2Date(@periodo), 120), 7) + ' '
SET @texto_noti = @texto_noti + 'que se encontraba previamente verificado ha sido reabierto y colocado en estado "Ingresado" debido a la incorporación a la nómina del siguiente '
SET @texto_noti = @texto_noti + 'empleado: ' + @nombre + ' (' + @identif + '). El documento ingresa nuevamente en proceso de verificación por parte de Fidelitas.' + CHAR(10)
SET @texto_noti = @texto_noti + 'Si el archivo adjunto preexistente incluye al recurso incorporado no es necesario tomar ninguna acción. Por el contrario, si no lo incluye, usted puede '
SET @texto_noti = @texto_noti + 'reemplazar o adjuntar nuevos archivos al documento a los fines de cumplir con la documentación requerida.'
INSERT INTO led_notificaciones
(horario, tipo_notificacion, texto_notificacion, visible_contratista,
cliente, contratista, leido, usuario_de, usuario_para, doc_id)
VALUES
(GETDATE(), 'A2C', @texto_noti, 1, @cliente, @contratista_1, 0, 15342812, @p_user_id, @doc_id)
SELECT @notificacion = @@IDENTITY
SELECT @doc_log = doc_log FROM led_docs WHERE doc_id = @doc_id
SET @doc_log = @doc_log + CHAR(10) + CONVERT(VARCHAR,GETDATE(),120) + ': REAPERTURA DE DOCUMENTO POR INCORPORACION A NOMINA DEL EMPLEADO ' + @nombre + ' (' + @identif + ')'
UPDATE led_docs SET
estado_doc = 'I',
verificado = NULL,
verificado_por = NULL,
aprobacion_parcial = 1,
parcial_actualizado = 0,
reapertura_por_alta = 1,
doc_log = @doc_log,
notificacion = @notificacion,
last_modified = GETDATE()
WHERE doc_id = @doc_id
/* Actualización de la versión auxiliar si corresponde */
IF (@doc_version > 0 AND @periodo = dbo.PeriodoAdelantado()) BEGIN
SELECT @docaux_log = doc_log FROM led_docs_aux
WHERE doc_id = @doc_id
AND doc_version = @doc_version
UPDATE led_docs_aux SET
estado_doc = 'I',
doc_log = @docaux_log + CHAR(10) + CONVERT(VARCHAR,GETDATE(),120) + ': REAPERTURA DE DOCUMENTO POR INCORPORACION A NOMINA DEL EMPLEADO ' + @nombre + ' (' + @identif + ')',
aprobacion_parcial = 1,
reapertura_por_alta = 1
WHERE doc_id = @doc_id
AND doc_version = @doc_version
END
end
FETCH NEXT FROM DocLista INTO @doc_id, @nombre_tipo_doc, @doc_version, @modalidad
END
CLOSE DocLista
DEALLOCATE DocLista
FETCH NEXT FROM Periodos INTO @periodo
END
CLOSE Periodos
DEALLOCATE Periodos
/* ejecución de SP para creación de documentos */
EXEC [dbo].[Imperium_Multi_Carga_Docs_Empleados] @cliente, @empleado, @periodo_vencido, 'V'
EXEC [dbo].[Imperium_Multi_Carga_Docs_Empleados] @cliente, @empleado, @periodo_adelantado, 'A'
END
END
GO
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_vista_contratista_Alta_Empleado
-- Add the parameters for the stored procedure here
@p_contratista int,
@p_id_padron int,
@p_tipo_empleado tinyint,
@p_tipo_alta tinyint,
@p_alta_afip datetime,
@p_user_id int,
@p_domicilio_trabajo varchar(500) = NULL,
@p_inicio_servicio datetime = null
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
/* 05/10/2023: si no viene fecha de alta, tomamos el periodo vencido */
if (@p_alta_afip is null)
begin
declare @p_txt varchar(10) = dbo.periodoVencido();
set @p_txt = SUBSTRING(@p_txt,1,4) + '-' + SUBSTRING(@p_txt,5,2) + '-01'
set @p_alta_afip = convert(date,@p_txt)
end
/**/
IF (@p_contratista > 0 AND @p_id_padron > 0 AND @p_tipo_empleado > 0 AND @p_user_id > 0) BEGIN
DECLARE @empleado INT
DECLARE @cliente INT
DECLARE @contratista_1 INT
DECLARE @modalidad VARCHAR(1)
DECLARE @tipo_doc SMALLINT
DECLARE @grupo_doc INT
DECLARE @dias_tolerancia TINYINT
DECLARE @fecha_tolerancia DATETIME
DECLARE @fecha_vigencia DATETIME
DECLARE @estado_inicial VARCHAR(1)
DECLARE @periodicidad VARCHAR(1)
DECLARE @doc_id_lista SMALLINT
DECLARE @compliance_doc VARCHAR(1)
DECLARE @alta bit = 0
DECLARE @reafectacion bit = 0
DECLARE @reactivacion bit = 0
DECLARE @estado_anterior varchar(1) = NULL
DECLARE @periodo INT
DECLARE @doc_log VARCHAR(MAX)
DECLARE @locacion INT
DECLARE @periodos_text VARCHAR(20) = NULL
DECLARE @periodo_adelantado INT = CONVERT(INT, CONVERT(VARCHAR(4),YEAR(GETDATE())) + RIGHT('00' + CONVERT(VARCHAR(2),MONTH(GETDATE())), 2))
DECLARE @periodo_vencido INT = CONVERT(INT, CONVERT(VARCHAR(4),YEAR(DATEADD(MONTH,-1,GETDATE()))) + RIGHT('00' + CONVERT(VARCHAR(2),MONTH(DATEADD(MONTH,-1,GETDATE()))), 2))
SELECT @cliente = cliente, @contratista_1 = contratista_1
FROM led_contratistas WHERE contratista = @p_contratista
IF NOT EXISTS (SELECT empleado FROM led_empleados WHERE contratista = @p_contratista AND id_padron = @p_id_padron) BEGIN
INSERT INTO led_empleados
(cliente, estado_empleado, tipo_empleado, contratista, id_padron, contratista_1, alta_afip, created, domicilio_trabajo,alta_servicio)
SELECT @cliente as cliente, 'A' as estado_empleado, @p_tipo_empleado as tipo_empleado,
contratista, @p_id_padron as id_padron,
@contratista_1 AS contratista_1, @p_alta_afip as alta_afip, GETDATE() as created, @p_domicilio_trabajo AS domicilio_trabajo, @p_inicio_servicio as alta_servicio
FROM led_contratistas
WHERE contratista = @p_contratista
SELECT @empleado = @@IDENTITY
SET @alta = 1
END ELSE BEGIN
/* existe el id padron bajo el contratista */
SELECT @empleado = empleado, @estado_anterior = estado_empleado
from led_empleados
WHERE contratista = @p_contratista AND id_padron = @p_id_padron
UPDATE led_empleados SET tipo_empleado = @p_tipo_empleado WHERE empleado = @empleado
if(@p_alta_afip is not null)
UPDATE led_empleados SET alta_afip = @p_alta_afip WHERE empleado = @empleado
if(@p_inicio_servicio is not null)
UPDATE led_empleados SET alta_servicio = @p_inicio_servicio WHERE empleado = @empleado
END
/* modalidades del empleado - vencida / adelantada */
DECLARE modalidades CURSOR FOR
SELECT led_tipos_doc.modalidad
FROM led_tipos_doc
inner join led_cliente_empleado on led_tipos_doc.tipo_doc = led_cliente_empleado.tipo_doc
WHERE led_cliente_empleado.tipo_empleado = @p_tipo_empleado
AND led_cliente_empleado.cliente = @cliente
GROUP BY led_tipos_doc.modalidad
HAVING led_tipos_doc.modalidad IS NOT NULL
ORDER BY led_tipos_doc.modalidad DESC
OPEN modalidades
FETCH NEXT FROM modalidades INTO @modalidad
WHILE @@FETCH_STATUS = 0 BEGIN
IF (@modalidad = 'V') BEGIN
IF NOT EXISTS (SELECT empleado FROM led_empleados_periodo WHERE empleado = @empleado AND periodo = @periodo_vencido) BEGIN
INSERT INTO led_empleados_periodo
(empleado, contratista, tipo_alta, periodo, contratista_1, fecha_afectacion)
values
(@empleado, @p_contratista, @p_tipo_alta, @periodo_vencido, @contratista_1, GETDATE())
IF (@estado_anterior = 'A') BEGIN
SET @reafectacion = 1
END
IF (@periodos_text IS NOT NULL) SET @periodos_text = @periodos_text + ', '
SET @periodos_text = @periodos_text + CONVERT(VARCHAR, @periodo_vencido)
END
IF (isnuLL(@estado_anterior,'N') = 'N') BEGIN
UPDATE led_empleados SET estado_empleado = 'A' WHERE empleado = @empleado
SET @reactivacion = 1
END
END ELSE BEGIN
/* periodo adelantado */
IF NOT EXISTS (SELECT empleado FROM led_empleados_periodo WHERE empleado = @empleado AND periodo = @periodo_adelantado) BEGIN
INSERT INTO led_empleados_periodo
(empleado, contratista, tipo_alta, periodo, contratista_1, fecha_afectacion)
values
(@empleado, @p_contratista, NULL, @periodo_adelantado, @contratista_1, GETDATE())
IF (@estado_anterior = 'A') BEGIN
SET @reafectacion = 1
END
IF (@periodos_text IS NOT NULL) SET @periodos_text = @periodos_text + ', '
SET @periodos_text = @periodos_text + CONVERT(VARCHAR, @periodo_adelantado)
END
IF (@estado_anterior = 'N') BEGIN
UPDATE led_empleados SET estado_empleado = 'A' WHERE empleado = @empleado
SET @reactivacion = 1
END
END
FETCH NEXT FROM modalidades INTO @modalidad
END
CLOSE modalidades
DEALLOCATE modalidades
/* fin modalidades */
/* tabla multi */
IF NOT EXISTS (SELECT empleado FROM led_empleado_multi WHERE empleado = @empleado) BEGIN
INSERT INTO led_empleado_multi
(empleado, id, tipo_empleado, id_dep, vigencia_desde, vigencia_hasta, tipo_empleado_principal,
contratista, contratista_1, cliente, activo, created, created_by)
VALUES
(@empleado, 1, @p_tipo_empleado, 0, convert(date,getdate()), NULL, NULL,
@p_contratista, @contratista_1, @cliente, 1, GETDATE(), @p_user_id)
END ELSE BEGIN
IF NOT EXISTS (SELECT empleado FROM led_empleado_multi WHERE empleado = @empleado AND tipo_empleado = @p_tipo_empleado) BEGIN
INSERT INTO led_empleado_multi
(empleado, id, tipo_empleado, id_dep, vigencia_desde, vigencia_hasta, tipo_empleado_principal,
contratista, contratista_1, cliente, activo, created, created_by)
SELECT @empleado AS empleado,
(SELECT ISNULL(MAX(id), 0) + 1 FROM led_empleado_multi WHERE empleado = @empleado) AS id,
@p_tipo_empleado AS tipo_empleado, 0 AS id_dep,
convert(date,getdate()) AS vigencia_desde, NULL AS vigencia_hasta,
NULL as tipo_empleado_principal,
@p_contratista AS contratista, @contratista_1 AS contratista_1,
@cliente AS cliente, 1 AS activo, GETDATE() AS created, @p_user_id as created_by
END ELSE BEGIN
UPDATE led_empleado_multi SET
activo = 1,
modified = GETDATE(),
modified_by = @p_user_id,
vigencia_desde = convert(date,getdate()),
vigencia_hasta = NULL
WHERE empleado = @empleado
AND tipo_empleado = @p_tipo_empleado
END
UPDATE led_empleado_multi SET
activo = 0,
modified = GETDATE(),
modified_by = @p_user_id
WHERE empleado = @empleado
AND tipo_empleado <> @p_tipo_empleado
END
/* fin tabla multi */
/* documentos de alta */
IF (NOT @reafectacion = 1) BEGIN
IF (@p_tipo_alta > 0) BEGIN
DECLARE tipos_doc_alta CURSOR FOR
SELECT led_cliente_empleado.tipo_doc, led_tipos_doc.modalidad,
led_cliente_empleado.dias_tolerancia, led_cliente_empleado.estado_inicial,
led_grupo_tipo_doc.grupo_doc, led_tipos_doc.periodicidad, led_tipos_doc.tipo_doc_lista
FROM led_cliente_empleado inner join led_tipos_doc
on led_cliente_empleado.tipo_doc = led_tipos_doc.tipo_doc
inner join led_grupo_tipo_doc on led_tipos_doc.tipo_doc = led_grupo_tipo_doc.tipo_doc
inner join led_grupos_doc on
(led_grupo_tipo_doc.grupo_doc = led_grupos_doc.grupo_doc
AND led_cliente_empleado.cliente = led_grupos_doc.cliente)
WHERE led_cliente_empleado.cliente = @cliente
AND led_cliente_empleado.tipo_empleado = @p_tipo_empleado
AND led_cliente_empleado.tipo_alta = @p_tipo_alta
AND led_cliente_empleado.activo = 1
OPEN tipos_doc_alta
FETCH NEXT FROM tipos_doc_alta INTO @tipo_doc, @modalidad, @dias_tolerancia,
@estado_inicial, @grupo_doc, @periodicidad, @doc_id_lista
WHILE @@FETCH_STATUS = 0 BEGIN
IF (@modalidad = 'V')
SET @periodo = @periodo_vencido
ELSE
SET @periodo = @periodo_adelantado
IF (@estado_inicial = 'N')
SET @compliance_doc = 'B'
ELSE
IF (@estado_inicial = 'I')
SET @compliance_doc = 'B'
ELSE
IF (@estado_inicial = 'V')
SET @compliance_doc = 'V'
ELSE
SET @compliance_doc = 'N'
IF (@dias_tolerancia > 0)
SET @fecha_tolerancia = DATEADD(SECOND,-1,CONVERT(DATETIME,DATEADD(DAY, @dias_tolerancia+1, CONVERT(DATE, GETDATE()))))
ELSE
SET @fecha_tolerancia = DATEADD(SECOND,-1,CONVERT(DATETIME,DATEADD(DAY, 6, CONVERT(DATE, GETDATE()))))
DECLARE @dias_mes_a INT = datediff(day, getdate(), dateadd(month, 1, getdate()))
DECLARE @dias_mes_v INT = datediff(day, dateadd(month,-1,getdate()), dateadd(month, 1, dateadd(month,-1,getdate())))
DECLARE @mes_a INT = month(getdate())
DECLARE @mes_v INT = month(dateadd(month,-1,getdate()))
DECLARE @ano_a INT = Year(getdate())
DECLARE @ano_v INT = Year(dateadd(month,-1,getdate()))
IF (@periodicidad = 'M') BEGIN
IF (@modalidad = 'V')
SET @fecha_vigencia = DATETIMEFROMPARTS(@ano_v,@mes_v,@dias_mes_v,23,59,59,0)
ELSE
SET @fecha_vigencia = DATETIMEFROMPARTS(@ano_a,@mes_a,@dias_mes_a,23,59,59,0)
END ELSE
IF (@periodicidad = 'A') BEGIN
IF (@modalidad = 'V')
SET @fecha_vigencia = DATETIMEFROMPARTS(@ano_v,12,31,23,59,59,0)
ELSE
SET @fecha_vigencia = DATETIMEFROMPARTS(@ano_a,12,31,23,59,59,0)
END ELSE
SET @fecha_vigencia = NULL
IF NOT EXISTS (SELECT tipo_doc, periodo, led_seccion, contratista, empleado
FROM led_docs
WHERE tipo_doc = @tipo_doc
AND periodo = @periodo
AND led_seccion = 'E'
AND contratista = @p_contratista
AND empleado = @empleado) BEGIN
SET @doc_log = CONVERT(VARCHAR, GETDATE(), 120) + ' - GENERACION AUTOMATICA DE DOCUMENTO DE ALTA DE EMPLEADO'
INSERT INTO led_docs
(tipo_doc, cliente, contratista, contratista_1, empleado, led_seccion, periodo,
insertado, estado_doc, compliance_doc, grupo_doc, fecha_tolerancia, fecha_vigencia,
doc_id_lista, doc_log)
VALUES
(@tipo_doc, @cliente, @p_contratista, @contratista_1, @empleado, 'E', @periodo,
GETDATE(), @estado_inicial, @compliance_doc, @grupo_doc, @fecha_tolerancia,
@fecha_vigencia, @doc_id_lista, @doc_log)
END
FETCH NEXT FROM tipos_doc_alta INTO @tipo_doc, @modalidad, @dias_tolerancia,
@estado_inicial, @grupo_doc, @periodicidad, @doc_id_lista
END
CLOSE tipos_doc_alta
DEALLOCATE tipos_doc_alta
END
END
/* fin doc de alta */
/* Locaciones, las que tenga el contratista / subcontratista */
DECLARE Locaciones CURSOR FOR
SELECT led_locaciones.locacion
FROM led_locaciones INNER JOIN led_contratista_locaciones
ON led_locaciones.locacion = led_contratista_locaciones.locacion
WHERE led_locaciones.visible = 1
AND led_contratista_locaciones.contratista = @p_contratista
AND led_contratista_locaciones.vigencia_desde <= GETDATE()
AND (led_contratista_locaciones.vigencia_hasta IS NULL
OR led_contratista_locaciones.vigencia_hasta > GETDATE())
AND led_contratista_locaciones.activo = 1
OPEN Locaciones
FETCH NEXT FROM Locaciones INTO @locacion
WHILE @@FETCH_STATUS = 0 BEGIN
IF NOT EXISTS (SELECT locacion FROM led_empleado_locaciones WHERE empleado = @empleado AND locacion = @locacion) BEGIN
INSERT INTO led_empleado_locaciones
(empleado, locacion, asignada, asignada_por,
vigencia_desde, vigencia_hasta, activo, created, created_by)
VALUES
(@empleado, @locacion, GETDATE(), @p_user_id,
DATETIMEFROMPARTS(year(getdate()),Month(getdate()),day(getdate()),0,0,0,0), NULL, 1, GETDATE(), @p_user_id)
END ELSE BEGIN
UPDATE led_empleado_locaciones SET
vigencia_desde = DATETIMEFROMPARTS(year(getdate()),Month(getdate()),day(getdate()),0,0,0,0),
vigencia_hasta = NULL,
activo = 1,
modified = GETDATE(),
modified_by = @p_user_id
WHERE empleado = @empleado
AND locacion = @locacion
END
FETCH NEXT FROM Locaciones INTO @locacion
END
CLOSE Locaciones
DEALLOCATE Locaciones
/* fin locaciones */
/* LOG */
DECLARE @logtext VARCHAR(250) = NULL
DECLARE @nombre VARCHAR(200) = NULL
DECLARE @identif VARCHAR(100) = NULL
SELECT @nombre = padrones.nombre_persona,
@identif = identificadores.abreviatura + ' ' + padrones.numero
FROM padrones INNER JOIN led_empleados ON padrones.id_padron = led_empleados.id_padron
INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
WHERE led_empleados.empleado = @empleado
IF (@alta = 1) BEGIN
SET @logtext = 'Alta nuevo empleado: ' + @nombre + ' (' + @identif + ')'
INSERT INTO led_log
(led_seccion, contratista, empleado, tipo_log, descripcion_log,
horario_log, user_id, cliente, doc_id, contratista_1)
VALUES
('E', @p_contratista, @empleado, 'A', @logtext, GETDATE(), @p_user_id, @cliente, NULL, @contratista_1)
END ELSE
IF (@reafectacion = 1) BEGIN
SET @logtext = 'Reafectación empleado: ' + @nombre + ' (' + @identif + ')'
INSERT INTO led_log
(led_seccion, contratista, empleado, tipo_log, descripcion_log,
horario_log, user_id, cliente, doc_id, contratista_1)
VALUES
('E', @p_contratista, @empleado, 'R', @logtext, GETDATE(), @p_user_id, @cliente, NULL, @contratista_1)
END ELSE
IF (@reactivacion = 1) BEGIN
SET @logtext = 'Alta empleado (estado anterior NO activo): ' + @nombre + ' (' + @identif + ')'
INSERT INTO led_log
(led_seccion, contratista, empleado, tipo_log, descripcion_log,
horario_log, user_id, cliente, doc_id, contratista_1)
VALUES
('E', @p_contratista, @empleado, 'A', @logtext, GETDATE(), @p_user_id, @cliente, NULL, @contratista_1)
END
/* Reapertura de documentos nómina */
DECLARE @doc_id BIGINT
DECLARE @nombre_tipo_doc VARCHAR(100)
DECLARE @texto_noti VARCHAR(MAX)
DECLARE @notificacion INT
DECLARE @doc_version TINYINT
DECLARE @docaux_log VARCHAR(MAX)
DECLARE Periodos CURSOR FOR
SELECT periodo FROM led_empleados_periodo
WHERE empleado = @empleado
AND periodo >= @periodo_vencido
ORDER BY periodo
OPEN Periodos
FETCH NEXT FROM Periodos INTO @periodo
WHILE @@FETCH_STATUS = 0 BEGIN
DECLARE DocLista CURSOR FOR
SELECT led_docs.doc_id, led_tipos_doc.nombre_tipo_doc, led_docs.doc_version, led_tipos_doc.modalidad
FROM led_docs
INNER JOIN led_tipos_doc ON led_docs.tipo_doc = led_tipos_doc.tipo_doc
INNER JOIN led_contratistas ON led_docs.contratista = led_contratistas.contratista
INNER JOIN led_contratista_multi ON led_docs.contratista = led_contratista_multi.contratista
INNER JOIN led_cliente_contratista ON
(led_contratistas.cliente = led_cliente_contratista.cliente
AND led_contratista_multi.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc)
WHERE led_docs.led_seccion = 'C'
AND led_docs.contratista = @p_contratista
AND led_docs.periodo = @periodo
AND led_docs.estado_doc = 'V'
AND led_docs.doc_id_lista IS NULL
AND led_tipos_doc.validar_lista_cuil > 0
AND led_cliente_contratista.activo = 1
AND led_contratista_multi.activo = 1
AND led_contratista_multi.vigencia_desde < GETDATE()
AND (led_contratista_multi.vigencia_hasta > GETDATE() OR led_contratista_multi.vigencia_hasta IS NULL)
AND led_docs.tipo_doc IN
(SELECT led_tipos_doc.tipo_doc_lista
FROM led_empleados
INNER JOIN led_empleado_multi ON led_empleados.tipo_empleado = led_empleado_multi.tipo_empleado
INNER JOIN led_cliente_empleado ON
(led_empleado_multi.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_empleados.cliente = led_cliente_empleado.cliente)
INNER JOIN led_tipos_doc ON led_cliente_empleado.tipo_doc = led_tipos_doc.tipo_doc
WHERE led_empleados.empleado = @empleado
AND led_cliente_empleado.activo = 1
AND led_empleado_multi.activo = 1
AND led_empleado_multi.vigencia_desde < GETDATE()
AND (led_empleado_multi.vigencia_hasta > GETDATE() OR led_empleado_multi.vigencia_hasta IS NULL)
GROUP BY led_tipos_doc.tipo_doc_lista
HAVING led_tipos_doc.tipo_doc_lista IS NOT NULL)
GROUP BY led_docs.doc_id, led_tipos_doc.nombre_tipo_doc, led_docs.doc_version, led_tipos_doc.modalidad
OPEN DocLista
FETCH NEXT FROM DocLista INTO @doc_id, @nombre_tipo_doc, @doc_version, @modalidad
WHILE @@FETCH_STATUS = 0 BEGIN
if ( iif(@modalidad = 'V', iif(@periodo = @periodo_vencido, 1, 0), iif(@periodo = @periodo_adelantado, 1, 0) ) > 0) begin
/* Sólo debo reaperturar cuando el período coincide con la modalidad del tipo de documento que estoy analizando */
/* Notificar reapertura */
SET @texto_noti = 'El documento ' + @nombre_tipo_doc + ' correspondiente al período ' + left(convert(varchar, dbo.Periodo2Date(@periodo), 120), 7) + ' '
SET @texto_noti = @texto_noti + 'que se encontraba previamente verificado ha sido reabierto y colocado en estado "Ingresado" debido a la incorporación a la nómina del siguiente '
SET @texto_noti = @texto_noti + 'empleado: ' + @nombre + ' (' + @identif + '). El documento ingresa nuevamente en proceso de verificación por parte de Fidelitas.' + CHAR(10)
SET @texto_noti = @texto_noti + 'Si el archivo adjunto preexistente incluye al recurso incorporado no es necesario tomar ninguna acción. Por el contrario, si no lo incluye, usted puede '
SET @texto_noti = @texto_noti + 'reemplazar o adjuntar nuevos archivos al documento a los fines de cumplir con la documentación requerida.'
INSERT INTO led_notificaciones
(horario, tipo_notificacion, texto_notificacion, visible_contratista,
cliente, contratista, leido, usuario_de, usuario_para, doc_id)
VALUES
(GETDATE(), 'A2C', @texto_noti, 1, @cliente, @contratista_1, 0, 15342812, @p_user_id, @doc_id)
SELECT @notificacion = @@IDENTITY
SELECT @doc_log = doc_log FROM led_docs WHERE doc_id = @doc_id
SET @doc_log = @doc_log + CHAR(10) + CONVERT(VARCHAR,GETDATE(),120) + ': REAPERTURA DE DOCUMENTO POR INCORPORACION A NOMINA DEL EMPLEADO ' + @nombre + ' (' + @identif + ')'
UPDATE led_docs SET
estado_doc = 'I',
verificado = NULL,
verificado_por = NULL,
aprobacion_parcial = 1,
parcial_actualizado = 0,
reapertura_por_alta = 1,
doc_log = @doc_log,
notificacion = @notificacion,
last_modified = GETDATE()
WHERE doc_id = @doc_id
/* Actualización de la versión auxiliar si corresponde */
IF (@doc_version > 0 AND @periodo = dbo.PeriodoAdelantado()) BEGIN
SELECT @docaux_log = doc_log FROM led_docs_aux
WHERE doc_id = @doc_id
AND doc_version = @doc_version
UPDATE led_docs_aux SET
estado_doc = 'I',
doc_log = @docaux_log + CHAR(10) + CONVERT(VARCHAR,GETDATE(),120) + ': REAPERTURA DE DOCUMENTO POR INCORPORACION A NOMINA DEL EMPLEADO ' + @nombre + ' (' + @identif + ')',
aprobacion_parcial = 1,
reapertura_por_alta = 1
WHERE doc_id = @doc_id
AND doc_version = @doc_version
END
end
FETCH NEXT FROM DocLista INTO @doc_id, @nombre_tipo_doc, @doc_version, @modalidad
END
CLOSE DocLista
DEALLOCATE DocLista
FETCH NEXT FROM Periodos INTO @periodo
END
CLOSE Periodos
DEALLOCATE Periodos
/* ejecución de SP para creación de documentos */
EXEC [dbo].[Imperium_Multi_Carga_Docs_Empleados] @cliente, @empleado, @periodo_vencido, 'V'
EXEC [dbo].[Imperium_Multi_Carga_Docs_Empleados] @cliente, @empleado, @periodo_adelantado, 'A'
END
END
GO
Depends On
22- dbo.Imperium_Multi_Carga_Docs_Empleados
- dbo.periodos
- dbo.Periodo2Date
- dbo.PeriodoAdelantado
- dbo.PeriodoVencido
- dbo.identificadores
- dbo.led_cliente_contratista
- dbo.led_cliente_empleado
- dbo.led_contratista_locaciones
- dbo.led_contratista_multi
- dbo.led_contratistas
- dbo.led_docs
- dbo.led_docs_aux
- dbo.led_empleado_locaciones
- dbo.led_empleado_multi
- dbo.led_empleados
- dbo.led_empleados_periodo
- dbo.led_grupo_tipo_doc
- dbo.led_grupos_doc
- dbo.led_locaciones
- dbo.led_tipos_doc
- dbo.padrones
Used By
No items found