следующее - результат запроса sql, который содержит счета и депозиты для некоторых клиентов (CustomerID, CustomerName) и конкретного проекта (projectid).Счет-фактура выполняет транзакцию (дебет), а депозиты - транзакцию (кредит).
Поэтому при использовании метода FIFO мне нужно выбрать счета-фактуры, которые оплачены, частично оплачены и не оплачены.
ДляНапример, для Projectid 196500 оплачивается INV-00866, частично оплачивается INV-00668, а INV-00618 не оплачивается.
PROJECTID CUSTOMERID CUSTOMERNAME TYPE TRNDOCNO DEBIT CREDIT PROGRESSIVELY TRNDATE RANK
197386 23572 CustName A Deposit EIX-1-00654 0 730,36 0 24-JUN-19 1
197386 23572 CustName A Invoice INV-00980 730,36 0 730,36 06-MAY-19 2
197386 23572 CustName A Invoice INV-00924 3100 0 3100 02-MAY-19 3
196500 23572 CustName B Deposit EIX-1-00579 0 1600 1300 24-JUN-19 1
196500 23572 CustName B Deposit EIX-1-00565 400 2900 06-MAY-19 2
196500 23572 CustName B Deposit EIX-1-00566 0 500 3300 06-MAY-19 3
196500 23572 CustName B Invoice INV-00866 1800 0 3800 03-MAY-19 4
196500 23572 CustName B Deposit EIX-1-00558 0 500 2000 02-MAY-19 5
196500 23572 CustName B Invoice INV-00668 1500 0 2500 24-APR-19 6
196500 23572 CustName B Invoice INV-00618 1000 0 1000 22-APR-19 7