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
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