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