Add zeitraum_id to warteliste and update related queries; enhance impfWorkflow functions
This commit is contained in:
@@ -296,32 +296,37 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
|
||||
if ($wochentag < 1 || $wochentag > 7 || $start === '' || $ende === '' || $impfortId <= 0) {
|
||||
$error = "Bitte Zeitraum vollstaendig ausfuellen.";
|
||||
} elseif ($ende <= $start) {
|
||||
$error = "Die Endzeit muss nach der Startzeit liegen.";
|
||||
} else {
|
||||
$startSql = $start . ':00';
|
||||
$endeSql = $ende . ':00';
|
||||
|
||||
$stExisting = $pdo->prepare("SELECT zeitraum_id
|
||||
$stExisting = $pdo->prepare("SELECT zeitraum_id, bezeichnung
|
||||
FROM impf_zeitraum
|
||||
WHERE bezeichnung = :bezeichnung
|
||||
AND wochentag = :wochentag
|
||||
WHERE wochentag = :wochentag
|
||||
AND start = :start
|
||||
AND ende = :ende
|
||||
AND impfortid = :impfortid
|
||||
LIMIT 1");
|
||||
$stExisting->execute([
|
||||
'bezeichnung' => $bezeichnung,
|
||||
'wochentag' => $wochentag,
|
||||
'start' => $startSql,
|
||||
'ende' => $endeSql,
|
||||
'impfortid' => $impfortId,
|
||||
]);
|
||||
$existingId = (int)($stExisting->fetchColumn() ?: 0);
|
||||
$existingRow = $stExisting->fetch(PDO::FETCH_ASSOC) ?: null;
|
||||
$existingId = (int)($existingRow['zeitraum_id'] ?? 0);
|
||||
|
||||
if ($existingId > 0) {
|
||||
$stUpdate = $pdo->prepare("UPDATE impf_zeitraum
|
||||
SET aktiv = 1
|
||||
SET bezeichnung = :bezeichnung,
|
||||
aktiv = 1
|
||||
WHERE zeitraum_id = :zid");
|
||||
$stUpdate->execute(['zid' => $existingId]);
|
||||
$stUpdate->execute([
|
||||
'bezeichnung' => $bezeichnung,
|
||||
'zid' => $existingId,
|
||||
]);
|
||||
$message = "Zeitraum wurde reaktiviert.";
|
||||
} else {
|
||||
$st = $pdo->prepare("INSERT INTO impf_zeitraum (bezeichnung, wochentag, start, ende, impfortid, aktiv)
|
||||
|
||||
Reference in New Issue
Block a user