one-to-many:Como atualizar classe do lado one?
08/02/2010 00:00
class RequisicaoDespesa {
int numeroRequisicao;
Date dataRequisicao;
double custoEstimado;
double custoFinal;
String descricaoDetalhada;
String justificativa;
String observacoes;
String toString(){
return this.numeroRequisicao + " de " + this.dataRequisicao.format("dd/MM/yyyy");
}
static hasMany = [itens:RequisicaoDespesaItem];
}
class RequisicaoDespesaItem {
RequisicaoDespesa requisicaoDespesa;
String descricao;
double quantidade=0.00;
String unidade="";
Date prazoRealizacao;
double custoEstimado=0.00;
double custoFinal=0.00;
String toString() {
return this.descricao;
}
}
class RequisicaoDespesaItem {
RequisicaoDespesa requisicaoDespesa;
String descricao;
double quantidade=0.00;
String unidade="";
Date prazoRealizacao;
double custoEstimado=0.00;
double custoFinal=0.00;
[b]....[/b]
/*
* ATUALIZAÇÃO DOS TOTALIZADORES NA Requisicao
*/
private double dOriginalCustoEstimado = 0.00;
private double dOriginalCustoFinal = 0.00;
def afterLoad = {
dOriginalCustoEstimado = this.custoEstimado;
dOriginalCustoFinal = this.custoFinal;
}
def afterUpdate = {
requisicaoDespesa.custoEstimado = (requisicaoDespesa.custoEstimado - dOriginalCustoEstimado) + this.custoEstimado;
requisicaoDespesa.custoFinal = (requisicaoDespesa.custoFinal - dOriginalCustoFinal) + this.custoFinal;
requisicaoDespesa.save();
}
def afterInsert = {
requisicaoDespesa.custoEstimado += this.custoEstimado;
requisicaoDespesa.custoFinal += this.custoFinal;
requisicaoDespesa.save();
}
def afterDelete = {
requisicaoDespesa.custoEstimado -= this.custoEstimado;
requisicaoDespesa.custoFinal -= this.custoFinal;
requisicaoDespesa.save();
}
}
class RequisicaoDespesa {
int numeroRequisicao;
Usuario requisitante;
DotacaoOrcamentaria dotacaoOrcamentaria;
Date dataRequisicao;
double custoEstimado;
double custoFinal;
String descricaoResumida;
String descricaoDetalhada;
String justificativa;
String observacoes;
String toString(){
return this.numeroRequisicao + " de " + this.dataRequisicao?.format("dd/MM/yyyy") + " : " + this.descricaoResumida?.toString();
}
static belongsTo = DotacaoOrcamentaria;
static hasMany = [itens:RequisicaoDespesaItem];
static mapping = {
[b]...[/b]
}
static constraints = {
[b]...[/b]
}
}
Para se registrar, clique aqui.