Exemplo n.º 1
0
$locIds = array();
foreach ($locations as $location) {
    $locNames[] = $location->label;
    $locIds[] = $location->id;
}
$prdCat = array();
$levels = array();
if ($countedStock !== null) {
    // Build listing by categories
    foreach ($products as $product) {
        if ($product->categoryId !== \Pasteque\CompositionsService::CAT_ID) {
            $prdCat[$product->categoryId][] = $product;
        }
    }
    // Get stock to compare with counted stock
    $rawLevels = \Pasteque\StocksService::getLevels($locationId);
    foreach ($rawLevels as $level) {
        $levels[$level->productId] = $level;
    }
}
?>
<h1><?php 
\pi18n("Stock check", PLUGIN_NAME);
?>
</h1>

<?php 
\Pasteque\tpl_msg_box($message, $error);
?>

<?php 
Exemplo n.º 2
0
$currLocation = null;
if (isset($_POST['location'])) {
    $currLocation = $_POST['location'];
} else {
    $currLocation = $locations[0]->id;
}
$products = \Pasteque\ProductsService::getAll(true);
$categories = \Pasteque\CategoriesService::getAll();
$prdCat = array();
// Link products to categories and don't track compositions
foreach ($products as $product) {
    if ($product->categoryId !== \Pasteque\CompositionsService::CAT_ID) {
        $prdCat[$product->categoryId][] = $product;
    }
}
$levels = \Pasteque\StocksService::getLevels($currLocation);
$prdLevel = array();
foreach ($levels as $level) {
    $prdLevel[$level->productId] = $level;
}
?>
<h1><?php 
\pi18n("Inventory", PLUGIN_NAME);
?>
</h1>

<?php 
if ($multilocations) {
    // Location picker
    ?>
<form class="edit" action="<?php 
Exemplo n.º 3
0
 public function __construct($report, $values)
 {
     $this->data = array();
     $this->i = 0;
     $countedStock = array();
     if (!isset($values['location'])) {
         $locSrv = new \Pasteque\LocationsService();
         $locations = $locSrv->getAll();
         $defaultLocationId = $locations[0]->id;
         $values['location'] = $defaultLocationId;
     }
     foreach ($values as $key => $value) {
         if (strpos($key, "qty-") === 0) {
             $productId = substr($key, 4);
             $qty = $value;
             $countedStock[$productId] = $qty;
         }
     }
     $categories = \Pasteque\CategoriesService::getAll();
     $products = \Pasteque\ProductsService::getAll(TRUE);
     $prdCat = array();
     // Build listing by categories
     foreach ($products as $product) {
         if ($product->categoryId !== \Pasteque\CompositionsService::CAT_ID) {
             $prdCat[$product->categoryId][] = $product;
         }
     }
     // Get stock to compare with counted stock
     $levels = array();
     $rawLevels = \Pasteque\StocksService::getLevels($values['location']);
     foreach ($rawLevels as $level) {
         $levels[$level->productId] = $level;
     }
     foreach ($categories as $category) {
         if (isset($prdCat[$category->id])) {
             foreach ($prdCat[$category->id] as $product) {
                 $counted = 0;
                 if (isset($countedStock[$product->id])) {
                     $counted = $countedStock[$product->id];
                 }
                 $actual = 0;
                 if (isset($levels[$product->id])) {
                     $actual = $levels[$product->id]->qty;
                 }
                 if ($counted !== $actual) {
                     $this->data[] = array("ref" => $product->reference, "counted" => $counted, "actual" => $actual, "diff" => $counted - $actual);
                 }
             }
         }
     }
 }