From 59ef95d3c1f590a05c3bea79834d424200d28250 Mon Sep 17 00:00:00 2001 From: Anders Betts Date: Sun, 20 Sep 2026 09:56:56 +0200 Subject: report: per-org moms rule editor commands --- src/reports.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'src/reports.c') diff --git a/src/reports.c b/src/reports.c index 4368eb0..1d4efdd 100644 --- a/src/reports.c +++ b/src/reports.c @@ -394,15 +394,23 @@ yyjson_mut_val *report_vat(yyjson_mut_doc *doc, sqlite3 *db, int64_t org_id, int sign = sqlite3_column_int(st, 3); int64_t amount = 0; sqlite3_stmt *qs = NULL; - const char *sql = - strcmp(mt, "account") == 0 - ? "SELECT COALESCE(SUM(r.debit_ore),0)," + const char *sql; + if (strcmp(mt, "account") == 0) + sql = "SELECT COALESCE(SUM(r.debit_ore),0)," "COALESCE(SUM(r.credit_ore),0) FROM voucher_rows r" " JOIN vouchers v ON v.org_id=r.org_id AND v.id=r.voucher_id" " JOIN accounts a ON a.org_id=r.org_id AND a.id=r.account_id" " WHERE r.org_id=?1 AND a.number=?2 AND v.series <> 'IB'" - " AND v.date BETWEEN ?3 AND ?4" - : "SELECT COALESCE(SUM(r.debit_ore),0)," + " AND v.date BETWEEN ?3 AND ?4"; + else if (strcmp(mt, "type") == 0) + sql = "SELECT COALESCE(SUM(r.debit_ore),0)," + "COALESCE(SUM(r.credit_ore),0) FROM voucher_rows r" + " JOIN vouchers v ON v.org_id=r.org_id AND v.id=r.voucher_id" + " JOIN accounts a ON a.org_id=r.org_id AND a.id=r.account_id" + " WHERE r.org_id=?1 AND a.type=?2 AND v.series <> 'IB'" + " AND v.date BETWEEN ?3 AND ?4"; + else + sql = "SELECT COALESCE(SUM(r.debit_ore),0)," "COALESCE(SUM(r.credit_ore),0) FROM voucher_rows r" " JOIN vouchers v ON v.org_id=r.org_id AND v.id=r.voucher_id" " JOIN accounts a ON a.org_id=r.org_id AND a.id=r.account_id" @@ -411,7 +419,7 @@ yyjson_mut_val *report_vat(yyjson_mut_doc *doc, sqlite3 *db, int64_t org_id, if (sqlite3_prepare_v2(db, sql, -1, &qs, NULL) != SQLITE_OK) break; sqlite3_bind_int64(qs, 1, org_id); - if (strcmp(mt, "account") == 0) { + if (strcmp(mt, "account") == 0 || strcmp(mt, "type") == 0) { sqlite3_bind_text(qs, 2, pattern, -1, SQLITE_TRANSIENT); sqlite3_bind_text(qs, 3, from, -1, SQLITE_TRANSIENT); sqlite3_bind_text(qs, 4, to, -1, SQLITE_TRANSIENT); -- cgit v1.3