Ejemplo n.º 1
0
 /**
  * Calcula o saldo que esta rubrica tem na vera passada
  * @param unknown $cod_verba
  */
 public function getSaldo($cod_verba)
 {
     $receita = ProjetoVerba::model()->findByPk($cod_verba);
     $gasto_rubrica = $receita->gastosComprometidos($this);
     $recebido = $gasto_rubrica + min($receita->saldo_comprometido, $receita->projeto->getOrcamentado($this->cod_rubrica) - $gasto_rubrica);
     $gasto_comprometido = $receita->gastosComprometidos($this);
     $saldo = $recebido - $gasto_comprometido;
     return $saldo;
 }
 /**
  * Deleta um desembolso
  * @param integer $id - identificador do desembolso
  */
 public function actionSetup()
 {
     $this->layout = false;
     $verbas = ProjetoVerba::model()->findAll();
     echo count($verbas) . " verbas encontradas<br>";
     foreach ($verbas as $k => $v) {
         echo "<br>" . ($k + 1) . " Setup verba " . $v->cod_verba;
         $pj = ProjetoVerbaRubrica::model()->find('cod_rubrica = :r AND cod_verba = :v', array('v' => $v->cod_verba, 'r' => $v->cod_rubrica));
         //vincula esta verba a uma rubrica caso nao tenha
         if ($pj === null) {
             $pj = new ProjetoVerbaRubrica();
             $pj->cod_rubrica = $v->cod_rubrica;
             $pj->cod_verba = $v->cod_verba;
             $pj->save();
             echo "<br> Vinculando verba " . $v->cod_verba . " a rubrica " . $v->cod_rubrica;
         } else {
             echo "<br> Verba ja contem rubrica vinculada";
         }
         //Adiciona um desembolso inicial caso nao tenha
         if (count($v->desembolsos) < 1) {
             $desembolso = new ProjetoDesembolso();
             $desembolso->cod_verba = $v->cod_verba;
             $desembolso->data = date('Y-m-d');
             $desembolso->valor = $v->valor;
             $desembolso->save();
             echo "<br>Desembolso Salvo " . $desembolso->valor;
         } else {
             echo "<br> Verba ja contem desembolso";
         }
         echo '<hr>';
     }
     //endforeach
 }
Ejemplo n.º 3
0
 public function validaSaldoRub($attribute, $params)
 {
     $receita = ProjetoVerba::model()->findByPk($this->cod_verba);
     $rubrica = Rubrica::model()->findByPk($this->cod_rubrica);
     $gasto_rubrica = $receita->gastosComprometidos($rubrica);
     $recebido = $gasto_rubrica + min($receita->saldo_comprometido, $receita->projeto->getOrcamentado($rubrica->cod_rubrica) - $gasto_rubrica);
     $gasto_comprometido = $receita->gastosComprometidos($rubrica);
     $saldo = $recebido - $gasto_comprometido;
     if ($this->valor * $this->quantidade - $this->valor_antigo > $saldo) {
         $message = "Você tentou adicionar uma despesa de R\$" . Yii::app()->format->number($this->valor * $this->quantidade);
         $message .= "<br> Saldo disponível: R\$" . Yii::app()->format->number($saldo);
         $message .= "<br> Rubrica: " . $rubrica->nome;
         $this->addError($attribute, $message);
     }
 }