Package ru.bitel.bgbilling.plugins.bonus.server.dao

# Class BonusDao

java.lang.Object
ru.bitel.bgbilling.plugins.bonus.server.dao.BonusDao

    public class BonusDao
    extends java.lang.Object

- ## Field Summary

  Fields
  Modifier and Type | Field | Description
  --- | --- | ---
  `protected java.sql.Connection` | `con` |
  `static boolean` | `flagBalanceCanBeNegative` | Флаг определяющий, можно ли уводить в минус.
  `static int` | `pluginTurnOn` |

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `BonusDao​(java.sql.Connection con)` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `void` | `addCharge​(int userId, int cid, BonusCharge charge)` | Добавление расхода
  `void` | `addDetailsItem​(int chargeId, int paymentId, java.math.BigDecimal sum)` | Добавит детали расхода, какую сумму какой расход списал с конкретного платежа.
  `boolean` | `checkContractOnProgramType​(int cid, int programType, java.util.Date date)` |
  `boolean` | `checkProgramPeriodOnCrossing​(BonusProgram program)` | Проверка на пересечения нового периода бонусной программы с периодом программы у договоров.
  `void` | `deleteCharge​(int chargeId)` | Удаление расхода.
  `void` | `deleteChargeAccordingToContractChargeId​(int contractChargeId)` | Удаление расхода по ид расхода договора.
  `void` | `deleteDeatails​(int id)` | Удаление деталей расхода по его ид.
  `void` | `deletePayment​(int paymentId)` | Удаление прихода
  `void` | `deletePaymentType​(int paymentId)` |
  `void` | `deleteProgram​(int programId)` | Удаление бонусной программы.
  `java.math.BigDecimal` | `getBalance​(int cid, java.util.Date date)` |
  `java.math.BigDecimal` | `getBalance​(int cid, java.util.Date date, java.lang.Integer chargeId, boolean withFutureCharge)` |
  `BonusCharge` | `getCharge​(int contractChargeId)` | Вернет бонусный расход который был повешан на конкретный расход договора.
  `java.util.List<BonusCharge>` | `getChargeDetailsList​(int paymentId)` | Deprecated.
  `java.util.List<BonusCharge>` | `getChargeList​(int cid, java.util.Date dateFrom, java.util.Date dateTo)` |
  `java.util.List<BonusCharge>` | `getChargesAll​(int cid)` | Вернет все расходы
  `java.util.List<BonusCharge>` | `getChargesLinkedPayments​(int cid, java.util.List<BonusPayment> paymentList, java.util.Date date)` |
  `java.util.List<java.lang.Integer>` | `getContractsOfThisProgram​(int idProgram, java.util.Date date)` |
  `java.util.Map<java.lang.String,​java.lang.String>` | `getDataProgramOfContract​(int programId, int contractId)` | Получение мапа с данными для договора по выбранной программе.
  `java.util.List<BonusDetailCharge>` | `getDetailsChargeList​(int paymentId)` |
  `java.math.BigDecimal` | `getNotActiveBalanceStill​(int cid, java.util.Date date)` |
  `java.util.List<BonusPayment>` | `getPaymentDetailsList​(int chargeId)` |
  `java.util.List<BonusPayment>` | `getPaymentList​(int contractId, java.util.Date dateFrom, java.util.Date dateTo)` |
  `java.util.List<BonusPayment>` | `getPaymentsActiveAndPositive​(int cid, java.util.Date date, java.util.HashMap<java.lang.Integer,​java.math.BigDecimal> residueSumMap)` |
  `java.util.List<BonusPayment>` | `getPaymentsActiveToDate​(int cid, java.util.Date date, java.util.HashMap<java.lang.Integer,​java.math.BigDecimal> residueSumMap)` |
  `java.util.List<BonusPayment>` | `getPaymentsAll​(int cid)` | Вернет все платежи для данного договора
  `java.util.List<BonusPayment>` | `getPaymentsToActiveInFuture​(int cid, java.util.Date date)` |
  `java.util.List<BonusPaymentType>` | `getPaymentTypeList​(boolean usedOnly)` |
  `BonusProgram` | `getProgram​(int id)` |
  `BonusProgramSpecification` | `getProgramAction​(BonusProgram bonusProgram)` | Получение программы действий для бонусной программы.
  `java.util.List<BonusContractProgram>` | `getProgramCotractList​(int cid)` |
  `java.util.List<BonusContractProgram>` | `getProgramCotractList​(int cid, int programTypeId, java.util.Date date)` |
  `java.util.List<BonusProgram>` | `getProgramList​(java.util.Date date, int programTypeId)` | Возврощает заведенные бонусные программы.
  `BonusProgramSpecification` | `getProgramSpecificationForDynamicProgram​(java.lang.String className)` | Вернет спецификацию для динамической программы по ее полному имени.
  `boolean` | `isUseChargeType​(int chargeId)` |
  `boolean` | `isUsePaymentsInDetailsTable​(int paymentId)` |
  `boolean` | `isUsePaymentType​(int paymentId)` |
  `boolean` | `pluginInclude​(int cid)` |
  `java.util.List<java.lang.Integer>` | `programInContractList​(int idProgram, java.util.Date date)` | Deprecated.
  `void` | `updateDataProgramOfContract​(int programId, int contractId, java.util.Map<java.lang.String,​java.lang.String> map)` | Сохранение/обновлене данных для договора по выбранной программе.
  `void` | `updateDetailsCharge​(int id, int paymentId, java.math.BigDecimal sum)` | Обновление записи bonus_details_charge.
  `void` | `updatePayment​(int userId, int cid, BonusPayment payment)` | Создание платежа.
  `void` | `updatePaymentType​(BonusPaymentType paymentType)` |
  `void` | `updatePluginInclude​(int cid, boolean include)` | Включение/выкл. плагина у договора.
  `void` | `updateProgram​(BonusProgram program)` | Обновление или создание бонусной программы.
  `void` | `updateProgramContract​(BonusContractProgram contractProgram)` | Обновление или добовление бонусной программы для договора.

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

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

