Spielkandidaten
This commit is contained in:
parent
47f953077d
commit
db7226587f
|
@ -32,7 +32,7 @@ router.get(
|
||||||
// **Trainings einer bestimmten Woche abrufen**
|
// **Trainings einer bestimmten Woche abrufen**
|
||||||
query = `
|
query = `
|
||||||
SELECT * FROM trainings
|
SELECT * FROM trainings
|
||||||
WHERE abteilung = $1 AND year = $2 AND kw = $3
|
WHERE fid_abteilung = $1 AND year = $2 AND kw = $3
|
||||||
ORDER BY year DESC, kw DESC
|
ORDER BY year DESC, kw DESC
|
||||||
`;
|
`;
|
||||||
values.push(year, kw);
|
values.push(year, kw);
|
||||||
|
@ -40,7 +40,7 @@ router.get(
|
||||||
// **Alle Trainings eines yeares abrufen**
|
// **Alle Trainings eines yeares abrufen**
|
||||||
query = `
|
query = `
|
||||||
SELECT * FROM trainings
|
SELECT * FROM trainings
|
||||||
WHERE abteilung = $1 AND year = $2
|
WHERE fid_abteilung = $1 AND year = $2
|
||||||
ORDER BY kw ASC
|
ORDER BY kw ASC
|
||||||
`;
|
`;
|
||||||
values.push(year);
|
values.push(year);
|
||||||
|
@ -48,7 +48,7 @@ router.get(
|
||||||
// **Alle Trainings der Abteilung abrufen**
|
// **Alle Trainings der Abteilung abrufen**
|
||||||
query = `
|
query = `
|
||||||
SELECT * FROM trainings
|
SELECT * FROM trainings
|
||||||
WHERE abteilung = $1
|
WHERE fid_abteilung = $1
|
||||||
ORDER BY year DESC, kw DESC
|
ORDER BY year DESC, kw DESC
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
|
@ -97,6 +97,43 @@ router.get(
|
||||||
} else {
|
} else {
|
||||||
res.status(400).json({ error: "TrainingsID muss übergeben werden" });
|
res.status(400).json({ error: "TrainingsID muss übergeben werden" });
|
||||||
}
|
}
|
||||||
|
} else if (key1 === "leiten") {
|
||||||
|
const typ = value1; // 'a' oder 's'
|
||||||
|
const abteilung = req.abteilung; // Abteilung aus Middleware
|
||||||
|
|
||||||
|
if (!["a", "s"].includes(typ)) {
|
||||||
|
return res.status(400).json({ error: "Typ muss 'a' oder 's' sein" });
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
const result = await pool.query(
|
||||||
|
`
|
||||||
|
SELECT
|
||||||
|
m.id,
|
||||||
|
m.vorname || ' ' || m.nachname AS name,
|
||||||
|
COALESCE(
|
||||||
|
EXTRACT(EPOCH FROM (NOW() - MAX(to_date(t.year || ' ' || t.kw, 'IYYY IW'))) / 604800),
|
||||||
|
EXTRACT(EPOCH FROM (NOW() - '1970-01-01') / 604800)
|
||||||
|
) AS weeks_since_last
|
||||||
|
FROM mitglieder m
|
||||||
|
JOIN abteilungszuordnung az ON az.fid_mitglied = m.id
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT l.fid_helfer, t.year, t.kw
|
||||||
|
FROM leiten l
|
||||||
|
JOIN trainings t ON t.id = l.fid_training
|
||||||
|
WHERE l.typ = $1 AND t.fid_abteilung = $2
|
||||||
|
) t ON t.fid_helfer = m.id
|
||||||
|
WHERE az.helfer = true AND az.fid_abteilung = $2
|
||||||
|
GROUP BY m.id
|
||||||
|
ORDER BY weeks_since_last DESC;`,
|
||||||
|
[typ, abteilung]
|
||||||
|
);
|
||||||
|
|
||||||
|
res.json(result.rows);
|
||||||
|
} catch (err) {
|
||||||
|
console.error("Fehler bei /leiten:", err);
|
||||||
|
res.status(500).json({ error: "Fehler bei der Kandidatenabfrage" });
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error(err);
|
console.error(err);
|
||||||
|
@ -210,7 +247,7 @@ router.post("/new/:jahr/:kw", requireAuth, requireRole(2), async (req, res) => {
|
||||||
|
|
||||||
// **3. Neues Training anlegen**
|
// **3. Neues Training anlegen**
|
||||||
const trainingResult = await pool.query(
|
const trainingResult = await pool.query(
|
||||||
`INSERT INTO trainings (year, kw, abteilung) VALUES ($1, $2, $3) RETURNING id`,
|
`INSERT INTO trainings (year, kw, fid_abteilung) VALUES ($1, $2, $3) RETURNING id`,
|
||||||
[jahr, kw, abteilung]
|
[jahr, kw, abteilung]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -224,7 +261,7 @@ router.post("/new/:jahr/:kw", requireAuth, requireRole(2), async (req, res) => {
|
||||||
`SELECT g.geraete
|
`SELECT g.geraete
|
||||||
FROM trainings t
|
FROM trainings t
|
||||||
JOIN geraeteplan g ON t.id = g.fid_training
|
JOIN geraeteplan g ON t.id = g.fid_training
|
||||||
WHERE t.abteilung = $1
|
WHERE t.fid_abteilung = $1
|
||||||
ORDER BY t.year DESC, t.kw DESC
|
ORDER BY t.year DESC, t.kw DESC
|
||||||
LIMIT 2`,
|
LIMIT 2`,
|
||||||
[abteilung]
|
[abteilung]
|
||||||
|
|
Loading…
Reference in New Issue