summaryrefslogtreecommitdiff
path: root/src/reports.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/reports.c')
-rw-r--r--src/reports.c20
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);