dbo.Imperium_Ratificacion_Recursos

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

Used By

No items found