Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
5| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_contratista | int | 4 | |
| @p_subcontratista | int | 4 | |
| @p_led_seccion | varchar | 1 | |
| @p_user_id | int | 4 | |
| @p_periodo | int | 4 |
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_Ratificacion_Recursos
-- Add the parameters for the stored procedure here
@p_contratista int = null,
@p_subcontratista int = null,
@p_led_seccion varchar(1),
@p_user_id int = null,
@p_periodo int = null
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
declare @cliente int
declare @descripcion varchar(250)
select @cliente = cliente from led_contratistas where contratista = @p_contratista
if (@p_periodo is null)
set @p_periodo = dbo.PeriodoVencido()
if (@p_subcontratista is null) begin
if (@p_led_seccion = 'E')
update led_contratista_periodo set ratif_empleados = 1,
ratif_empleados_usuario = @p_user_id,
ratif_empleados_fecha = GETDATE()
where contratista = @p_contratista
and periodo = @p_periodo
else
if (@p_led_seccion = 'V')
update led_contratista_periodo set ratif_vehiculos = 1,
ratif_vehiculos_usuario = @p_user_id,
ratif_vehiculos_fecha = GETDATE()
where contratista = @p_contratista
and periodo = @p_periodo
else
if (@p_led_seccion = 'S')
update led_contratista_periodo set ratif_subcontratistas = 1,
ratif_subcontratistas_usuario = @p_user_id,
ratif_subcontratistas_fecha = GETDATE()
where contratista = @p_contratista
and periodo = @p_periodo
set @descripcion = 'Ratificación de la nómina de ' + iif(@p_led_seccion = 'E', 'empleados', iif(@p_led_seccion = 'V', 'vehículos', 'subcontratistas')) + ' en el período ' + convert(varchar(6),@p_periodo)
insert into led_log
(led_seccion, cliente, contratista_1, contratista, tipo_log, descripcion_log, horario_log, user_id)
values
(@p_led_seccion, @cliente, @p_contratista, @p_contratista, 'K', @descripcion, GETDATE(), @p_user_id)
end
else begin
if (@p_led_seccion = 'E')
update led_subcontratista_periodo set ratif_empleados = 1,
ratif_empleados_usuario = @p_user_id,
ratif_empleados_fecha = GETDATE()
where subcontratista = @p_subcontratista
and periodo = @p_periodo
else
if (@p_led_seccion = 'V')
update led_subcontratista_periodo set ratif_vehiculos = 1,
ratif_vehiculos_usuario = @p_user_id,
ratif_vehiculos_fecha = GETDATE()
where subcontratista = @p_subcontratista
and periodo = @p_periodo
set @descripcion = 'Ratificación de la nómina de ' + iif(@p_led_seccion = 'E', 'empleados', iif(@p_led_seccion = 'V', 'vehículos', 'subcontratistas')) + ' de subcontratista en el período ' + convert(varchar(6),@p_periodo)
insert into led_log
(led_seccion, cliente, contratista_1, contratista, tipo_log, descripcion_log, horario_log, user_id)
values
(@p_led_seccion, @cliente, @p_contratista, @p_subcontratista, 'K', @descripcion, GETDATE(), @p_user_id)
-- Acá valido si ya ratificó todas las nóminas de todos los subcontratistas, para actualizar ratificación total de recursos --
declare @est_ratif int = 1
exec Imperium_vista_contratista_Ratificacion_Recursos_Subcontratistas @p_contratista, @est_ratif OUTPUT
if (@est_ratif = 1)
update led_contratista_periodo set ratif_rec_subcontratistas = 1,
ratif_rec_subcontratistas_fecha = GETDATE(),
ratif_rec_subcontratistas_usuario = @p_user_id
where contratista = @p_contratista
and periodo = @p_periodo
end
END
GO
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_Ratificacion_Recursos
-- Add the parameters for the stored procedure here
@p_contratista int = null,
@p_subcontratista int = null,
@p_led_seccion varchar(1),
@p_user_id int = null,
@p_periodo int = null
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
declare @cliente int
declare @descripcion varchar(250)
select @cliente = cliente from led_contratistas where contratista = @p_contratista
if (@p_periodo is null)
set @p_periodo = dbo.PeriodoVencido()
if (@p_subcontratista is null) begin
if (@p_led_seccion = 'E')
update led_contratista_periodo set ratif_empleados = 1,
ratif_empleados_usuario = @p_user_id,
ratif_empleados_fecha = GETDATE()
where contratista = @p_contratista
and periodo = @p_periodo
else
if (@p_led_seccion = 'V')
update led_contratista_periodo set ratif_vehiculos = 1,
ratif_vehiculos_usuario = @p_user_id,
ratif_vehiculos_fecha = GETDATE()
where contratista = @p_contratista
and periodo = @p_periodo
else
if (@p_led_seccion = 'S')
update led_contratista_periodo set ratif_subcontratistas = 1,
ratif_subcontratistas_usuario = @p_user_id,
ratif_subcontratistas_fecha = GETDATE()
where contratista = @p_contratista
and periodo = @p_periodo
set @descripcion = 'Ratificación de la nómina de ' + iif(@p_led_seccion = 'E', 'empleados', iif(@p_led_seccion = 'V', 'vehículos', 'subcontratistas')) + ' en el período ' + convert(varchar(6),@p_periodo)
insert into led_log
(led_seccion, cliente, contratista_1, contratista, tipo_log, descripcion_log, horario_log, user_id)
values
(@p_led_seccion, @cliente, @p_contratista, @p_contratista, 'K', @descripcion, GETDATE(), @p_user_id)
end
else begin
if (@p_led_seccion = 'E')
update led_subcontratista_periodo set ratif_empleados = 1,
ratif_empleados_usuario = @p_user_id,
ratif_empleados_fecha = GETDATE()
where subcontratista = @p_subcontratista
and periodo = @p_periodo
else
if (@p_led_seccion = 'V')
update led_subcontratista_periodo set ratif_vehiculos = 1,
ratif_vehiculos_usuario = @p_user_id,
ratif_vehiculos_fecha = GETDATE()
where subcontratista = @p_subcontratista
and periodo = @p_periodo
set @descripcion = 'Ratificación de la nómina de ' + iif(@p_led_seccion = 'E', 'empleados', iif(@p_led_seccion = 'V', 'vehículos', 'subcontratistas')) + ' de subcontratista en el período ' + convert(varchar(6),@p_periodo)
insert into led_log
(led_seccion, cliente, contratista_1, contratista, tipo_log, descripcion_log, horario_log, user_id)
values
(@p_led_seccion, @cliente, @p_contratista, @p_subcontratista, 'K', @descripcion, GETDATE(), @p_user_id)
-- Acá valido si ya ratificó todas las nóminas de todos los subcontratistas, para actualizar ratificación total de recursos --
declare @est_ratif int = 1
exec Imperium_vista_contratista_Ratificacion_Recursos_Subcontratistas @p_contratista, @est_ratif OUTPUT
if (@est_ratif = 1)
update led_contratista_periodo set ratif_rec_subcontratistas = 1,
ratif_rec_subcontratistas_fecha = GETDATE(),
ratif_rec_subcontratistas_usuario = @p_user_id
where contratista = @p_contratista
and periodo = @p_periodo
end
END
GO
Depends On
3Used By
No items found