- ## Field Details

  - ### con

    protected java.sql.Connection con

  - ### pluginTurnOn

    public static int pluginTurnOn

  - ### flagBalanceCanBeNegative

    public static final boolean flagBalanceCanBeNegative
    Флаг определяющий, можно ли уводить в минус.

- ## Constructor Details

  - ### BonusDao

    public BonusDao​(java.sql.Connection con)

- ## Method Details

  - ### getPaymentTypeList

    public java.util.List<BonusPaymentType> getPaymentTypeList​(boolean usedOnly) throws ru.bitel.bgbilling.common.BGException
    Parameters:
      `usedOnly` -
    Returns:
      - если usedOnly==true,то вернет только используемые
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getChargesLinkedPayments

    public java.util.List<BonusCharge> getChargesLinkedPayments​(int cid, java.util.List<BonusPayment> paymentList, java.util.Date date) throws ru.bitel.bgbilling.common.BGException
    Parameters:
      `paymentList` -
    Returns:
      - вернет список расходов которые были повешаны на дынные приходы на конкретную дату.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### updatePaymentType

    public void updatePaymentType​(BonusPaymentType paymentType) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### deletePaymentType

    public void deletePaymentType​(int paymentId) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### isUsePaymentType

    public boolean isUsePaymentType​(int paymentId) throws ru.bitel.bgbilling.common.BGException
    Parameters:
      `paymentId` -
    Returns:
      - true если есть платежи с таким типом
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### isUseChargeType

    public boolean isUseChargeType​(int chargeId) throws ru.bitel.bgbilling.common.BGException
    Parameters:
      `chargeId` -
    Returns:
      - true если есть расходы с таким типом
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getPaymentList

    public java.util.List<BonusPayment> getPaymentList​(int contractId, java.util.Date dateFrom, java.util.Date dateTo) throws ru.bitel.bgbilling.common.BGException
    Parameters:
      `contractId` - - номер договора
      `dateFrom` - - от даты
      `dateTo` - - до даты
    Returns:
      вернет платежи в промежутке данных дат, есл и
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getPaymentsAll

    public java.util.List<BonusPayment> getPaymentsAll​(int cid) throws ru.bitel.bgbilling.common.BGException
    Вернет все платежи для данного договора
    Parameters:
      `cid` -
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getPaymentsActiveAndPositive

    public java.util.List<BonusPayment> getPaymentsActiveAndPositive​(int cid, java.util.Date date, java.util.HashMap<java.lang.Integer,​java.math.BigDecimal> residueSumMap) throws ru.bitel.bgbilling.common.BGException
    Parameters:
      `date` - - на какой момент
      `cid` - - номер договора
      `residueSumMap` - - мап c остатками средств у платежей, можно передать null,если эти данные не нужны(ключ - id платежа, значение - остаток средсв у платежа).
    Returns:
      вернет активные(то есть dateFrom
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getPaymentsActiveToDate

    public java.util.List<BonusPayment> getPaymentsActiveToDate​(int cid, java.util.Date date, java.util.HashMap<java.lang.Integer,​java.math.BigDecimal> residueSumMap) throws ru.bitel.bgbilling.common.BGException
    Parameters:
      `cid` - - номер договора
      `date` -
      `residueSumMap` - - мап c остатками средств у платежей, можно передать null,если эти данные не нужны(ключ - id платежа, значение - остаток средсв у платежа).
    Returns:
      - список платежей активные на дату - date
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getPaymentsToActiveInFuture

    public java.util.List<BonusPayment> getPaymentsToActiveInFuture​(int cid, java.util.Date date) throws ru.bitel.bgbilling.common.BGException
    Parameters:
      `cid` - - номер договора
      `date` - - на дату(обычно текущее)
    Returns:
      - список платежей еще не активных на дынный момент
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getCharge

    public BonusCharge getCharge​(int contractChargeId) throws ru.bitel.bgbilling.common.BGException
    Вернет бонусный расход который был повешан на конкретный расход договора.
    Parameters:
      `contractChargeId` - - ид расхода договора
    Returns:
      если результат успешный то BonusChargee, иначе null.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getChargeList

    public java.util.List<BonusCharge> getChargeList​(int cid, java.util.Date dateFrom, java.util.Date dateTo) throws ru.bitel.bgbilling.common.BGException
    Parameters:
      `cid` - - номер договора
      `dateFrom` - - от даты
      `dateTo` - - до даты
    Returns:
      вернет список расходов в промежутке dateFrom и dateTo(с точностью до дня), если одна из дат == null, то вернет все
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getChargesAll

    public java.util.List<BonusCharge> getChargesAll​(int cid) throws ru.bitel.bgbilling.common.BGException
    Вернет все расходы
    Parameters:
      `cid` -
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### updatePayment

    public void updatePayment​(int userId, int cid, BonusPayment payment) throws ru.bitel.bgbilling.common.BGException
    Создание платежа. После совершения платежа, в платеже будет реальный его id.
    Либо, если id > 0, обновление даты завершения платежа.
    Parameters:
      `userId` - - пользователь совершив
      `cid` - - код договора
      `payment` - - бонусный платеж
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### addCharge

    public void addCharge​(int userId, int cid, BonusCharge charge) throws ru.bitel.bgbilling.common.BGException
    Добавление расхода
    Parameters:
      `userId` -
      `cid` - - номер договора
      `charge` - - расход. После добаления, id будет присвоено значение.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### deletePayment

    public void deletePayment​(int paymentId) throws ru.bitel.bgbilling.common.BGException
    Удаление прихода
    Parameters:
      `paymentId` - - ид прихода
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### deleteCharge

    public void deleteCharge​(int chargeId) throws ru.bitel.bgbilling.common.BGException
    Удаление расхода.
    Parameters:
      `chargeId` - - ид расхода
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### deleteChargeAccordingToContractChargeId

    public void deleteChargeAccordingToContractChargeId​(int contractChargeId) throws ru.bitel.bgbilling.common.BGException
    Удаление расхода по ид расхода договора.
    Parameters:
      `chargeId` - - ид расхода
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getPaymentDetailsList

    public java.util.List<BonusPayment> getPaymentDetailsList​(int chargeId) throws ru.bitel.bgbilling.common.BGException
    Parameters:
      `chargeId` - - ид расхода
    Returns:
      вернет список платежей у которых данный расход списывал средства, в поле сумма у приходов будет сумма которую данный расход списал, а не сумма всего прихода.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getChargeDetailsList

    @Deprecated public java.util.List<BonusCharge> getChargeDetailsList​(int paymentId) throws ru.bitel.bgbilling.common.BGException
    Deprecated.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getDetailsChargeList

    public java.util.List<BonusDetailCharge> getDetailsChargeList​(int paymentId) throws ru.bitel.bgbilling.common.BGException
    Parameters:
      `paymentId` - - ид бонусного платежа
    Returns:
      вернет список расходов которые списывали средства с данного прихода, поле суммы у расхода будет занесенно сумма расхода конкретно для этого прихода, а не та сумма которую списал данный расход.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### deleteDeatails

    public void deleteDeatails​(int id) throws ru.bitel.bgbilling.common.BGException
    Удаление деталей расхода по его ид.
    Parameters:
      `id` - - ид детали расхода.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### isUsePaymentsInDetailsTable

    public boolean isUsePaymentsInDetailsTable​(int paymentId)
    Parameters:
      `paymentId` - - ид платежа

  - ### addDetailsItem

    public void addDetailsItem​(int chargeId, int paymentId, java.math.BigDecimal sum) throws ru.bitel.bgbilling.common.BGException
    Добавит детали расхода, какую сумму какой расход списал с конкретного платежа.
    Parameters:
      `chargeId` - - ид расхода.
      `paymentId` - - ид прихода.
      `sum` - - сумма списание с данного расхода.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### updateDetailsCharge

    public void updateDetailsCharge​(int id, int paymentId, java.math.BigDecimal sum) throws ru.bitel.bgbilling.common.BGException
    Обновление записи bonus_details_charge.
    Parameters:
      `id` - - код bonus_details_charge. Не путать с bonus_contract_charge.
      `paymentId` - - код платежа с которого списывает данная часть расхода.
      `sum` - - сумма.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getBalance

    public java.math.BigDecimal getBalance​(int cid, java.util.Date date) throws ru.bitel.bgbilling.common.BGException
    Parameters:
      `cid` - - номер договора
      `date` - - на какую дату
    Returns:
      вернет баланс на конкретную дату
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getBalance

    public java.math.BigDecimal getBalance​(int cid, java.util.Date date, java.lang.Integer chargeId, boolean withFutureCharge) throws ru.bitel.bgbilling.common.BGException
    Parameters:
      `cid` - - номер договора
      `date` - - на какую дату
      `chargeId` - - если не null, ид бонусного расхода который не будет учитываться.
      `withFutureCharge` - - если = true, то вернет баланс с учетом будущих расходов у приходов которые были активны на тот момент. Если баланс берется на текущий момент, то разницы не должно быть.
    Returns:
      вернет баланс на конкретную дату
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getNotActiveBalanceStill

    public java.math.BigDecimal getNotActiveBalanceStill​(int cid, java.util.Date date) throws ru.bitel.bgbilling.common.BGException
    Parameters:
      `cid` - - номер договора
      `date` - - на какую дату
    Returns:
      - сумму еще не активных платежей, которые будут доступны в будущем
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### pluginInclude

    public boolean pluginInclude​(int cid) throws ru.bitel.bgbilling.common.BGException
    Parameters:
      `cid` - - номер договора
    Returns:
      вернет true- если плагин включен у данного договора
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### updatePluginInclude

    public void updatePluginInclude​(int cid, boolean include) throws ru.bitel.bgbilling.common.BGException
    Включение/выкл. плагина у договора.
    Parameters:
      `cid` - - номер договора.
      `include` - - если true то вкл. плагина у договора.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### updateProgram

    public void updateProgram​(BonusProgram program) throws ru.bitel.bgbilling.common.BGException
    Обновление или создание бонусной программы.
    Parameters:
      `program` - - бонусная программ.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### checkProgramPeriodOnCrossing

    public boolean checkProgramPeriodOnCrossing​(BonusProgram program) throws ru.bitel.bgbilling.common.BGException
    Проверка на пересечения нового периода бонусной программы с периодом программы у договоров.
    Parameters:
      `program` - - бонусная программа у который выставлен проверяемый период.
    Returns:
      - true если пересечение имеет место или program==null или период==null или dateFrom==null.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getProgram

    public BonusProgram getProgram​(int id) throws ru.bitel.bgbilling.common.BGException
    Parameters:
      `id` - - ид бонусной программы
    Returns:
      бонусную программу, если существует, иначе null.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getProgramList

    public java.util.List<BonusProgram> getProgramList​(java.util.Date date, int programTypeId) throws ru.bitel.bgbilling.common.BGException
    Возврощает заведенные бонусные программы.
    Parameters:
      `date` - - вернет активные программы на эту дату, если = null, то вернет все програамы вне зависемости от активности.
      `programTypeId` - - вернет программы только данного типа, если = 0, то вернет все программы вне зависемости от типа.
    Returns:
      - список бонусных программ.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getProgramCotractList

    public java.util.List<BonusContractProgram> getProgramCotractList​(int cid) throws ru.bitel.bgbilling.common.BGException
    Parameters:
      `cid` - - номер договора.
    Returns:
      список бонусных програма у данного договора.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getProgramCotractList

    public java.util.List<BonusContractProgram> getProgramCotractList​(int cid, int programTypeId, java.util.Date date) throws ru.bitel.bgbilling.common.BGException
    Parameters:
      `cid` - - номер договора.
      `programTypeId` - - тип программы. Если < 1, то вернет все программы. На момент создание метода существует только 2 типа программ: операционный=1 и динамический=2.
      `date` - - активную на дату, если передать null, то вернет за все время.
    Returns:
      список бонусных программ у данного договора.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### updateProgramContract

    public void updateProgramContract​(BonusContractProgram contractProgram) throws ru.bitel.bgbilling.common.BGException
    Обновление или добовление бонусной программы для договора.
    Parameters:
      `contractProgram` - - бонусная программа для договора.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### programInContractList

    @Deprecated public java.util.List<java.lang.Integer> programInContractList​(int idProgram, java.util.Date date) throws ru.bitel.bgbilling.common.BGException
    Deprecated.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getContractsOfThisProgram

    public java.util.List<java.lang.Integer> getContractsOfThisProgram​(int idProgram, java.util.Date date) throws ru.bitel.bgbilling.common.BGException
    Parameters:
      `idProgram` - - ид программы.
      `date` - - на какое время, если null то вернет за все время.
    Returns:
      список ид договоров у которых активна данная бонусная программа на момент date.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### checkContractOnProgramType

    public boolean checkContractOnProgramType​(int cid, int programType, java.util.Date date) throws ru.bitel.bgbilling.common.BGException
    Parameters:
      `cid` - - номер договора
      `programType` - - тип программы(пока статик поля в BonusProgram)
      `date` - на какую дату проверку
    Returns:
      если у договора есть активные программы с данным типом бонусной программы то true
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### deleteProgram

    public void deleteProgram​(int programId) throws ru.bitel.bgbilling.common.BGException
    Удаление бонусной программы.
    Parameters:
      `programId` - - ID бонусной программы.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getProgramAction

    public BonusProgramSpecification getProgramAction​(BonusProgram bonusProgram)
    Получение программы действий для бонусной программы.
    Returns:
      соответствующий класс конкретной программы.

  - ### getProgramSpecificationForDynamicProgram

    public BonusProgramSpecification getProgramSpecificationForDynamicProgram​(java.lang.String className)
    Вернет спецификацию для динамической программы по ее полному имени.
    Returns:
      в случае успеха BonusProgramSpecification, иначе null.

  - ### updateDataProgramOfContract

    public void updateDataProgramOfContract​(int programId, int contractId, java.util.Map<java.lang.String,​java.lang.String> map) throws java.sql.SQLException
    Сохранение/обновлене данных для договора по выбранной программе.
    Parameters:
      `programId` - - код программы.
      `contractId` - - код договора.
      `map` - - непосредственно сами данные которые нужно сохранить.
    Throws:
      `java.sql.SQLException`

  - ### getDataProgramOfContract

    public java.util.Map<java.lang.String,​java.lang.String> getDataProgramOfContract​(int programId, int contractId) throws ru.bitel.bgbilling.common.BGException
    Получение мапа с данными для договора по выбранной программе.
    Parameters:
      `programid` - - код программы.
      `contractId` - - код договора.
    Returns:
      map с данными, всегда не null.
    Throws:
      `java.sql.SQLException`
      `ru.bitel.bgbilling.common.BGException`