fix(patient): consistent debt/paid status, invoice totals, global service search
- patient_debt_rials now = session remaining (final - discount - paid), so the card status and invoice status stay consistent with is_paid even after a session is edited post-invoicing (no more '0 remaining but تکمیل پرداخت'). - InvoiceSummaryModal: remaining subtracts discount; the فاکتور status reflects actual settlement (تسویه شده / بدهکار), and the payments table shows a «مجموع پرداختیها» total row. - Add GET /api/v1/service-items (all owner services) and make the service picker searchable across all services without first choosing a section. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -29,6 +29,18 @@ class ServiceItemRepository extends ServiceEntityRepository
|
||||
->getResult();
|
||||
}
|
||||
|
||||
/** همهی سرویسهای یک owner (در همهی بخشها) — برای انتخاب/جستجوی سراسری. */
|
||||
public function findByEntity(string $entityType, int $entityId): array
|
||||
{
|
||||
return $this->createQueryBuilder('i')
|
||||
->join('i.section', 's')
|
||||
->where('s.entityType = :type')->setParameter('type', $entityType)
|
||||
->andWhere('s.entityId = :id')->setParameter('id', $entityId)
|
||||
->orderBy('i.name', 'ASC')
|
||||
->getQuery()
|
||||
->getResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* Count services per section in a single query (avoids N+1 in the section list).
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user