Exemplo n.º 1
0
 private static function _getLastPurchase(Product $product, $pageSize = self::PAGE_SIZE)
 {
     $totalReceivedQty = 0;
     $lastPurchaseTime = new UDate();
     $totalPages = ceil(ProductQtyLog::countByCriteria('productId = ? and active = 1', array($product->getId())) / $pageSize);
     if (self::DEBUG === true) {
         self::_logMsg('totalPages: ' . $totalPages, __CLASS__, __FUNCTION__);
     }
     for ($pageNumber = 1; $pageNumber <= $totalPages; $pageNumber++) {
         foreach (self::_getProductQtyLogs($product, $pageNumber, $pageSize) as $productQtyLog) {
             if (self::DEBUG === true) {
                 self::_logMsg('pageNumber: ' . $pageNumber, __CLASS__, __FUNCTION__);
                 self::_logMsg('pageSize: ' . $pageSize, __CLASS__, __FUNCTION__);
                 self::_logMsg('ProductQtyLogId: ' . $productQtyLog->getId(), __CLASS__, __FUNCTION__);
             }
             $totalReceivedQty += $productQtyLog->getStockOnHandVar();
             if ($totalReceivedQty >= $product->getStockOnHand()) {
                 return $productQtyLog;
             }
         }
     }
     return null;
 }