beforeDelete()
31/10/2012 15:00
package teste
//Importa as requisições das variáveis de sessão do sistema para uso da classe
import org.springframework.web.context.request.RequestContextHolder
class Sala {
//Definições dos campos
Integer id
String sala
//Log do registro
String user_inc
Date dt_inclusao
String user_edt
Date dt_edicao
String user_del
Date dt_delete
//Validações dos campos e organização da ordem de exibição
static constraints = {
id()
sala(blank:false, nullable:false, maxSize:30, unique:true, )
turmas(blank:true, nullable:true)
//Logo do registro
user_inc (blank:true, nullable:true)
dt_inclusao (blank:true, nullable:true)
user_edt (blank:true, nullable:true)
dt_edicao (blank:true, nullable:true)
user_del (blank:true, nullable:true)
dt_delete (blank:true, nullable:true)
}
//Organiza os campos por ID do BD
static mapping = {
sort "id"
batchSize 20
}
//Formata o campo sala para as demais classes
String toString() {
return "${sala}"
}
//Log depois insert
def beforeInsert() {
//Define a variavel session para buscar o conteúdo de uma variavel de sessão externa
def session = RequestContextHolder.currentRequestAttributes().getSession()
user_inc = session.user
dt_inclusao = new Date()
}
//Log depois Update
def beforeUpdate() {
//Define a variavel session para buscar o conteúdo de uma variavel de sessão externa
def session = RequestContextHolder.currentRequestAttributes().getSession()
user_edt = session.user
dt_edicao = new Date()
}
//Log depois Delete
def beforeDelete() {
//Define a variavel session para buscar o conteúdo de uma variavel de sessão externa
def session = RequestContextHolder.currentRequestAttributes().getSession()
user_del = session.user
dt_delete = new Date()
}
DROP TABLE IF EXISTS GAIA.LOG_SALA;
CREATE TABLE GAIA.LOG_SALA (
`ID` INTEGER NOT NULL AUTO_INCREMENT,
`NEW_ID` int(11),
`USUARIO` varchar(30),
`DATA` DATETIME,
`TIPO` int(1),
`NEW_SALA` varchar(30),
`OLD_SALA` varchar(30),
PRIMARY KEY (`id`)
)
ENGINE=InnoDB;
DROP TRIGGER IF EXISTS TRG_LOG_DEL_SALA;
delimiter $$
CREATE TRIGGER TRG_LOG_DEL_SALA
AFTER DELETE ON BANCO.SALA
FOR EACH ROW
BEGIN
DECLARE NEW_ID int(11);
DECLARE USUARIO VARCHAR(30);
DECLARE DATA DATETIME;
DECLARE TIPO INT(1);
DECLARE OLD_SALA VARCHAR(30);
SET NEW_ID = old.id;
SET USUARIO = old.user_del;
SET DATA = old.dt_delete;
SET TIPO = 2;
SET OLD_SALA = old.sala;
INSERT INTO BANCO.LOG_SALA (NEW_ID, USUARIO, DATA, TIPO, OLD_SALA) VALUES (NEW_ID, USUARIO, DATA, TIPO, OLD_SALA);
END$$
delimiter ;
def beforeDelete() {
//Define a variavel session para buscar o conteúdo de uma variavel de sessão externa
def session = RequestContextHolder.currentRequestAttributes().getSession()
Sala.withNewSession {
user_del = session.user
dt_delete = new Date()
}
}
def beforeDelete() {
Sala.withNewSession {
//Define a variavel session para buscar o conteúdo de uma variavel de sessão externa
def session = RequestContextHolder.currentRequestAttributes().getSession()
user_del = session.user
dt_delete = new Date()
this.save(flush:true)
print user_del
print dt_delete
}
}
Para se registrar, clique aqui.