Пример #1
0
 /**
  * (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();
 }