diff options
| author | Anders Betts <anders.betts@gmail.com> | 2026-09-20 09:56:56 +0200 |
|---|---|---|
| committer | Anders Betts <anders.betts@gmail.com> | 2026-09-20 09:57:20 +0200 |
| commit | 59ef95d3c1f590a05c3bea79834d424200d28250 (patch) | |
| tree | 6fd26b77e3ffb10658c3e3ef029704704118dd0d /src/reports.c | |
| parent | b5349b52e757399d8ddb6325120a58e7d9e6e1f6 (diff) | |
| download | bokf-59ef95d3c1f590a05c3bea79834d424200d28250.tar.gz bokf-59ef95d3c1f590a05c3bea79834d424200d28250.zip | |
report: per-org moms rule editor commands
Diffstat (limited to 'src/reports.c')
| -rw-r--r-- | src/reports.c | 20 |
1 files changed, 14 insertions, 6 deletions
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); |
