dtz
This commit is contained in:
parent
19287836a4
commit
cf732a1559
@ -57,7 +57,7 @@ router.get('/', requireAdmin, async (req, res) => {
|
||||
FROM invoices i
|
||||
JOIN memberships m ON i.membership_id = m.id
|
||||
LEFT JOIN tariffs t ON m.tariff_id = t.id
|
||||
WHERE i.period = ?
|
||||
WHERE CONVERT(i.period USING utf8mb4) = CONVERT(? USING utf8mb4)
|
||||
ORDER BY m.last_name ASC
|
||||
`, [period]);
|
||||
|
||||
@ -69,7 +69,7 @@ router.get('/', requireAdmin, async (req, res) => {
|
||||
SUM(CASE WHEN status='paid' THEN 1 ELSE 0 END) as paid_count,
|
||||
SUM(CASE WHEN status='open' THEN amount ELSE 0 END) as open_amount,
|
||||
SUM(CASE WHEN status='paid' THEN amount ELSE 0 END) as paid_amount
|
||||
FROM invoices WHERE period = ?
|
||||
FROM invoices WHERE CONVERT(period USING utf8mb4) = CONVERT(? USING utf8mb4)
|
||||
`, [period]);
|
||||
|
||||
// Vorschau: Mitglieder die noch keine Rechnung für diese Periode haben
|
||||
@ -81,7 +81,7 @@ router.get('/', requireAdmin, async (req, res) => {
|
||||
AND m.contract_start <= LAST_DAY(STR_TO_DATE(CONCAT(?, '-01'), '%Y-%m-%d'))
|
||||
AND m.contract_end >= STR_TO_DATE(CONCAT(?, '-01'), '%Y-%m-%d')
|
||||
AND m.id NOT IN (
|
||||
SELECT membership_id FROM invoices WHERE period = ?
|
||||
SELECT membership_id FROM invoices WHERE CONVERT(period USING utf8mb4) = CONVERT(? USING utf8mb4)
|
||||
)
|
||||
`, [period, period, period]);
|
||||
|
||||
@ -111,7 +111,7 @@ router.post('/run', requireAdmin, async (req, res) => {
|
||||
try {
|
||||
// Bereits existierende Rechnungen für diesen Monat prüfen
|
||||
const [existing] = await db.query(
|
||||
'SELECT COUNT(*) as c FROM invoices WHERE period = ?', [period]
|
||||
'SELECT COUNT(*) as c FROM invoices WHERE CONVERT(period USING utf8mb4) = CONVERT(? USING utf8mb4)', [period]
|
||||
);
|
||||
if (existing[0].c > 0) {
|
||||
return res.redirect(`/admin/billing?period=${period}&error=Abrechnungslauf+für+${period}+wurde+bereits+durchgeführt`);
|
||||
@ -193,7 +193,7 @@ router.post('/mark-all-paid', requireAdmin, async (req, res) => {
|
||||
const period = req.body.period || currentPeriod();
|
||||
try {
|
||||
const [result] = await db.query(
|
||||
"UPDATE invoices SET status='paid', paid_at=NOW() WHERE period=? AND status='open'",
|
||||
"UPDATE invoices SET status='paid', paid_at=NOW() WHERE CONVERT(period USING utf8mb4) = CONVERT(? USING utf8mb4) AND status='open'",
|
||||
[period]
|
||||
);
|
||||
res.redirect(`/admin/billing?period=${period}&success=${result.affectedRows}+Rechnungen+als+bezahlt+markiert`);
|
||||
@ -212,7 +212,7 @@ router.get('/export/csv', requireAdmin, async (req, res) => {
|
||||
SELECT i.*, m.first_name, m.last_name, m.email
|
||||
FROM invoices i
|
||||
JOIN memberships m ON i.membership_id = m.id
|
||||
WHERE i.period = ? AND i.status = 'open' AND i.amount > 0
|
||||
WHERE CONVERT(i.period USING utf8mb4) = CONVERT(? USING utf8mb4) AND i.status = 'open' AND i.amount > 0
|
||||
ORDER BY m.last_name ASC
|
||||
`, [period]);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user