45 lines
1.5 KiB
PHP
45 lines
1.5 KiB
PHP
<?php
|
|
session_start();
|
|
require '../../../assets/utils/db_auth.php';
|
|
require '../../../assets/utils/classes/Reports.php';
|
|
|
|
$report = new Reports($pdo2, $company_id);
|
|
|
|
// Stats
|
|
$total = $report->getTotalCapacity();
|
|
$occupied = $report->getSpaceUsed();
|
|
$empty = $total - $occupied;
|
|
|
|
// All racks with warehouse name, product info and stock info
|
|
$sql = "SELECT
|
|
r.id,
|
|
r.zone,
|
|
r.aisle,
|
|
r.rack,
|
|
r.product_sku,
|
|
r.td_stock_id,
|
|
mw.warehouse_name,
|
|
mw.id AS warehouse_id,
|
|
p.product_name,
|
|
CASE WHEN r.product_sku IS NOT NULL THEN 'occupied' ELSE 'empty' END AS status
|
|
FROM md_rack r
|
|
INNER JOIN md_warehouse mw
|
|
ON mw.company_id = r.company_id
|
|
AND mw.id = r.warehouse
|
|
LEFT JOIN md_product p
|
|
ON p.company_id = r.company_id
|
|
AND p.sku = r.product_sku
|
|
WHERE r.company_id = :company_id
|
|
ORDER BY mw.warehouse_name, r.zone, CAST(r.aisle AS UNSIGNED), r.aisle, CAST(r.rack AS UNSIGNED), r.rack";
|
|
|
|
$sth = $pdo2->prepare($sql);
|
|
$sth->execute([':company_id' => $company_id]);
|
|
db_check($sth, $answer);
|
|
|
|
$answer['output'] = $sth->fetchAll(PDO::FETCH_ASSOC);
|
|
$answer['total'] = $total;
|
|
$answer['occupied'] = $occupied;
|
|
$answer['empty'] = $empty;
|
|
$answer['success'] = 1;
|
|
exit(json_encode($answer));
|
|
?>
|