dbo.Imperium_Ratificacion_Recursos_Subcontratistas

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

3
Name Data Type Length Description
@p_contratista int 4
@p_user_id int 4
@p_periodo int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: Luis Prenafeta
-- Create date: 07/11/2019
-- Description: Dado un contratista, ratifica la nóminas de todos los empleados y vehículos de sus subcontratistas en el período vencido
-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_Ratificacion_Recursos_Subcontratistas
 -- Add the parameters for the stored procedure here

 @p_contratista         int = null,
 @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 @subc 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()

 declare Subcontratistas cursor for

 select subcontratista from led_subcontratista_periodo
 where contratista_1 = @p_contratista
 and periodo = @p_periodo

 Open Subcontratistas
 Fetch next from Subcontratistas into @subc
 While @@FETCH_STATUS = 0 begin

  update led_subcontratista_periodo set
   ratif_empleados = 1,
   ratif_empleados_usuario = @p_user_id,
   ratif_empleados_fecha = GETDATE()
  where subcontratista = @subc and periodo = @p_periodo

  update led_subcontratista_periodo set
   ratif_vehiculos = 1,
   ratif_vehiculos_usuario = @p_user_id,
   ratif_vehiculos_fecha = GETDATE()
  where subcontratista = @subc and periodo = @p_periodo


  set @descripcion = 'Ratificación de la nómina de empleados 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
   ('E', @cliente, @p_contratista, @subc, 'K', @descripcion, GETDATE(), @p_user_id)


  set @descripcion = 'Ratificación de la nómina de vehículos 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
   ('V', @cliente, @p_contratista, @subc, 'K', @descripcion, GETDATE(), @p_user_id)


  Fetch next from Subcontratistas into @subc
 end


 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
GO

Used By

No items found