« Back to History
loom_options.php
|
20260721_154032.php
Initial Bulk Import
Copy Code
<?php /* /erp/api/loom_options.php Returns machine list and karigars for a khata (and optional machine filter) Scoped by session company_id (multi-company safe) */ error_reporting(E_ALL); ini_set('display_errors',1); require __DIR__ . '/../modules/auth/auth.php'; require_login(); $u = auth_user(); $company_id = (int)$u['company_id']; /* Input */ $khata_code = isset($_GET['khata']) ? trim($_GET['khata']) : ''; $machine_no = isset($_GET['machine']) ? (int)$_GET['machine'] : null; if ($khata_code === '') { http_response_code(400); exit('Missing khata'); } /* PDO from auth.php as $pdo */ $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); /* 1) Find khata row */ $stmt = $pdo->prepare("SELECT id, machine_from, machine_to FROM khatas WHERE company_id = ? AND code = ? AND is_active = 1 LIMIT 1"); $stmt->execute([$company_id, $khata_code]); $khata = $stmt->fetch(PDO::FETCH_ASSOC); if (!$khata) { http_response_code(404); exit('Khata not found'); } $from = (int)$khata['machine_from']; $to = (int)$khata['machine_to']; /* 2) Build machine list based on khata range */ $machines = []; for ($i = $from; $i <= $to; $i++) $machines[] = $i; /* 3) Karigar list for this khata (optionally filter by machine) */ $sql = "SELECT id, karigar_name, CONCAT(karigar_name, CASE WHEN machine_from IS NOT NULL THEN CONCAT(' ', machine_from, '-', machine_to) ELSE '' END ) AS label FROM loom_karigar_master WHERE company_id = :cid AND khata_id = :khid AND is_active = 1"; $params = [':cid'=>$company_id, ':khid'=>$khata['id']]; if (!empty($machine_no)) { // Show only those karigars whose range covers this machine $sql .= " AND (:m BETWEEN IFNULL(machine_from, :m) AND IFNULL(machine_to, :m))"; $params[':m'] = $machine_no; } $sql .= " ORDER BY machine_from IS NULL, machine_from, karigar_name"; $st2 = $pdo->prepare($sql); $st2->execute($params); $karigars = []; while ($r = $st2->fetch(PDO::FETCH_ASSOC)) { $karigars[] = ['id'=>(int)$r['id'], 'name'=>$r['label']]; } /* 4) Respond JSON */ header('Content-Type: application/json; charset=utf-8'); echo json_encode([ 'khata' => ['id'=>(int)$khata['id'], 'from'=>$from, 'to'=>$to], 'machines' => $machines, 'karigars' => $karigars ], JSON_UNESCAPED_UNICODE);