Esempio n. 1
0
 protected function getPositions($processid)
 {
     $positionsDb = new Processes_Model_DbTable_Processpos();
     $positions = $positionsDb->fetchAll($positionsDb->select()->where('processid = ?', $processid)->order('ordering'));
     return $positions;
 }
Esempio n. 2
0
 protected function getPositions($processIDs)
 {
     $positions = array();
     if (!empty($processIDs)) {
         $positionsDb = new Processes_Model_DbTable_Processpos();
         $positionsObject = $positionsDb->fetchAll($positionsDb->select()->where('processid IN (?)', $processIDs)->order('ordering'));
         foreach ($positionsObject as $position) {
             if (!isset($previous[$position->processid])) {
                 $previous[$position->processid] = array();
                 $previous[$position->processid]['ordering'] = 0;
                 $previous[$position->processid]['quantity'] = 1;
                 $previous[$position->processid]['deliverystatus'] = '';
                 $previous[$position->processid]['deliverydate'] = '0000-00-00';
                 $previous[$position->processid]['supplierorderstatus'] = '';
             }
             if ($previous[$position->processid]['ordering'] && $previous[$position->processid]['deliverystatus'] == $position->deliverystatus && $previous[$position->processid]['deliverydate'] == $position->deliverydate && $previous[$position->processid]['supplierorderstatus'] == $position->supplierorderstatus) {
                 $positions[$position->processid][$position->ordering] = $positions[$position->processid][$previous[$position->processid]['ordering']];
                 $positions[$position->processid][$position->ordering]['quantity'] = $previous[$position->processid]['quantity'] + 1;
                 unset($positions[$position->processid][$previous[$position->processid]['ordering']]);
                 $previous[$position->processid]['ordering'] = $position->ordering ? $position->ordering : 0;
                 $previous[$position->processid]['quantity'] = $positions[$position->processid][$position->ordering]['quantity'];
                 $previous[$position->processid]['deliverystatus'] = $position->deliverystatus ? $position->deliverystatus : '';
                 $previous[$position->processid]['deliverydate'] = $position->deliverydate ? $position->deliverydate : '0000-00-00';
                 $previous[$position->processid]['supplierorderstatus'] = $position->supplierorderstatus ? $position->supplierorderstatus : '';
             } else {
                 $positions[$position->processid][$position->ordering]['deliverystatus'] = $position->deliverystatus;
                 if ($position->deliverydate != '0000-00-00') {
                     $positions[$position->processid][$position->ordering]['deliverydate'] = $position->deliverydate;
                 }
                 if ($position->itemtype == 'deliveryItem') {
                     $positions[$position->processid][$position->ordering]['supplierorderstatus'] = $position->supplierorderstatus;
                 }
                 $previous[$position->processid] = array();
                 $previous[$position->processid]['ordering'] = $position->ordering ? $position->ordering : 0;
                 $previous[$position->processid]['quantity'] = 1;
                 $previous[$position->processid]['deliverystatus'] = $position->deliverystatus ? $position->deliverystatus : '';
                 $previous[$position->processid]['deliverydate'] = $position->deliverydate ? $position->deliverydate : '0000-00-00';
                 $previous[$position->processid]['supplierorderstatus'] = $position->supplierorderstatus ? $position->supplierorderstatus : '';
             }
         }
     }
     return $positions;
 }