}
}
}
+
+ public static function calculateFactFormula(&$motivationDataTableSort) {
+ $indMap = [];
+ foreach ($motivationDataTableSort as $ind => $row) {
+ if (!key_exists('name', $row)) {
+ continue;
+ }
+ $indMap[$row['name']] = $ind;
+ }
+ $motivationDataTableSort[$indMap["Продажа товара"]]["fact"] =
+ $motivationDataTableSort[$indMap["Оффлайн продажи"]]["fact"] +
+ $motivationDataTableSort[$indMap["Онлайн продажи"]]["fact"];
+
+ $motivationDataTableSort[$indMap["Прочие услуги"]]["fact"] =
+ $motivationDataTableSort[$indMap["Услуги по сборке"]]["fact"] +
+ $motivationDataTableSort[$indMap["Услуги по доставке"]]["fact"];
+
+ $motivationDataTableSort[$indMap["Выручка от реализации"]]["fact"] =
+ $motivationDataTableSort[$indMap["Продажа товара"]]["fact"] +
+ $motivationDataTableSort[$indMap["Прочие услуги"]]["fact"];
+
+ $motivationDataTableSort[$indMap["Услуги агентов (Расходы на закупку, хранение, доставку товара)"]]["fact"] =
+ (
+ $motivationDataTableSort[$indMap["Стоимость товара"]]["fact"] +
+ $motivationDataTableSort[$indMap["Брак, пересорт"]]["fact"]
+ ) *
+ $motivationDataTableSort[$indMap["Услуги агентов (тариф)"]]["fact"];
+
+ $motivationDataTableSort[$indMap["Брак, пересорт"]]["fact"] =
+ $motivationDataTableSort[$indMap["Брак с поставки"]]["fact"] +
+ $motivationDataTableSort[$indMap["Списание неликвидного товара: порча, истечение срока годности"]]["fact"] +
+ $motivationDataTableSort[$indMap["Брак из-за поломки оборудования"]]["fact"] +
+ $motivationDataTableSort[$indMap["Пересорт"]]["fact"];
+
+ $motivationDataTableSort[$indMap["Прямые расходы на продажу"]]["fact"] =
+ $motivationDataTableSort[$indMap["Стоимость товара"]]["fact"] +
+ $motivationDataTableSort[$indMap["Услуги агентов (Расходы на закупку, хранение, доставку товара)"]]["fact"] +
+ $motivationDataTableSort[$indMap["Брак, пересорт"]]["fact"] +
+ $motivationDataTableSort[$indMap["Расходные материалы (обеспечение продаж)"]]["fact"];
+
+ $motivationDataTableSort[$indMap["Маржинальный доход"]]["fact"] =
+ $motivationDataTableSort[$indMap["Выручка от реализации"]]["fact"] -
+ $motivationDataTableSort[$indMap["Прямые расходы на продажу"]]["fact"];
+
+ $motivationDataTableSort[$indMap["Оплата труда"]]["fact"] =
+ $motivationDataTableSort[$indMap["Фонд оплаты труда персонала"]]["fact"];
+
+ $motivationDataTableSort[$indMap["Содержание помещения"]]["fact"] =
+ $motivationDataTableSort[$indMap["Аренда"]]["fact"] +
+ $motivationDataTableSort[$indMap["Коммунальные услуги"]]["fact"] +
+ $motivationDataTableSort[$indMap["Охрана"]]["fact"] +
+ $motivationDataTableSort[$indMap["Услуги по уборке помещений и территории"]]["fact"];
+
+ $motivationDataTableSort[$indMap["Расходы по доставке"]]["fact"] =
+ $motivationDataTableSort[$indMap["Доставка до клиента курьер"]]["fact"] +
+ $motivationDataTableSort[$indMap["Доставка до клиента такси"]]["fact"];
+
+ $motivationDataTableSort[$indMap["Содержание и обслуживание ОС и НМА"]]["fact"] =
+ $motivationDataTableSort[$indMap["Холодильное оборудование (ремонт, содержание, ТО)"]]["fact"] +
+ $motivationDataTableSort[$indMap["Расходы на содержание и ремонт оргтехники, в т.ч. расходные материалы"]]["fact"] +
+ $motivationDataTableSort[$indMap["Расходы на содержание и ремонт прочих ОС"]]["fact"] +
+ $motivationDataTableSort[$indMap["Техническое обслуживание кассовых аппаратов"]]["fact"];
+
+ $motivationDataTableSort[$indMap["Услуги связи"]]["fact"] =
+ $motivationDataTableSort[$indMap["Интернет"]]["fact"];
+
+ $motivationDataTableSort[$indMap["Прочие операционные расходы"]]["fact"] =
+ $motivationDataTableSort[$indMap["Хозяйственные товары"]]["fact"] +
+ $motivationDataTableSort[$indMap["Канцтовары"]]["fact"] +
+ $motivationDataTableSort[$indMap["Вода питьевая"]]["fact"];
+
+ $motivationDataTableSort[$indMap["Операционные расходы (Себестоимость)"]]["fact"] =
+ $motivationDataTableSort[$indMap["Оплата труда"]]["fact"] +
+ $motivationDataTableSort[$indMap["Содержание помещения"]]["fact"] +
+ $motivationDataTableSort[$indMap["Расходы по доставке"]]["fact"] +
+ $motivationDataTableSort[$indMap["Услуги маркетплейсов"]]["fact"] +
+ $motivationDataTableSort[$indMap["Содержание и обслуживание ОС и НМА"]]["fact"] +
+ $motivationDataTableSort[$indMap["Услуги связи"]]["fact"] +
+ $motivationDataTableSort[$indMap["Прочие операционные расходы"]]["fact"];
+
+ $motivationDataTableSort[$indMap["Валовая прибыль"]]["fact"] =
+ $motivationDataTableSort[$indMap["Маржинальный доход"]]["fact"] -
+ $motivationDataTableSort[$indMap["Операционные расходы (Себестоимость)"]]["fact"];
+
+ $motivationDataTableSort[$indMap["Бухгалтерия и финансы"]]["fact"] =
+ $motivationDataTableSort[$indMap["Бухгалтерские услуги: постановка и ведение БУ и НУ"]]["fact"];
+
+ $motivationDataTableSort[$indMap["Юридическое сопровождение"]]["fact"] =
+ $motivationDataTableSort[$indMap["Юридические услуги"]]["fact"];
+
+ $motivationDataTableSort[$indMap["HR- услуги"]]["fact"] =
+ $motivationDataTableSort[$indMap["Кадровое администрирование, охрана труда"]]["fact"] +
+ $motivationDataTableSort[$indMap["Услуги по подбору персонала"]]["fact"];
+
+ $motivationDataTableSort[$indMap["IT услуги"]]["fact"] =
+ $motivationDataTableSort[$indMap["Администрирование ИТ инфраструктуры (подключения к базам данных, ПО, почта, интернет)"]]["fact"] +
+ $motivationDataTableSort[$indMap["Лицензия на ПО: ERP система"]]["fact"];
+
+ $motivationDataTableSort[$indMap["Общехозяйственные расходы"]]["fact"] =
+ $motivationDataTableSort[$indMap["Бухгалтерия и финансы"]]["fact"] +
+ $motivationDataTableSort[$indMap["Юридическое сопровождение"]]["fact"] +
+ $motivationDataTableSort[$indMap["HR- услуги"]]["fact"] +
+ $motivationDataTableSort[$indMap["IT услуги"]]["fact"] +
+ $motivationDataTableSort[$indMap["Продвижение и продажа товара через сайт"]]["fact"];
+
+ $motivationDataTableSort[$indMap["Чистая прибыль"]]["fact"] =
+ $motivationDataTableSort[$indMap["Валовая прибыль"]]["fact"] -
+ $motivationDataTableSort[$indMap["Общехозяйственные расходы"]]["fact"];
+
+ $j5 = $motivationDataTableSort[$indMap["Выручка от реализации"]]["fact"];
+ if ($j5 != 0) {
+ $motivationDataTableSort[$indMap["Рентабельность по чистой прибыли, %"]]["fact"] =
+ $motivationDataTableSort[$indMap["Чистая прибыль"]]["fact"] / $j5;
+ }
+
+ $j62 = $motivationDataTableSort[$indMap["Чистая прибыль"]]["fact"];
+ $b64 = $motivationDataTableSort[$indMap["Минимальный порог Чистой прибыли, руб."]]["plan"];
+
+ $j66 = 0;
+ if ($j62 >= $b64) {
+ $formula = $j62 - $j5 * $motivationDataTableSort[$indMap["Пороговый коэффициент"]]["plan"];
+ if ($formula > 0) {
+ $j66 = $formula;
+ }
+ }
+ $motivationDataTableSort[$indMap["Расчет премии"]]["fact"] = $j66;
+
+ }
}