Exemple #1
0
 public function afterSave()
 {
     $oProduto = Produto::model()->findByPk($this->produto_id);
     $oProduto->scenario = 'alteracaoCompra';
     if ($this->isNewRecord) {
         $oProduto->quantidade = $oProduto->quantidade + $this->quantidade;
         $oProduto->save();
         $oFinanceiro = new Financeiro();
         $oFinanceiro->salvar(2, $this);
     } else {
         //            $oProduto->quantidade = $oProduto->quantidade - $this->quantidade;
         //            $oProduto->save();
         //            if ($this->qntAntigaTmp != $this->quantidade) {
         //                if ($this->qntAntigaTmp < $this->quantidade) {
         //                    $diffQuantidade = $this->quantidade - $this->qntAntigaTmp;
         //                    $oProduto->quantidade = $oProduto->quantidade + $diffQuantidade;
         //                } else {
         //                    $diffQuantidade = $this->qntAntigaTmp - $this->quantidade;
         //                    $oProduto->quantidade = $oProduto->quantidade - $diffQuantidade;
         //                }
         //                $oProduto->save();
         //            }
     }
     return parent::afterSave();
 }
Exemple #2
0
 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();
 }
Exemple #3
0
 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();
 }