コード例 #1
0
 public function saveAction()
 {
     $columns = $this->_model->info(Zend_Db_Table_Abstract::COLS);
     $array = array();
     $this->_model->getAdapter()->beginTransaction();
     $message = '';
     // Declaração dos Render() do Zend para a Validação do Formulário
     $formRenders = array($this->_form->addElementsForm(), $this->_form->addElementsExistantStock(), $this->_form->addElementsStockControl());
     // Função que valida os Campos do Formulario com multiplos Render()
     parent::validateMultipleForm($formRenders);
     // <-----
     try {
         foreach ($this->_values as $id => $value) {
             if (isset($value) && $value != '' && in_array($id, $columns)) {
                 $array[$id] = addslashes($value);
             }
         }
         if ($this->_values['cdsupply'] != null) {
             $array['fgsupplycontrol'] = 1;
             if ($this->_values['cdsupplycentre'] != null && $this->_values['cdsupplier'] != null) {
                 date_default_timezone_set('UTC');
                 $supplystockModel = new SupplystockModel();
                 $arraySupplyStock = array();
                 $arraySupplyStock['cdsupply'] = $this->_values['cdsupply'];
                 $arraySupplyStock['cdsupplycentre'] = $this->_values['cdsupplycentre'];
                 $arraySupplyStock['cdsupplier'] = $this->_values['cdsupplier'];
                 $dtcheckin = date("Y-m-d") . " " . date("H:i");
                 $arraySupplyStock['dtcheckin'] = $dtcheckin;
                 if ($this->_values['vlsupplyunit'] != null) {
                     $vlunitprice = $this->_values['vlsupplyunit'];
                     $vlsupplytoDB = str_replace(" ", "", $vlunitprice);
                     $vlsupplytoDB = str_replace(",", ".", $vlsupplytoDB);
                     $vlsupplytoDB = str_replace("R\$", "", $vlsupplytoDB);
                     $arraySupplyStock['vlunitprice'] = $vlsupplytoDB;
                 }
                 if ($this->_values['nrsupplyquantity'] != null) {
                     $supplyModel = new SupplyModel();
                     $arraySupplyStock['qtquantity'] = $this->_values['nrsupplyquantity'];
                     $arraySupplyStock['qtsupplybalance'] = $this->_values['nrsupplyquantity'];
                     $qtdebalance = $supplyModel->fetchRow("cdsupply = " . $this->_values['cdsupply']);
                     $supplyModel->update(array("qtbalance" => $qtdebalance['qtbalance'] + $arraySupplyStock['qtsupplybalance']), "cdsupply = " . $this->_values['cdsupply']);
                 }
                 $supplystockModel->insert($arraySupplyStock);
             }
         } else {
             $array['fgsupplycontrol'] = 2;
         }
         $this->_model->insert($array);
         $message = "Cadastro realizado com sucesso.";
         $this->_model->getAdapter()->commit();
     } catch (Exception $e) {
         $this->_model->getAdapter()->rollBack();
         $message = '';
         $message = "Erro na operação.";
         $message = $e->getMessage();
     }
     $this->view->message = $message;
 }