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

public class BalanceUtils
extends java.lang.Object
implements java.lang.AutoCloseable
  • Constructor Summary

    Constructors
    Constructor Description
    BalanceUtils​(java.sql.Connection con)  
  • Method Summary

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

    Methods inherited from class java.lang.Object

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

    • BalanceUtils

      public BalanceUtils​(java.sql.Connection con)
  • Method Details

    • getSaldo

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

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

      public java.math.BigDecimal getBalance​(java.time.LocalDate localDate, int contractId)
    • getBalanceOut

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

      public java.math.BigDecimal getBalance​(java.util.Date time, Contract contract)
    • getBalanceSumma1

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

      @Deprecated public void setContractAccount​(int contractId, java.util.Date time, int serviceId, float summa)
      Deprecated.
    • setContractAccount

      public void setContractAccount​(int contractId, java.util.Date time, int serviceId, java.math.BigDecimal summa)
      Установка суммы наработки за услугу
      Parameters:
      contractId - - код договора
      time - - месяц
      serviceId - - код услуги
      summa - - сумма
    • addContractAccount

      @Deprecated public void addContractAccount​(int cid, java.util.Calendar time, int sid, float add)
      Deprecated.
      использовать addContractAccount( int cid, Date time, int sid, float add )
      Parameters:
      cid -
      time -
      sid -
      add -
    • addContractAccount

      @Deprecated public void addContractAccount​(int contractId, java.util.Date time, int serviceId, float add)
      Deprecated.
    • addContractAccount

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

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

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

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

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

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

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

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

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

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

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

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

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

      public java.math.BigDecimal getAccountSumma​(int contractId, java.util.Calendar month, java.lang.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, java.time.LocalDate month) throws java.lang.NullPointerException, java.sql.SQLException
      Throws:
      java.lang.NullPointerException
      java.sql.SQLException
    • updateBalanceFromPayments

      public void updateBalanceFromPayments​(int contractId, java.time.LocalDate month) throws java.lang.NullPointerException, java.sql.SQLException
      Throws:
      java.lang.NullPointerException
      java.sql.SQLException
    • close

      public void close()
      Specified by:
      close in interface java.lang.AutoCloseable