コード例 #1
0
 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;
 }
コード例 #2
0
 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);
     }
     /* >>> */
 }
コード例 #3
0
 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;
 }