/** * (non-PHPdoc) * @see CActiveRecord::afterFind() */ public function afterFind() { //Salva o valor antigo if ($this->valor != null) { $this->valor_antigo = $this->valor; } //Calcula os meses correntes $this->meses = Sipesq::difMeses($this->data_compra); //Calcula o valor comprometido $this->valor_comprometido = $this->valor * $this->quantidade; //Calcula o valor corrente $meses_correntes = $this->quantidade - $this->meses; if ($meses_correntes > 0) { //Ainda está ativo if ($this->meses > 0) { //evita que não calcule quanto está no mês atual $this->valor_corrente = $this->valor * $this->meses + $this->gasto_patrimonios; } else { if ($this->meses >= 0) { $this->valor_corrente = $this->valor + $this->gasto_patrimonios; } else { $this->valor_corrente = 0; } //despesa está no futuro. Nao calcula ainda. } } else { //Já expirou $this->valor_corrente = $this->valor * $this->quantidade; } parent::afterFind(); }