Fix incomplete lot save selection sync

This commit is contained in:
gitea_admin committed 2026-09-08 14:49:33 +02:00
1 parent 7daf8b7096
commit b92c92f5b5
1 file changed
+10 -2
+10 -2
View File
@@ -492,6 +492,15 @@ function is_qualified_open_lot(PDO $pdo, int $lotId): bool
function sync_open_lot_activation_selection(PDO $pdo, int $productId): void function sync_open_lot_activation_selection(PDO $pdo, int $productId): void
{ {
$lockStmt = $pdo->prepare(
"SELECT id
FROM stock_lot
WHERE product_id = :product_id
AND status = 'open'
FOR UPDATE"
);
$lockStmt->execute([':product_id' => $productId]);
$qualifiedStmt = $pdo->prepare( $qualifiedStmt = $pdo->prepare(
"SELECT sl.id "SELECT sl.id
FROM stock_lot sl FROM stock_lot sl
@@ -505,8 +514,7 @@ function sync_open_lot_activation_selection(PDO $pdo, int $productId): void
AND sl.expiry_date IS NOT NULL AND sl.expiry_date IS NOT NULL
AND sl.purchase_date IS NOT NULL AND sl.purchase_date IS NOT NULL
AND v.qty_net > 0 AND v.qty_net > 0
ORDER BY sl.id ORDER BY sl.id"
FOR UPDATE"
); );
$qualifiedStmt->execute([':product_id' => $productId]); $qualifiedStmt->execute([':product_id' => $productId]);
$qualifiedIds = array_map('intval', $qualifiedStmt->fetchAll(PDO::FETCH_COLUMN)); $qualifiedIds = array_map('intval', $qualifiedStmt->fetchAll(PDO::FETCH_COLUMN));