« Back to History
yarn_stock_flexible_helper.php
|
20260722_120325.php
Initial Domain Snapshot
Copy Code
<?php // helpers/yarn_stock_flexible_helper.php function get_current_stock_flexible($pdo, $cid, array $f) { $den = trim($f['denier'] ?? ''); $col = trim($f['color'] ?? ''); if ($den === '') return ['weight' => 0]; // Hum dono tables (Normal aur Boxwise) ka total nikalenge $sql = " SELECT ( /* Part 1: Normal Yarn Tables */ (SELECT IFNULL(SUM(weight), 0) FROM yarn_in WHERE company_id = :cid AND REPLACE(LOWER(denier),' ','') = REPLACE(LOWER(:den),' ','') AND LOWER(color) LIKE CONCAT('%', LOWER(:col), '%')) - (SELECT IFNULL(SUM(weight), 0) FROM yarn_out WHERE company_id = :cid AND REPLACE(LOWER(denier),' ','') = REPLACE(LOWER(:den),' ','') AND LOWER(color) LIKE CONCAT('%', LOWER(:col), '%')) ) + ( /* Part 2: Boxwise Tables (Jo aapne manual fallback mein likha tha) */ SELECT IFNULL(SUM(weight), 0) FROM yarn_in_boxwise WHERE company_id = :cid AND LOWER(denier) = LOWER(:den) AND LOWER(color) = LOWER(:col) AND box_no NOT IN (SELECT box_no FROM yarn_out_boxwise WHERE company_id = :cid) ) as total_stock "; $st = $pdo->prepare($sql); $st->execute([':cid' => $cid, ':den' => $den, ':col' => $col]); return ['weight' => (float)$st->fetchColumn()]; }