Разработка:storages/accentryes

Материал из DOF
Перейти к: навигация, поиск
Плагин
Название accentryes
Тип storages


Таблица в базе данных

accentryes - справочник операций по счетам. Все счета хранятся в справочнике Разработка:storages/accounts.

Подробный формат полей в таблице:

  • id - id операции.
  • fromid - id счета-источника.
  • toid - id счета-получателя.
  • amount - сумма операции.
  • orderid - id приказа, на основании которого совершена операция.
  • createdate - дата фактической региcтрации проводки.
  • date - дата выполнения операции.
  • extentryopts - массив с опциями внешнего ключа.
  • extentryoptshash - хеш опций внешнего ключа.
  • about - пояснение операции.
  • status - статус операции.

Дополнительные методы:

Публичные методы:

add_accentry($ptype, $pcode, $objectid, $code, $type, $name, $params, $status = 'active')

Добавляет новую операцию по счету в справочник.

Аргументы:

  • $fromid(int) - счет, с которого списываем сумму.
  • $toid(int) - счет, на который переводим сумму.
  • $amount(float) - сумма операции.
  • $orderid(int) - id приказа, в соответствии с которым совершена операция.
  • $date(int) - дата, когда необходимо провести операцию.
  • $extentryopts(array) - массив опций внешнего ключа.
  • $about(string) - описание операции.
  • $status(string) - статус операции.

Возвращаемые значения:

  • object - объект операции.
  • bool - false в случае ошибки.

Структура работы:

  1. Проверяем существование счета - источника и счета - получателя.
  2. Формируем объект для добавления в БД.
  3. Проверяем по хэшу, есть ли в системе такая операция.

get_history($accountid,$begindate=null,$enddate=null)

Получает историю операций по счету за определенный период.

Аргументы:

  • $accountid(int) - id счета.
  • $begindate(int) - начальная дата, если null - не учитывается.
  • $enddate(int) - конечная дата, если null - не учитывается.

Возвращаемые значения:

  • array - массив операций.
  • bool - false в случае ошибки.

Структура работы:

  1. Метод проверяет входные данные.
  2. Производится формирование sql-фрагмента кода
  3. Подсчитывается баланс по счету после каждой проведенной операции, операции, не удовлетворяющие условию по времени, удаляются.

get_account_balance($accountid,$date)

Возвращает баланс по счету $accountid на дату $date.

Аргументы:

  • $accountid(int) - id счета.
  • $date(int) - дата, на которую необходимо получить баланс.

Возвращаемые значения:

  • float - баланс по счету.

Структура работы:

  1. Метод получает историю по аккаунту до даты $date
  2. Проверяются данные истории. Если история - пустой массив, тогда баланс = 0, если false, то произошла ошибка.
  3. Возвращаем баланс или false в случае ошибки

Приватные методы:

get_extentryoptshash($extentryopts)

Возвращает md5-хэш от массива опций.

Аргументы:

  • $extentryopts(array) - массив опций

Возвращаемые значения:

  • string - хэш.