ru.bitel.bgbilling.plugins.cashcheck.server.bean

## Class PaymentQueueManager

- java.lang.Object
- - ru.bitel.bgbilling.plugins.cashcheck.server.bean.PaymentQueueManager

-     public class PaymentQueueManager
      extends java.lang.Object

  Менеджер лога печати. Также вычисление очереди актуальной для распечатки.
  Author:
    dimon

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `PaymentQueueManager(java.sql.Connection con)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `checkPaymentLog(java.util.List<java.lang.Integer> idlist)` Чекаем список ИД на ОТСУТСТВИЕ в логе.
    `Result<Payment>` | `getPaymentLog(int printerId, Period period, Page page)` Возвращаем список прямо из лога уже напечатанных.
    `java.util.List<Payment>` | `getPaymentNotLogList(java.util.List<java.lang.Integer> idlist)` Получаем список платежей по списку id.
    `Result<Payment>` | `getPaymentQueue(Period period, java.util.List<java.lang.Integer> paytypes, Page page)` Список платежей, которые могут быть напечатаны, но ешё были.
    `void` | `updatePaymentLog(int paymentId, int posId)` Добавляем платёж к логу.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PaymentQueueManager

          public PaymentQueueManager(java.sql.Connection con)

  - ### Method Detail

    - #### getPaymentQueue

          public Result<Payment> getPaymentQueue(Period period,
                                                 java.util.List<java.lang.Integer> paytypes,
                                                 Page page)
                                          throws ru.bitel.bgbilling.common.BGException

      Список платежей, которые могут быть напечатаны, но ешё были. Технически — все платежи указанных типов, которые отсутствуют в логе распечатанных.
      Parameters:
        `period` - период фильтр.
        `paytypes` - список типов платежей (берётся, например, от конкретного регистратора). должен быть непустой, иначе и вернётся пустое.
        `page` - пагинация
      Returns:
        резулт со списком платежей (заполнены только части для платежа договора, но не для лога) и пагинацией.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getPaymentNotLogList

          public java.util.List<Payment> getPaymentNotLogList(java.util.List<java.lang.Integer> idlist)
                                                       throws ru.bitel.bgbilling.common.BGException

      Получаем список платежей по списку id. Берутся платежи из contract_payment.
      Parameters:
        `idlist` - строка-список ид платежей через запятую.
      Returns:
        список платежей, без заполненных частей от лога.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### updatePaymentLog

          public void updatePaymentLog(int paymentId,
                                       int posId)
                                throws ru.bitel.bgbilling.common.BGException

      Добавляем платёж к логу.
      Parameters:
        `paymentId` - ид платежа.
        `posId` - номер ККМ.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### checkPaymentLog

          public java.lang.String checkPaymentLog(java.util.List<java.lang.Integer> idlist)
                                           throws ru.bitel.bgbilling.common.BGException

      Чекаем список ИД на ОТСУТСТВИЕ в логе. Надо чтобы ни одного id не было в логе.
      Parameters:
        `idlist` - список ИД платежей.
      Returns:
        строкой список ИД из переданных, которые УЖЕ содержатся в логе, или null, если ни один не содержатся (то есть всё ok типа).
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getPaymentLog

          public Result<Payment> getPaymentLog(int printerId,
                                               Period period,
                                               Page page)
                                        throws ru.bitel.bgbilling.common.BGException

      Возвращаем список прямо из лога уже напечатанных.
      Parameters:
        `printerId` - фильтр по ККМ, или 0 если все.
        `period` - период
        `page` - пагинация
      Returns:
        список платежей в виде Result (т.е. поддержка пагинации), сортировка обратная.
      Throws:
        `ru.bitel.bgbilling.common.BGException`