« Back to History
saree_out_report.php
|
20260721_154033.php
Initial Bulk Import
Copy Code
<?php require_once __DIR__ . '/modules/auth/page_acl.php'; $ctx = page_require_access('saree_out_report'); $pdo = $ctx['pdo']; $company_id = (int)$ctx['company_id']; function h($s){ return htmlspecialchars((string)$s, ENT_QUOTES, 'UTF-8'); } // ================= FILTERS ================= $start_date = $_GET['start_date'] ?? date('Y-m-01'); // Month start $end_date = $_GET['end_date'] ?? date('Y-m-d'); $party_filter = $_GET['party_name'] ?? ''; // ================= FETCH DATA ================= $query = " SELECT so.date, so.name as party_name, q.quality_name, d.design_name, c.color_name, so.total_saree, so.remark FROM saree_out so LEFT JOIN saree_quality q ON so.quality = q.id LEFT JOIN saree_quality_design d ON so.design = d.id LEFT JOIN saree_quality_design_color c ON so.color = c.id WHERE so.company_id = ? AND so.date BETWEEN ? AND ? "; $params = [$company_id, $start_date, $end_date]; if ($party_filter != '') { $query .= " AND so.name = ?"; $params[] = $party_filter; } $query .= " ORDER BY so.date DESC, so.id DESC"; $stmt = $pdo->prepare($query); $stmt->execute($params); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); // Parties for Filter Dropdown $party_stmt = $pdo->prepare("SELECT DISTINCT name FROM saree_out WHERE company_id = ? AND name IS NOT NULL"); $party_stmt->execute([$company_id]); $all_parties = $party_stmt->fetchAll(PDO::FETCH_ASSOC); require_once __DIR__ . '/partials/header.php'; ?> <div class="container-fluid mt-4"> <div class="card shadow-sm border-0 mb-4 no-print"> <div class="card-body"> <form method="GET" class="row g-3 align-items-end"> <div class="col-md-3"> <label class="form-label small fw-bold">From Date</label> <input type="date" name="start_date" class="form-control form-control-sm" value="<?= $start_date ?>"> </div> <div class="col-md-3"> <label class="form-label small fw-bold">To Date</label> <input type="date" name="end_date" class="form-control form-control-sm" value="<?= $end_date ?>"> </div> <div class="col-md-3"> <label class="form-label small fw-bold">Select Party</label> <select name="party_name" class="form-select form-select-sm"> <option value="">-- All Parties --</option> <?php foreach($all_parties as $p): ?> <option value="<?= h($p['name']) ?>" <?= $party_filter == $p['name'] ? 'selected' : '' ?>> <?= h($p['name']) ?> </option> <?php endforeach; ?> </select> </div> <div class="col-md-3"> <button type="submit" class="btn btn-primary btn-sm px-4">Filter</button> <a href="<?= $_SERVER['PHP_SELF'] ?>" class="btn btn-outline-secondary btn-sm">Reset</a> <button type="button" onclick="window.print()" class="btn btn-dark btn-sm">Print</button> </div> </form> </div> </div> <div class="card shadow-sm border-0"> <div class="card-header bg-white py-3"> <h5 class="mb-0 fw-bold text-dark"> <i class="bi bi-journal-text me-2"></i> Party-wise Saree Out 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-3">Date</th> <th>Party Name</th> <th>Quality</th> <th>Design</th> <th>Color</th> <th class="text-end">Out PCS</th> <th>Remark</th> </tr> </thead> <tbody> <?php $total_pcs = 0; if(empty($rows)): ?> <tr><td colspan="7" class="text-center py-4">Is period mein koi data nahi mila.</td></tr> <?php else: ?> <?php foreach($rows as $r): $total_pcs += $r['total_saree']; ?> <tr> <td class="ps-3"><?= date('d-m-Y', strtotime($r['date'])) ?></td> <td class="fw-bold text-primary"><?= h($r['party_name']) ?></td> <td><?= h($r['quality_name']) ?></td> <td><?= h($r['design_name']) ?></td> <td><span class="badge bg-light text-dark border"><?= h($r['color_name']) ?></span></td> <td class="text-end fw-bold"><?= number_format($r['total_saree'], 0) ?></td> <td class="small text-muted"><?= h($r['remark']) ?></td> </tr> <?php endforeach; ?> <?php endif; ?> </tbody> <tfoot class="table-dark"> <tr> <td colspan="5" class="text-end fw-bold">Total Dispatched PCS:</td> <td class="text-end fw-bold"><?= number_format($total_pcs, 0) ?></td> <td></td> </tr> </tfoot> </table> </div> </div> </div> </div> <style> @media print { .no-print, .sidebar, header, nav { display: none !important; } .card { border: none !important; } body { background: white !important; } } </style> <?php require_once __DIR__ . '/partials/footer.php'; ?>