« Back to History
saree_current_stock_report.php
|
20260723_000646.php
Initial Domain Snapshot
Copy Code
<?php require_once __DIR__ . '/modules/auth/page_acl.php'; $ctx = page_require_access('saree_current_stock_report'); $pdo = $ctx['pdo']; $company_id = (int)$ctx['company_id']; function h($s){ return htmlspecialchars((string)$s, ENT_QUOTES, 'UTF-8'); } // ================= FETCH CONSOLIDATED STOCK ================= // Note: Humne saree_out ke 'modeling' ko 'design' ke roop mein treat kiya hai // aur 'saree' column ko 'color' ke roop mein (agar aap wahan ID store kar rahe hain) $query = " SELECT q.quality_name, d.design_name, c.color_name, COALESCE(stk_in.total_in, 0) as total_in, COALESCE(stk_out.total_out, 0) as total_out, (COALESCE(stk_in.total_in, 0) - COALESCE(stk_out.total_out, 0)) as balance_qty FROM saree_quality_design_color c JOIN saree_quality q ON c.quality_id = q.id JOIN saree_quality_design d ON c.design_id = d.id LEFT JOIN ( SELECT quality, design, color, SUM(saree_qty) as total_in FROM saree_stock_in WHERE company_id = ? GROUP BY quality, design, color ) stk_in ON c.quality_id = stk_in.quality AND c.design_id = stk_in.design AND c.id = stk_in.color LEFT JOIN ( /* Yahan columns ko aapke saree_out schema se match kiya gaya hai */ SELECT quality, design, color, SUM(total_saree) as total_out FROM saree_out WHERE company_id = ? GROUP BY quality, design, color ) stk_out ON c.quality_id = stk_out.quality AND c.design_id = stk_out.design AND c.id = stk_out.color WHERE c.company_id = ? HAVING balance_qty <> 0 ORDER BY q.quality_name ASC, d.design_name ASC "; $stmt = $pdo->prepare($query); $stmt->execute([$company_id, $company_id, $company_id]); $stock_rows = $stmt->fetchAll(PDO::FETCH_ASSOC); require_once __DIR__ . '/partials/header.php'; ?> <div class="container-fluid mt-4"> <div class="card shadow-sm border-0"> <div class="card-header bg-white py-3"> <h5 class="mb-0 fw-bold text-primary">Saree Current Stock Report</h5> </div> <div class="card-body p-0"> <div class="table-responsive"> <table class="table table-hover align-middle mb-0"> <thead class="table-light"> <tr> <th class="ps-4">Quality</th> <th>Design</th> <th>Color</th> <th class="text-end">Total In</th> <th class="text-end">Total Out</th> <th class="text-end pe-4">Balance</th> </tr> </thead> <tbody> <?php $grand_total = 0; foreach($stock_rows as $row): $grand_total += $row['balance_qty']; ?> <tr> <td class="ps-4"><?= h($row['quality_name']) ?></td> <td><?= h($row['design_name']) ?></td> <td><?= h($row['color_name']) ?></td> <td class="text-end text-muted small"><?= number_format($row['total_in'], 2) ?></td> <td class="text-end text-muted small"><?= number_format($row['total_out'], 2) ?></td> <td class="text-end pe-4 fw-bold"><?= number_format($row['balance_qty'], 2) ?></td> </tr> <?php endforeach; ?> </tbody> <tfoot class="table-dark"> <tr> <td colspan="5" class="text-end fw-bold">Grand Total:</td> <td class="text-end pe-4 fw-bold"><?= number_format($grand_total, 2) ?> PCS</td> </tr> </tfoot> </table> </div> </div> </div> </div> <?php require_once __DIR__ . '/partials/footer.php'; ?>