public function afterSave() { if ($this->isNewRecord && !$this->especial) { $oFinanceiro = new Financeiro(); $oFinanceiro->salvar(3, $this); } else { if ($this->excluido == 1 && !$this->especial) { $oFinanceiro = Financeiro::model()->findByAttributes(array('tipo_item' => 3, 'tipo_item_id' => $this->id)); // $oFinanceiro->scenario = 'cancelar'; $oFinanceiro->salvar(3, $this, null, 1); } } parent::afterSave(); }
public function afterSave() { if ($this->status == self::FECHADA && $this->isNewRecord) { $oFinanceiro = new Financeiro(); $oFinanceiro->salvar(1, $this->ordemServico, $this->usuario->nome); foreach ($this->ordemServico->ordemServicoItens as $item) { if ($item->tipo_item_id == OrdemServicoItem::PRODUTO) { $oLogRetiradaProduto = new LogRetiradaProduto(); $oLogRetiradaProduto->produto_id = $item->item_id; $oLogRetiradaProduto->quantidade = 1; $oLogRetiradaProduto->observacao = 'Ordem de Serviço: ' . $this->ordem_servico_id; $oLogRetiradaProduto->data_hora = date("Y-m-d H:i:s"); $oLogRetiradaProduto->usuario_id = Yii::app()->user->getId(); $oLogRetiradaProduto->ordem_servico_id = $this->ordem_servico_id; if (!$oLogRetiradaProduto->save()) { die(var_dump($oLogRetiradaProduto->getErrors())); } if ($item->item_id != 0) { $oProduto = Produto::model()->findByPk($item->item_id); $oProduto->decrementarQuantidade(); } } } } else { if ($this->status == self::CANCELADA) { $oFinanceiro = Financeiro::model()->findByAttributes(array('tipo_item' => Financeiro::ORDEM_SERVICO, 'tipo_item_id' => $this->ordem_servico_id)); $oFinanceiro->salvar(Financeiro::ORDEM_SERVICO, $this->ordemServico, $this->usuario->nome, 1); foreach ($this->ordemServico->ordemServicoItens as $item) { if ($item->tipo_item_id == OrdemServicoItem::PRODUTO) { $oLogRetiradaProduto = LogRetiradaProduto::model()->findByAttributes(array('ordem_servico_id' => $this->ordem_servico_id, 'produto_id' => $item->item_id)); $oLogRetiradaProduto->excluido = true; if (!$oLogRetiradaProduto->save()) { die(var_dump($oLogRetiradaProduto->getErrors())); } $oProduto = Produto::model()->findByPk($item->item_id); $oProduto->incrementarQuantidade(); } } } } parent::afterSave(); }
public function beforeSave() { $this->usuario_id = Yii::app()->user->getId(); if ($this->isNewRecord) { $this->data_hora = date('Y-m-d H:i:s'); } else { if ($this->excluido == 1) { $oProduto = Produto::model()->findByPk($this->produto_id); $oProduto->scenario = 'alteracaoCompra'; $this->qntAntigaTmp = self::model()->findByPk($this->id)->quantidade; if ($this->quantidade <= $oProduto->quantidade) { $oProduto->quantidade = $oProduto->quantidade - $this->quantidade; $oProduto->save(); $oFinanceiro = Financeiro::model()->findByAttributes(array('tipo_item' => 2, 'tipo_item_id' => $this->id)); $oFinanceiro->salvar(2, $this, null, 1); } else { $this->addError('quantidade', 'Esta compra não pode mais ser cancelada, os produtos não estão mais disponíveis!'); return false; } } } return parent::beforeSave(); }
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer $id the ID of the model to be loaded * @return Financeiro the loaded model * @throws CHttpException */ public function loadModel($id) { $model = Financeiro::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }