Multimag  0.2.992
Открытые члены | Открытые статические члены | Защищенные члены | Защищенные данные | Статические защищенные данные
Класс PriceCalc

Расчёт цен в программе Учитывает скидки агента, пользователя, сумму заказа, и пр. Замена функций getCurrentUserCost и getCostPos Синглтон Подробнее...

Открытые члены

 setFromSiteFlag ($flag)
 
 setUserId ($user_id)
 
 setAgentId ($agent_id)
 
 setFirmId ($firm_id)
 
 getNBPFlag ()
 Получить флаг no_bulk_prices. Подробнее...
 
 getNRPFlag ()
 Получить флаг no_retail_prices. Подробнее...
 
 getAgentPriceId ()
 Получить id фиксированной цены агента Подробнее...
 
 setOrderSum ($order_sum)
 
 getDefaultPriceId ()
 Получить id цены по-умолчанию Подробнее...
 
 getRetailPriceId ()
 Получить id розничной цены Подробнее...
 
 getCurrentPriceName ()
 Получить наименование текущей цены Подробнее...
 
 getDefaultPriceName ()
 Получить наименование цены по-умолчанию Подробнее...
 
 getFirms ()
 Получить массив с информацией об организациях Подробнее...
 
 getCurrentPriceID ()
 
 getNextPriceInfo ()
 Получить ID следующей цены для текущего заказа Подробнее...
 
 getNextPeriodicPriceInfo ()
 Получить ID следующей цены для накопительной скидки Подробнее...
 
 getPosDefaultPriceValue ($pos_id, $pos_info=false)
 
 getPosRetailPriceValue ($pos_id, $pos_info=false)
 
 getPosUserPriceValue ($pos_id, $pos_info=false)
 Получить значение цены пользователя для товарного наименования Функция не учитывает заказываемое количество товара! Подробнее...
 
 getPosAutoPriceID ($pos_id, $count=0, $pos_info=false)
 
 getPosAutoPriceValue ($pos_id, $count=0, $pos_info=false)
 
 getPosSelectedPriceValue ($pos_id, $price_id, $pos_info=false)
 

Открытые статические члены

static getInstance ()
 

Защищенные члены

 fixPosInfo ($pos_id, $pos_info=false)
 Тестирует информацию о наименовании на наличие необходимых данных. Если данные не переданы - запрашивает из базы. Если данных не достаточно - выбрасывает исключение. Функция не оценивает корректность этих данных, только наличие необходимых ключей в массиве. Результат кешируется. Подробнее...
 
 getGroupPriceinfo ($group_id, $price_id)
 
 getPriceInfo ($price_id)
 

Защищенные данные

 $from_site_flag = 0
 флаг *заказ с сайта*. Подробнее...
 
 $user_id = 0
 id пользователя, для кторого расчитываем цены Подробнее...
 
 $agent_id = 0
 id агента, для которого расчитываем цены Подробнее...
 
 $order_sum = 0
 сумма заказа, для которого расчитываем цены Подробнее...
 
 $firm_id = 0
 id организации, для которой расчитываем цены Подробнее...
 
 $agent_avg_sum = false
 Средняя сумма оборота агента Подробнее...
 
 $current_price_id = 0
 id цены для текущих параметров заказа. При изменениии параметров - сбрасывается. Подробнее...
 
 $retail_price_id = 0
 id розничной цены. Подробнее...
 
 $siteuser_price_id = 0
 id цены для зарегистрированного пользователя Подробнее...
 
 $default_price_id = 0
 id цены по умолчанию Подробнее...
 
 $agent_price_id = 0
 id фиксированной цены агента Подробнее...
 
 $no_retail_prices = 0
 флаг, запрещающий автоматическое использование розничных цен Подробнее...
 
 $no_bulk_prices = 0
 флаг, запрещающий автоматическое использование разовых скидочных цен Подробнее...
 
 $bulk_prices
 Список автоматических цен, включаемых по разным факторам Подробнее...
 
 $prices
 Все цены Подробнее...
 
 $pos_info_cache
 Кеш информации о наименованиях Подробнее...
 
 $ppc
 Кеш цен наименований Подробнее...
 
 $gpi
 Кеш цен групп Подробнее...
 
 $firms
 Организации Подробнее...
 

Статические защищенные данные

static $_instance
 Экземпляр для синглтона Подробнее...
 

Подробное описание

Расчёт цен в программе Учитывает скидки агента, пользователя, сумму заказа, и пр. Замена функций getCurrentUserCost и getCostPos Синглтон

См. определение в файле pricecalc.php строка 26

Методы

fixPosInfo (   $pos_id,
  $pos_info = false 
)
protected

Тестирует информацию о наименовании на наличие необходимых данных. Если данные не переданы - запрашивает из базы. Если данных не достаточно - выбрасывает исключение. Функция не оценивает корректность этих данных, только наличие необходимых ключей в массиве. Результат кешируется.

Аргументы
$pos_idid товарного наименования
$pos_infoМассив с данными товарного наименования
$pos_infoМассив с данными товарного наименования: base_price, group, bulkcnt.

См. определение в файле pricecalc.php строка 405

getAgentPriceId ( )

Получить id фиксированной цены агента

См. определение в файле pricecalc.php строка 148

getCurrentPriceID ( )

Получить ID текущей цены. Учитываются разные критерии.

Возвращает
id текущей цены

См. определение в файле pricecalc.php строка 188

getCurrentPriceName ( )

Получить наименование текущей цены

См. определение в файле pricecalc.php строка 170

getDefaultPriceId ( )

Получить id цены по-умолчанию

См. определение в файле pricecalc.php строка 160

getDefaultPriceName ( )

Получить наименование цены по-умолчанию

См. определение в файле pricecalc.php строка 176

getFirms ( )

Получить массив с информацией об организациях

См. определение в файле pricecalc.php строка 182

getGroupPriceinfo (   $group_id,
  $price_id 
)
protected

Получить информацию о переопределении цены в группе

Аргументы
$group_idid группы товаров
$price_idid цены
Возвращает
Ассоциативный массив с ключами pid, gc_id, type, value, accuracy, direction

См. определение в файле pricecalc.php строка 534

static getInstance ( )
static

Получить экземпляр класса

Возвращает
PriceCalc

См. определение в файле pricecalc.php строка 99

getNBPFlag ( )

Получить флаг no_bulk_prices.

См. определение в файле pricecalc.php строка 138

getNextPeriodicPriceInfo ( )

Получить ID следующей цены для накопительной скидки

См. определение в файле pricecalc.php строка 267

getNextPriceInfo ( )

Получить ID следующей цены для текущего заказа

См. определение в файле pricecalc.php строка 236

getNRPFlag ( )

Получить флаг no_retail_prices.

См. определение в файле pricecalc.php строка 143

getPosAutoPriceID (   $pos_id,
  $count = 0,
  $pos_info = false 
)

Получить ID цены для товарного наименования при заданном приобретаемом количестве

Аргументы
$pos_idid товарного наименования
$countколичество наименования в заказе
$pos_infoМассив с данными товарного наименования: base_price, group, bulkcnt. Если параметр не задан - данные будут взяты из базы
Возвращает
ID цены

См. определение в файле pricecalc.php строка 375

getPosAutoPriceValue (   $pos_id,
  $count = 0,
  $pos_info = false 
)

Получить значение цены для товарного наименования при заданном приобретаемом количестве

Аргументы
pos_idid товарного наименования
countколичество наименования в заказе
Возвращает
Значение цены

См. определение в файле pricecalc.php строка 394

getPosDefaultPriceValue (   $pos_id,
  $pos_info = false 
)

Получить значение цены по умолчанию для товарного наименования

Аргументы
$pos_idid товарного наименования
$pos_infoМассив с данными товарного наименования: base_price, group, bulkcnt. Если параметр не задан - данные будут взяты из базы
Возвращает
Значение цены

См. определение в файле pricecalc.php строка 345

getPosRetailPriceValue (   $pos_id,
  $pos_info = false 
)

Получить значение розничной цены для товарного наименования

Аргументы
$pos_idid товарного наименования
$pos_infoМассив с данными товарного наименования: base_price, group, bulkcnt. Если параметр не задан - данные будут взяты из базы
Возвращает
Значение цены

См. определение в файле pricecalc.php строка 354

getPosSelectedPriceValue (   $pos_id,
  $price_id,
  $pos_info = false 
)

Получить значение выбранной цены для товарного наименования. Данные кешируются.

Аргументы
$pos_idid товарного наименования
$price_idid цены
$pos_infoМассив с данными товарного наименования: base_price, group, bulkcnt. Если параметр не задан - данные будут взяты из базы
Возвращает
Значение цены

См. определение в файле pricecalc.php строка 437

getPosUserPriceValue (   $pos_id,
  $pos_info = false 
)

Получить значение цены пользователя для товарного наименования Функция не учитывает заказываемое количество товара!

Аргументы
$pos_idid товарного наименования
$pos_infoМассив с данными товарного наименования: base_price, group, bulkcnt. Если параметр не задан - данные будут взяты из базы
Возвращает
Значение цены

См. определение в файле pricecalc.php строка 364

getPriceInfo (   $price_id)
protected

Получить информацию о цене по её ID

Аргументы
$price_idid цены
Возвращает
Ассоциативный массив с ключами id, name, type, value, context, priority, accuracy, direction, bulk_threshold, acc_threshold

См. определение в файле pricecalc.php строка 558

getRetailPriceId ( )

Получить id розничной цены

См. определение в файле pricecalc.php строка 165

setAgentId (   $agent_id)

Установить ID агента для расчёта цен

Аргументы
$agent_idid агента. Должен существовать.

См. определение в файле pricecalc.php строка 122

setFirmId (   $firm_id)

Установить ID собственной организации для расчёта цен

Аргументы
$firm_idid организации. Должна существовать.

См. определение в файле pricecalc.php строка 133

setFromSiteFlag (   $flag)

Установить флаг *заказ с сайта*

Аргументы
$flagФлаг

См. определение в файле pricecalc.php строка 108

setOrderSum (   $order_sum)

Установить сумму заказа

Аргументы
$order_sumсумма заказа

См. определение в файле pricecalc.php строка 154

setUserId (   $user_id)

Установить ID пользователя для расчёта цен

Аргументы
$user_idid пользователя.

См. определение в файле pricecalc.php строка 115

Поля

$_instance
staticprotected

Экземпляр для синглтона

См. определение в файле pricecalc.php строка 28

$agent_avg_sum = false
protected

Средняя сумма оборота агента

См. определение в файле pricecalc.php строка 38

$agent_id = 0
protected

id агента, для которого расчитываем цены

См. определение в файле pricecalc.php строка 33

$agent_price_id = 0
protected

id фиксированной цены агента

См. определение в файле pricecalc.php строка 43

$bulk_prices
protected

Список автоматических цен, включаемых по разным факторам

См. определение в файле pricecalc.php строка 46

$current_price_id = 0
protected

id цены для текущих параметров заказа. При изменениии параметров - сбрасывается.

См. определение в файле pricecalc.php строка 39

$default_price_id = 0
protected

id цены по умолчанию

См. определение в файле pricecalc.php строка 42

$firm_id = 0
protected

id организации, для которой расчитываем цены

См. определение в файле pricecalc.php строка 35

$firms
protected

Организации

См. определение в файле pricecalc.php строка 51

$from_site_flag = 0
protected

флаг *заказ с сайта*.

См. определение в файле pricecalc.php строка 31

$gpi
protected

Кеш цен групп

См. определение в файле pricecalc.php строка 50

$no_bulk_prices = 0
protected

флаг, запрещающий автоматическое использование разовых скидочных цен

См. определение в файле pricecalc.php строка 45

$no_retail_prices = 0
protected

флаг, запрещающий автоматическое использование розничных цен

См. определение в файле pricecalc.php строка 44

$order_sum = 0
protected

сумма заказа, для которого расчитываем цены

См. определение в файле pricecalc.php строка 34

$pos_info_cache
protected

Кеш информации о наименованиях

См. определение в файле pricecalc.php строка 48

$ppc
protected

Кеш цен наименований

См. определение в файле pricecalc.php строка 49

$prices
protected

Все цены

См. определение в файле pricecalc.php строка 47

$retail_price_id = 0
protected

id розничной цены.

См. определение в файле pricecalc.php строка 40

$siteuser_price_id = 0
protected

id цены для зарегистрированного пользователя

См. определение в файле pricecalc.php строка 41

$user_id = 0
protected

id пользователя, для кторого расчитываем цены

См. определение в файле pricecalc.php строка 32


Объявления и описания членов класса находятся в файле: