public function dadosAction() { $supplyStockModel = new SupplystockModel(); $values = $this->_request->getParams(); $dateInitialDate = new Zend_Date($values["initialDate"], 'dd-MM-YYYY HH:mm:ss'); $values["initialDate"] = $dateInitialDate->toString('YYYY-MM-dd HH:mm:ss'); $dateFinalDate = new Zend_Date($values["finalDate"], 'dd-MM-YYYY HH:mm:ss'); $values["finalDate"] = $dateFinalDate->toString('YYYY-MM-dd HH:mm:ss'); $supplyFlowData = $supplyStockModel->fetchAll($supplyStockModel->getAllMovimentationSupply($values)); $this->_helper->layout->disableLayout(); $page = $this->_request->getParam("page", 1); $responce = new stdClass(); $responce->page = $page; $responce->total = 10; $responce->records = 100; $i = 0; foreach ($supplyFlowData as $row) { $nameDestination = ''; $nameHorigem = ''; $destinationData = $supplyStockModel->fetchRow($supplyStockModel->getByNameCentre($row->cdsupplycentreto)); $horigemData = $supplyStockModel->fetchRow($supplyStockModel->getByNameCentre($row->cdsupplycentrefrom)); $nameDestination = $destinationData->idsupplycentre; $nameHorigem = $horigemData->idsupplycentre; if ($nameDestination == '0') { $destinationData = "Externo"; } $responce->rows[$i]['cell'] = array($nameHorigem, $nameDestination, $row->nmsupply, $row->qtquantity, $row->dtcheckin, $row->dtcheckout); $i++; } $this->view->dados = $responce; }
public function balanceSupplyStock($cdsupplycentrefrom, $cdsupplycentreto, $cdsupply, $qtquantity) { $supplystock = new SupplystockModel(); /* >>> Update centro de saída * Busca na tabela supplyStock o registro por centro e item/supply(getCdsupplystockFirstDtcheckin) por menor data de entrada. */ $supplystockDataFrom = $supplystock->fetchRow($supplystock->getCdsupplystockFirstDtcheckin($cdsupplycentrefrom, $cdsupply)); $cdsupplystock = $supplystockDataFrom->cdsupplystock; $supplystockDataFrom->qtsupplybalance = $supplystockDataFrom->qtsupplybalance - $qtquantity; $supplystock->update($supplystockDataFrom->toArray(), "cdsupplystock = " . $cdsupplystock); /* <<< */ /* >>> Update/Insert centro de entrada */ /* Busca na tabela supplyStock o registro por centro, item/supply e nota fiscal. * Condição da cláusula where(getCdsupplystockByIdinvoice): busca nota fiscal do item do centro de saída igual a nota fiscal do centro de entrada. * Se satisfeita a condição é feito update senão, é feito insert. * * Agora, pega essa gambi: */ $supplystockDataTo = $supplystock->fetchRow($supplystock->getCdsupplystockByIdinvoice($cdsupplycentreto, $cdsupply, $supplystockDataFrom->idinvoice)); if (sizeof($supplystockDataTo) > 0) { /* * *UPDATE** */ $cdsupplystock = $supplystockDataTo->cdsupplystock; $supplystockDataTo->qtsupplybalance = $supplystockDataTo->qtsupplybalance + $qtquantity; $supplystock->update($supplystockDataTo->toArray(), "cdsupplystock = " . $cdsupplystock); } else { /* * *INSERT** */ $cdsupplier = $supplystockDataFrom->cdsupplier; $vlunitprice = $supplystockDataFrom->vlunitprice; $dtexpire = $supplystockDataFrom->dtexpire; $idinvoice = $supplystockDataFrom->idinvoice; $dtcheckin = new Zend_Date(null, 'dd-MM-YYYY HH:mm:ss'); $dtcheckin = $dtcheckin->toString('YYYY-MM-dd HH:mm:ss'); $supplystockDataTo = array("cdsupplycentre" => $cdsupplycentreto, "cdsupply" => $cdsupply, "cdsupplier" => $cdsupplier, "qtquantity" => "0", "qtsupplybalance" => $qtquantity, "vlunitprice" => $vlunitprice, "dtexpire" => $dtexpire, "dtcheckin" => $dtcheckin, "idinvoice" => $idinvoice); $supplystock->insert($supplystockDataTo); } /* >>> */ }
public function checkquantitystockAction() { $values = $this->_request->getParams(); $values['qtquantity'] = str_replace(',', '.', $values['qtquantity']); $supplystockModel = new SupplystockModel(); $qtsupplybalance = $supplystockModel->fetchRow($supplystockModel->getQtsupplybalanceByCdsupplyCdsupplycentre($values['cdsupply'], $values['cdsupplycentre'])); if ($values['qtquantity'] > $qtsupplybalance['qtsupplybalance']) { if (number_format($qtsupplybalance['qtsupplybalance']) == 0) { $resultsupplystock['idreturn'] = 2; } else { $resultsupplystock['idreturn'] = 1; $resultsupplystock['qtsupplybalance'] = number_format($qtsupplybalance['qtsupplybalance'], 2, ',', '.'); } } else { $resultsupplystock['idreturn'] = 0; } $this->view->resultsupplystock = $resultsupplystock; }