Chargen-Speicherfehler durch PDO-Platzhalter beheben

This commit is contained in:
gitea_admin committed 2026-09-08 09:38:09 +02:00
1 parent c076ec9889
commit aeab22b48a
1 file changed
+8 -5
+8 -5
View File
@@ -365,9 +365,10 @@ function update_stock_lot_traceability(
throw new InvalidArgumentException('Korrekturen und Abgaenge koennen nur auf der aktiven Charge gebucht werden'); throw new InvalidArgumentException('Korrekturen und Abgaenge koennen nur auf der aktiven Charge gebucht werden');
} }
$lotNumberAssignment = $clearLotNumber ? 'NULL' : 'COALESCE(:lot_number, lot_number)';
$updateStmt = $pdo->prepare( $updateStmt = $pdo->prepare(
"UPDATE stock_lot "UPDATE stock_lot
SET lot_number = CASE WHEN :clear_lot_number THEN NULL ELSE COALESCE(:lot_number, lot_number) END, SET lot_number = {$lotNumberAssignment},
manufacturer_party_id = :manufacturer_party_id, manufacturer_party_id = :manufacturer_party_id,
manufacturer_lot_number = :manufacturer_lot_number, manufacturer_lot_number = :manufacturer_lot_number,
mfg_date = :mfg_date, mfg_date = :mfg_date,
@@ -376,16 +377,18 @@ function update_stock_lot_traceability(
updated_at = NOW() updated_at = NOW()
WHERE id = :id" WHERE id = :id"
); );
$updateStmt->execute([ $updateParams = [
':lot_number' => $lotNumber,
':clear_lot_number' => $clearLotNumber,
':manufacturer_party_id' => $manufacturerPartyId, ':manufacturer_party_id' => $manufacturerPartyId,
':manufacturer_lot_number' => $manufacturerLotNumber, ':manufacturer_lot_number' => $manufacturerLotNumber,
':mfg_date' => $dates['mfg_date'], ':mfg_date' => $dates['mfg_date'],
':expiry_date' => $dates['expiry_date'], ':expiry_date' => $dates['expiry_date'],
':purchase_date' => $dates['purchase_date'], ':purchase_date' => $dates['purchase_date'],
':id' => $lotId, ':id' => $lotId,
]); ];
if (!$clearLotNumber) {
$updateParams[':lot_number'] = $lotNumber;
}
$updateStmt->execute($updateParams);
$after = $before; $after = $before;
if ($clearLotNumber) { if ($clearLotNumber) {