#!/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)