- Se implemento la tabla de bitacora de cambios.
- Se implemento el SP que inserta en la bitacora.
BEGIN
BEGIN TRY
SET NOCOUNT ON
SET XACT_ABORT ON
DECLARE @userid int
SET @userid = (SELECT [id] FROM [dbo].[Usuario] WHERE [nombre] = @inInsertedBy)
INSERT INTO [dbo].[BitacoraCambio] ([idEntityType], [entityID], [jsonAntes],[jsonDespues],[insertedAt],[insertedBy],[insertedIn])
SELECT @inIdEntityType, @inEntityID, @inJsonAntes,@inJsonDespues,getdate(),@userid,@inInsertedIn
END TRY
BEGIN CATCH
THROW 762839,'Error: No se ha podido guardar el cambio en la bitacora',1;
END CATCH
END
- Se modificaron los SP que insertar, actualizan y eliminan usuarios y propietarios
+ declare @jsonAntes varchar(500),@jsonDespues varchar(500), @idModified int
+--GUARDA EL JSON DEL ROW DE PROPIETARIO ANTES
SET @jsonAntes = (SELECT [id], [nombre], [valorDocId], [identificacion], [fechaDeIngreso]
FROM [dbo].[Propietario] WHERE [identificacion] = @inIdentificacionOriginal
FOR JSON PATH)
+--GUARDA EL JSON DEL ROW DE PROPIETARIO DESPUES
SET @jsonDespues = (SELECT [id], [nombre], [valorDocId], [identificacion], [fechaDeIngreso]
FROM [dbo].[Propietario] WHERE [identificacion] = @inIdentificacionOriginal
FOR JSON PATH)
--GUARDA EL ID
SET @idModified = (SELECT [id] FROM [dbo].[Propietario] WHERE [identificacion] = @inIdentificacionOriginal)
--INSERTA EL CAMBIO
EXEC [dbo].[SP_BitacoraCambioInsert] @inIdEntityType = 1,@inEntityID = @idModified, @inJsonAntes = @jsonAntes,
@inJsonDespues = @jsonDespues, @inInsertedBy = @inUsuarioACargo,
@inInsertedIn = @inIPusuario
- Se generan los json y se guardan como se muestra en el codigo anterior.
- Se implemento el begin tran con rollback como se muestra en el codigo anterior
- Se empezo a crear el trigger para guardar los cambios de la tabla propiedades pero no se como es posible ya que algunos datos los necesito como parametros y no se los puedo pasra al trigger.
Referencias:
UPDATE:
Se termino el trigger para guardar los cambios de la propiedad:
declare @jsonAntes varchar(500), @jsonDespues varchar(500), @idModified int
SET @idModified = (SELECT id FROM Inserted)
SET @jsonAntes = (SELECT [id], [valor], [direccion], [numFinca], [fechaDeIngreso],[M3acumuladosAgua],[M3AcumuladosUltimoRecibo]
FROM deleted
FOR JSON PATH)
SET @jsonDespues = (SELECT [id], [valor], [direccion], [numFinca], [fechaDeIngreso],[M3acumuladosAgua],[M3AcumuladosUltimoRecibo]
FROM inserted WHERE [activo] = 1
FOR JSON PATH)
EXEC [dbo].[SP_BitacoraCambioInsert] @inIdEntityType = 1,@inEntityID = @idModified, @inJsonAntes = @jsonAntes,
@inJsonDespues = @jsonDespues, @inInsertedBy = 'usuario1',
@inInsertedIn = 123
Se trabajo por 7 horas.
No hay comentarios:
Publicar un comentario