debug: base_cost pro Auftrag prüfen

This commit is contained in:
2026-06-17 21:14:40 +02:00
parent de14683e09
commit d1f0bb6c56

View File

@@ -154,7 +154,10 @@ router.get('/overview', authenticate, (req, res) => {
const key = getBucketKey(dateStr);
if (!key) continue;
if (!buckets[key]) buckets[key] = { month:key, revenue:0, expenses:0, orders:0 };
if (o.bezahlt) buckets[key].revenue += getOrderRevenue(o);
if (o.bezahlt) {
buckets[key].revenue += getOrderRevenue(o);
buckets[key].base_cost = (buckets[key].base_cost||0) + getOrderBaseCost(o.id);
}
buckets[key].orders++;
}
@@ -170,14 +173,14 @@ router.get('/overview', authenticate, (req, res) => {
// Sortiert + ohne Filter auf letzte 12 Monate begrenzen
let monthlyData = Object.values(buckets)
.sort((a,b) => a.month.localeCompare(b.month))
.map(m => ({ ...m, revenue: round2(m.revenue), expenses: round2(m.expenses) }));
.map(m => ({ ...m, revenue: round2(m.revenue), base_cost: round2(m.base_cost||0), expenses: round2(m.expenses) }));
if (!from && !to) monthlyData = monthlyData.slice(-12);
// Kumulierter Nettogewinn (pro Bucket)
let cum = 0;
const cumulativeData = monthlyData.map(m => {
cum += m.revenue - m.expenses;
cum += (m.revenue||0) - (m.base_cost||0) - (m.expenses||0);
return { month: m.month, value: round2(cum) };
});
@@ -233,6 +236,23 @@ router.get('/month-orders', authenticate, (req, res) => {
})));
});
// Debug2: monthlyData mit base_cost prüfen
router.get('/debug2', authenticate, (req, res) => {
const { from, to } = req.query;
const u = uid(req);
const allOrders = db.prepare('SELECT * FROM orders WHERE user_id=? AND bezahlt=1').all(u);
const result = allOrders.map(o => {
const rev = getOrderRevenue(o);
const cost = getOrderBaseCost(o.id);
return { id:o.id, name:o.name, bezahlt_am:o.bezahlt_am, revenue:rev, base_cost:cost, profit: rev-cost };
});
res.json({ orders: result, totals: {
revenue: result.reduce((s,o)=>s+o.revenue,0),
base_cost: result.reduce((s,o)=>s+o.base_cost,0),
profit: result.reduce((s,o)=>s+o.profit,0),
}});
});
// Debug: rohe Auftragsdaten mit Revenue
router.get('/debug', authenticate, (req, res) => {
const u = uid(req);