« Back to History
loom_quality_yarn_consumption.php
|
20260722_120325.php
Initial Domain Snapshot
Copy Code
<?php require_once __DIR__ . '/modules/auth/page_acl.php'; $ctx = page_require_access('loom_quality_yarn_consumption'); $company_id = (int)$ctx['company_id']; $pdo = $ctx['pdo']; if (!$pdo) require_once __DIR__ . '/core/db.php'; function h($s){ return htmlspecialchars((string)$s, ENT_QUOTES, 'UTF-8'); } /* Load qualities */ $q = $pdo->prepare(" SELECT id, name, short_name FROM loom_quality_data WHERE cid = ? ORDER BY name "); $q->execute([$company_id]); $qualities = $q->fetchAll(PDO::FETCH_ASSOC); $report = []; $total_gram = 0; $quality_name = ''; $meter = 0; /* Handle submit */ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $quality_id = (int)($_POST['quality_id'] ?? 0); $meter = (float)($_POST['total_meter'] ?? 0); if ($quality_id > 0 && $meter > 0) { /* Quality name */ $qn = $pdo->prepare("SELECT name FROM loom_quality_data WHERE id=? AND cid=?"); $qn->execute([$quality_id, $company_id]); $quality_name = $qn->fetchColumn(); /* Yarn formula */ $s = $pdo->prepare(" SELECT yarn_name, gram_per_meter FROM loom_quality_yarn_data WHERE cid = ? AND loom_quality_id = ? ORDER BY yarn_name "); $s->execute([$company_id, $quality_id]); while ($r = $s->fetch(PDO::FETCH_ASSOC)) { $consume = $meter * (float)$r['gram_per_meter']; $total_gram += $consume; $report[] = [ 'yarn' => $r['yarn_name'], 'gpm' => $r['gram_per_meter'], 'gram' => $consume, 'kg' => $consume / 1000 ]; } } } ?> <?php require_once __DIR__ . '/partials/header.php'; ?> <div class="container-fluid px-4 my-4"> <!-- ================= FORM CARD ================= --> <div class="card shadow-sm mb-4 no-print"> <div class="card-body"> <h4 class="mb-4 fw-semibold"> Loom Quality – Yarn Consumption </h4> <form method="post" class="row g-3"> <div class="col-md-4"> <label class="form-label">Quality</label> <select name="quality_id" class="form-select" required> <option value="">-- Select Quality --</option> <?php foreach ($qualities as $q): ?> <option value="<?= $q['id'] ?>" <?= ($q['id']==($_POST['quality_id']??''))?'selected':'' ?>> <?= h($q['name']) ?> (<?= h($q['short_name']) ?>) </option> <?php endforeach; ?> </select> </div> <div class="col-md-4"> <label class="form-label">Total Meter</label> <input type="number" step="0.01" name="total_meter" class="form-control" value="<?= h($_POST['total_meter'] ?? '') ?>" required> </div> <div class="col-md-4 d-flex align-items-end"> <button class="btn btn-primary w-100"> Calculate </button> </div> </form> </div> </div> <?php if ($report): ?> <!-- ================= REPORT CARD ================= --> <div class="card shadow-sm" id="printArea"> <div class="card-body"> <div class="d-flex justify-content-between align-items-center mb-3"> <h4 class="fw-semibold mb-0"> Yarn Consumption Report </h4> <button onclick="window.print()" class="btn btn-success btn-sm no-print"> Print / Export PDF </button> </div> <div class="mb-3"> <div><strong>Quality:</strong> <?= h($quality_name) ?></div> <div><strong>Total Meter:</strong> <?= h($meter) ?></div> </div> <div class="table-responsive"> <table class="table table-bordered table-striped align-middle"> <thead class="table-light"> <tr> <th>Yarn</th> <th class="text-end">Gram / Meter</th> <th class="text-end">Total Gram</th> <th class="text-end">Total Kg</th> </tr> </thead> <tbody> <?php foreach ($report as $r): ?> <tr> <td><?= h($r['yarn']) ?></td> <td class="text-end"><?= number_format($r['gpm'],3) ?></td> <td class="text-end"><?= number_format($r['gram'],3) ?></td> <td class="text-end"><?= number_format($r['kg'],3) ?></td> </tr> <?php endforeach; ?> </tbody> <tfoot class="table-light fw-bold"> <tr> <td colspan="2">TOTAL</td> <td class="text-end"><?= number_format($total_gram,3) ?></td> <td class="text-end"><?= number_format($total_gram/1000,3) ?></td> </tr> </tfoot> </table> </div> </div> </div> <?php endif; ?> </div> <?php require_once __DIR__ . '/partials/footer.php'; ?>