9a6723378b
fix(accounting): billing.dspy — keep page in ns for Tabular paging, extract DictObject correctly
2026-07-17 14:48:07 +08:00
4ef0808004
fix(accounting): billing.dspy — remove 'page' from ns to prevent sor.sqlExe auto-paging return DictObject
2026-07-17 14:44:27 +08:00
31c348878a
fix(accounting): billing.dspy — convert DictObject to list when sor.sqlExe returns non-list
2026-07-17 14:43:27 +08:00
0e750b6d31
debug(accounting): add type logging for billing rows
2026-07-17 14:41:22 +08:00
91609f3606
fix(accounting): billing query uses LEFT JOIN subject to avoid dropping rows with missing subject
2026-07-17 14:39:52 +08:00
47844253fe
fix(billing): separate ns for stats query, avoid sqlor ns mutation
2026-07-16 17:32:05 +08:00
1ffdda5ffe
fix(billing): add acc_date to aggregate query for sqlor ORDER BY
...
sqlor wraps every sqlExe with row_number() over(order by acc_date desc).
Aggregate queries without acc_date in SELECT fail with:
Unknown column 'acc_date' in 'ORDER BY'
Fix: add min(acc_date) as acc_date to satisfy sqlor wrapper.
2026-07-16 17:30:52 +08:00
c4a869c9ff
fix: billing 500 error (sqlExe returns list not dict) + enlarge popup windows (recharge 600x500, detail 700x550)
2026-05-31 14:36:27 +08:00
434cfe950c
feat: billing - add stats summary and Excel download
2026-05-31 14:18:53 +08:00
8a3f1955d3
fix: collation mismatch in SQL JOINs + billing date fields use uitype:date
2026-05-31 11:44:58 +08:00
997c7a445e
feat: 新增账单查询页面,按机构id+日期范围查询acc_detail
2026-05-31 10:27:14 +08:00