- Updated financial_core.py - Updated models/receivables.json - Added mysql.ddl.sql - Added API files: debug_receivables, receivables CRUD, test_env - Added UI files: financial_vouchers, index, payments, receipts, receivable_edit, receivables
24 lines
902 B
Python
24 lines
902 B
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
"""List receivables"""
|
|
import json
|
|
|
|
result = {'success': False, 'rows': [], 'total': 0}
|
|
|
|
try:
|
|
dbname = get_module_dbname('financial_management')
|
|
async with DBPools().sqlorContext(dbname) as sor:
|
|
ns = {'page': 1, 'rows': 20, 'sort': 'id'}
|
|
sql = 'SELECT id, order_id, contract_id, customer_id, receivable_amount, received_amount, due_date, status, description, org_id, created_at, updated_at FROM receivables'
|
|
rows = await sor.sqlExe(sql, ns)
|
|
if isinstance(rows, dict):
|
|
result['rows'] = rows.get('rows', [])
|
|
result['total'] = rows.get('total', 0)
|
|
elif rows:
|
|
result['rows'] = [dict(r) if hasattr(r, 'keys') else r for r in rows]
|
|
result['success'] = True
|
|
except Exception as e:
|
|
result['error'] = str(e)
|
|
|
|
return json.dumps(result, ensure_ascii=False, default=str)
|