dbo.Imperium_SYNC_Empleados_Locaciones

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO

/*
EXEC Imperium_SYNC_Empleados_Locaciones
*/

CREATE OR ALTER PROCEDURE  dbo.Imperium_SYNC_Empleados_Locaciones

AS

BEGIN
 SET NOCOUNT ON;

DECLARE @ERRORNUMBER SMALLINT 
DECLARE @empleado int 
DECLARE @locacion int
DECLARE @vigencia_desde datetime
declare @activo bit

  DECLARE SyncLocaciones Cursor
  FOR
  /*
   select distinct empleado,locacion,'2016-08-01 00:00:00.000' as vigencia_desde,1 as activo from led_empleados
   inner join led_locaciones on led_empleados.cliente = led_locaciones.cliente
   inner join clientes on led_empleados.cliente = clientes.cliente
   where led_empleados.empleado not in (
   select distinct empleado from led_empleado_locaciones)
   and clientes.estado_cliente='A'
  */


   select distinct led_empleados.empleado,led_locaciones.locacion,getdate() as vigencia_desde,1 as activo 
   from led_empleados inner join clientes on led_empleados.cliente = clientes.cliente
   inner join led_locaciones on led_empleados.cliente = led_locaciones.cliente
   inner join led_empleado_locaciones on led_empleados.cliente = led_locaciones.cliente
   where 
   /*
    led_empleados.empleado not in (
    select distinct empleado from led_empleado_locaciones)
    and 
    */

   clientes.estado_cliente='A'
    /* and clientes.cliente = 3915936
     and led_empleados.empleado=94965 */

   and led_locaciones.visible=1



   /*
    select distinct cliente,locacion from led_locaciones where locacion_default=1 and cliente = 1202246 order by cliente
   
    select * from led_empleados where empleado=88
    */



  Open SyncLocaciones

  Fetch NEXT FROM SyncLocaciones INTO @empleado,@locacion,@vigencia_desde,@activo

  While (@@FETCH_STATUS = 0)
  BEGIN


  BEGIN TRY
   insert into led_empleado_locaciones (empleado,locacion,vigencia_desde,activo,asignada,created)
   values (@empleado,@locacion,@vigencia_desde,@activo,getdate(),getdate())
  END TRY

  BEGIN CATCH

  SET @ERRORNUMBER = 1

  END CATCH

  Fetch NEXT FROM SyncLocaciones INTO @empleado,@locacion,@vigencia_desde,@activo

  END

  CLOSE SyncLocaciones
  DEALLOCATE SyncLocaciones
end

GO

Used By

No items found