java.lang.Object
ru.bitel.bgbilling.kernel.contract.balance.server.util.BalanceUtils
All Implemented Interfaces:
AutoCloseable

public class BalanceUtils extends Object implements AutoCloseable
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addBalanceAccount(Contract contract, Calendar time, float summa)
    Приращение наработки в таблице баланса.
    void
    addContractAccount(int contractId, LocalDate time, int serviceId, BigDecimal addSum)
    Приращение наработки за услугу
    void
     
    getAccountSumma(int contractId, Calendar month, String sids)
    Получить наработку договора за указанный месяц по указанному перечню услуг.
    getBalance(LocalDate localDate, int contractId)
    Получение исходящего остатка договора на требуемый месяц, либо последний предыдущий.
    getBalance(Date time, int contractId)
     
    getBalance(Date time, Contract contract)
     
    getBalanceOut(Date time, int contractId)
    Получение исходящего остатка договора на требуемый месяц, либо последний предыдущий.
    ВАЖНО!
    getBalanceSumma1(Date time, int contractId)
    Входящий остаток на начало месяца ВАЖНО!
    Возращает самый старший месяц, за который есть данные по Балансу
    getSaldo(Date time, int contractId)
    Сальдо - входящий остаток на начало месяца.
    ВАЖНО!
    void
    recalculateBalance(int contractId, Date dateFrom)
    Пересчет баланса договора c даты
    void
    setAccount(Connection con, org.apache.logging.log4j.Logger logger, Calendar month, ServiceCostCache costCache, String sids, String cids, List<Integer> contractLabelIds)
    Массовая установка наработки после какого-либо переобсчета.
    void
    Установка баланса договора за какой-либо месяц.
    void
    setBalanceFromAccount(int cid, Calendar time, boolean lowPrior)
    Deprecated.
    void
    Установка наработки в балансе как суммы наработок из contract_account
    void
    setContractAccount(int contractId, LocalDate time, int serviceId, BigDecimal summa)
    Установка суммы наработки за услугу
    void
    Deprecated.
    void
    updateBalance(Date date, int contractId)
    Устанавливает в таблицу TABLE_CONTRACT_BALANCE сумму баланса из приходов, расходов автоматически меняет баланс до текущей даты, но НЕ ПЕРЕСЧИТЫВАЯ платежи, расходы итд при этом за последующие месяцы.
    void
    updateBalance(Date date, Contract contract)
    Устанавливает в таблицу TABLE_CONTRACT_BALANCE сумму баланса из приходов, расходов автоматически меняет баланс до текущей даты, но НЕ ПЕРЕСЧИТЫВАЯ платежи, расходы итд при этом за последующие месяцы.
    void
    updateBalance(Date date, Contract contract)
    Устанавливает в таблицу TABLE_CONTRACT_BALANCE сумму баланса из приходов, расходов автоматически меняет баланс до текущей даты
    void
    updateBalanceFromCharges(int contractId, LocalDate month)
     
    void
    updateBalanceFromPayments(int contractId, LocalDate month)
     
    boolean
    wasMoveByAccount(Calendar time, int contractId)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • BalanceUtils

      public BalanceUtils(Connection con)
  • Method Details

    • getSaldo

      public BigDecimal getSaldo(Date time, int contractId)
      Сальдо - входящий остаток на начало месяца.
      ВАЖНО! После использования BalanceUtils, вызвать метод close(), дабы закрыть PrepearStatement-ы у даошек.
      Parameters:
      time - месяц
      contractId - код договора
      Returns:
    • getBalance

      public BigDecimal getBalance(Date time, int contractId)
    • getBalance

      public BigDecimal getBalance(LocalDate localDate, int contractId)
      Получение исходящего остатка договора на требуемый месяц, либо последний предыдущий.
      Parameters:
      localDate - месяц
      contractId - код договора
      Returns:
    • getBalanceOut

      public BigDecimal getBalanceOut(Date time, int contractId)
      Получение исходящего остатка договора на требуемый месяц, либо последний предыдущий.
      ВАЖНО! После использования BalanceUtils, вызвать метод close(), дабы закрыть PrepearStatement-ы у даошек.
      Parameters:
      time - месяц
      contract - объект договора
      Returns:
    • getBalance

      public BigDecimal getBalance(Date time, Contract contract)
    • getBalanceSumma1

      public BigDecimal getBalanceSumma1(Date time, int contractId)
      Входящий остаток на начало месяца ВАЖНО! После использования BalanceUtils, вызвать метод close(), дабы закрыть PrepearStatement-ы у даошек.
      Parameters:
      time - - месяц на который требуется входящий остаток
      contractId - - код договора
      Returns:
      входящий остаток на начала месяца
    • setContractAccount

      public void setContractAccount(int contractId, LocalDate time, int serviceId, BigDecimal summa) throws ru.bitel.bgbilling.common.BGException
      Установка суммы наработки за услугу
      Parameters:
      contractId - - код договора
      time - - месяц
      serviceId - - код услуги
      summa - - сумма
      Throws:
      ru.bitel.bgbilling.common.BGException
    • addContractAccount

      public void addContractAccount(int contractId, LocalDate time, int serviceId, BigDecimal addSum)
      Приращение наработки за услугу
      Parameters:
      contractId - - код договора
      time - - месяц
      serviceId - - код услуги
      addSum - - сумма приращения
    • addBalanceAccount

      public void addBalanceAccount(Contract contract, Calendar time, float summa)
      Приращение наработки в таблице баланса.
      Parameters:
      contract - - объект договора
      time - - месяц
      summa - - сумма приращения
    • transitBalanceToCurdate1

      @Deprecated public void transitBalanceToCurdate1(int cid, Calendar time)
      Deprecated.
      Перенос остатков для договора с указанного месяца до текущего
      Parameters:
      cid - - код договора
      time - - месяц
    • wasMoveByAccount

      public boolean wasMoveByAccount(Calendar time, int contractId)
      Parameters:
      time - Calendar
      contractId - int
      Returns:
      boolean - было ли движение по счету в указанный месяц
    • updateBalance

      public void updateBalance(Date date, int contractId) throws ru.bitel.bgbilling.common.BGException
      Устанавливает в таблицу TABLE_CONTRACT_BALANCE сумму баланса из приходов, расходов автоматически меняет баланс до текущей даты, но НЕ ПЕРЕСЧИТЫВАЯ платежи, расходы итд при этом за последующие месяцы. Если такого договора нет, то просто выйдет из метода.
      Parameters:
      date - - месяц
      contractId - - код договора
      Throws:
      ru.bitel.bgbilling.common.BGException
    • updateBalance

      public void updateBalance(Date date, Contract contract) throws ru.bitel.bgbilling.common.BGException
      Устанавливает в таблицу TABLE_CONTRACT_BALANCE сумму баланса из приходов, расходов автоматически меняет баланс до текущей даты, но НЕ ПЕРЕСЧИТЫВАЯ платежи, расходы итд при этом за последующие месяцы.
      Parameters:
      date - - месяц
      contract - - объект договора
      Throws:
      NullPointerException - - Если договор = null
      ru.bitel.bgbilling.common.BGException
    • updateBalance

      public void updateBalance(Date date, Contract contract) throws ru.bitel.bgbilling.common.BGException
      Устанавливает в таблицу TABLE_CONTRACT_BALANCE сумму баланса из приходов, расходов автоматически меняет баланс до текущей даты
      Parameters:
      date - - месяц
      contract - - объект договора
      Throws:
      NullPointerException - - Если договор = null
      ru.bitel.bgbilling.common.BGException
    • recalculateBalance

      public void recalculateBalance(int contractId, Date dateFrom)
      Пересчет баланса договора c даты
      Parameters:
      contractId -
      dateFrom -
    • setBalanceFromAccount

      public void setBalanceFromAccount(int cid, Calendar time)
      Установка баланса договора за какой-либо месяц.
      Parameters:
      cid - - код договора
      time - - месяц
    • setBalanceFromAccount

      @Deprecated public void setBalanceFromAccount(int cid, Calendar time, boolean lowPrior)
      Deprecated.
      Установка баланса договора за какой-либо месяц, заменен на setBalanceFromAccount(int, Calendar)
      Parameters:
      cid - - код договора
      time - - месяц
      lowPrior - - параметр не используется
    • setBalanceFromAccount

      public void setBalanceFromAccount(Contract contract, Calendar time)
      Установка наработки в балансе как суммы наработок из contract_account
      Parameters:
      contract - - объект договора
      time - - месяц
    • setAccount

      public void setAccount(Connection con, org.apache.logging.log4j.Logger logger, Calendar month, ServiceCostCache costCache, String sids, String cids, List<Integer> contractLabelIds) throws SQLException
      Массовая установка наработки после какого-либо переобсчета.
      Parameters:
      con -
      month - - месяц, для которого устанавливается наработка
      sids - - коды услуг через запятую
      cids - - коды договоров через запятую, либо null, если для всех договоров
      groups - - битовая маска групп договоров
      Throws:
      SQLException
    • getLastBalanceMonth

      public Date getLastBalanceMonth(Contract contract)
      Возращает самый старший месяц, за который есть данные по Балансу
    • getAccountSumma

      public BigDecimal getAccountSumma(int contractId, Calendar month, String sids) throws ru.bitel.bgbilling.common.BGException
      Получить наработку договора за указанный месяц по указанному перечню услуг. Для супердоговора выдаётся наработка его и всех зависимых субов.
      Parameters:
      contractId - - код договора.
      month - - месяц.
      sids - - услуги через запятые.
      Returns:
      Throws:
      ru.bitel.bgbilling.common.BGException
    • updateBalanceFromCharges

      public void updateBalanceFromCharges(int contractId, LocalDate month) throws NullPointerException, SQLException
      Throws:
      NullPointerException
      SQLException
    • updateBalanceFromPayments

      public void updateBalanceFromPayments(int contractId, LocalDate month) throws NullPointerException, SQLException
      Throws:
      NullPointerException
      SQLException
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable