USE [dbslogVilla] GO /****** Object: StoredProcedure [dbo].[paWcfSeInsLogTraEspSys] Script Date: 14/02/2025 9:49:27 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: Joe Alexander Núñez Yaguna -- Create date(dd/MM/yyyy): 26/10/2016 -- Description: Guardar LogTraEspSys -- ============================================= ALTER PROCEDURE [dbo].[paWcfSeInsLogTraEspSys] @LogTraEspSys dataTypeLogTraEspSys READONLY, --Tipo de dato definido por el usuario que representa la tabla LogTraEspSys @LogTraEspTarifas dataTypeLogTraEspTarifas READONLY, --Tipo de dato definido por el usuario que representa la tabla LogTraEspTarifas @operacion varchar(1) AS BEGIN TRAN BEGIN TRY DECLARE @num INT SELECT @num = Count(*) FROM LogTraEspSys WHERE TipDoc = (SELECT TOP 1 TipDoc FROM @LogTraEspSys) AND Documento = (SELECT TOP 1 Documento FROM @LogTraEspSys) AND IdCia = (SELECT TOP 1 IdCia FROM @LogTraEspSys) IF(@operacion = 'i') BEGIN INSERT INTO LogTraEspSys( IdLog,TipDoc,Documento,IdCia,Fecha,TimeSys,IdUsuario,Nombre,Observacion,IdTercero, IdVehiculo,EsCom,Eliminado,Modificado,nModulo,Dsname ) SELECT (@num + IdLog),TipDoc,Documento,IdCia,Fecha,TimeSys,IdUsuario,Nombre,Observacion,IdTercero, IdVehiculo,EsCom,Eliminado,Modificado,nModulo,Dsname FROM @LogTraEspSys IF(EXISTS(SELECT TOP 1 * FROM @LogTraEspTarifas)) BEGIN IF EXISTS(SELECT 1 FROM LogTraEspTarifas LTESP INNER JOIN @LogTraEspTarifas AS LT ON LT.TipDoc = LTESP.TipDoc AND LT.Numero = LTESP.Numero AND LT.IdCia = LTESP.IdCia AND LT.Item = LTESP.Item) BEGIN UPDATE LTESP SET LTESP.Fecha = LT.Fecha, LTESP.CdCarga = LT.CdCarga, LTESP.DescripCarga = LT.DescripCarga, LTESP.Cantidad = LT.Cantidad, LTESP.PesoNeto = LT.PesoNeto, LTESP.TarifClie = LT.TarifClie, LTESP.TarifPago = LT.TarifPago, LTESP.VrTotal = LT.VrTotal, LTESP.IdUsuario = LT.IdUsuario, LTESP.Nombre = LT.Nombre FROM LogTraEspTarifas AS LTESP INNER JOIN @LogTraEspTarifas AS LT ON LT.TipDoc = LTESP.TipDoc AND LT.Numero = LTESP.Numero AND LT.IdCia = LTESP.IdCia AND LT.Item = LTESP.Item END INSERT INTO LogTraEspTarifas( TipDoc,Numero,IdCia,Item,Fecha,CdCarga,DescripCarga,Cantidad,PesoNeto,TarifClie,TarifPago, VrTotal,IdUsuario,Nombre ) SELECT TipDoc,Numero,IdCia,Item,Fecha,CdCarga,DescripCarga,Cantidad,PesoNeto,TarifClie,TarifPago, VrTotal,IdUsuario,Nombre FROM @LogTraEspTarifas LT WHERE NOT EXISTS ( SELECT 1 FROM LogTraEspTarifas LTESP WHERE LT.TipDoc = LTESP.TipDoc AND LT.Numero = LTESP.Numero AND LT.IdCia = LTESP.IdCia AND LT.Item = LTESP.Item); END END select '1' COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN DECLARE @ErrorMessage NVARCHAR(4000); DECLARE @ErrorSeverity INT; DECLARE @ErrorState INT; SELECT @ErrorMessage = ERROR_MESSAGE(), @ErrorSeverity = ERROR_SEVERITY(), @ErrorState = ERROR_STATE(); RAISERROR ( @ErrorMessage, -- Message text. @ErrorSeverity, -- Severity. @ErrorState -- State. ); END CATCH RETURN 0