feat: improve patient flow and pricing workflow

This commit is contained in:
egecankomur
2026-06-12 00:04:53 +03:00
parent e12587398b
commit b42f68214e
26 changed files with 1283 additions and 243 deletions
@@ -39,4 +39,30 @@ class LabFinanceRepository {
}
return {'pending': pending, 'paid': paid};
}
Future<List<CounterpartyFinanceSummary>> byCounterparty(String tenantId) async {
final entries = await listEntries(tenantId, limit: 300);
final map = <String, CounterpartyFinanceSummary>{};
for (final entry in entries) {
final key = entry.counterpartyTenantId ?? entry.counterpartyName ?? 'unknown';
final current = map[key];
final pending = (current?.pendingAmount ?? 0) +
(entry.status == FinanceStatus.pending ? entry.amount : 0);
final paid = (current?.paidAmount ?? 0) +
(entry.status == FinanceStatus.paid ? entry.amount : 0);
map[key] = CounterpartyFinanceSummary(
counterpartyTenantId: entry.counterpartyTenantId,
counterpartyName: entry.counterpartyName ?? 'Karşı Taraf',
currency: entry.currency,
pendingAmount: pending,
paidAmount: paid,
entryCount: (current?.entryCount ?? 0) + 1,
);
}
final list = map.values.toList();
list.sort((a, b) => b.pendingAmount.compareTo(a.pendingAmount));
return list;
}
}