class MotivationService
{
+ const CODE_OFFLINE_SALES = 1;
+ const CODE_ONLINE_SALES = 2;
+ const CODE_ASSEMBLY_SERVICES = 3;
+ const CODE_DELIVERY_SERVICES = 4;
+ const CODE_DELIVERY_DEFECTS = 6;
+ const CODE_WRITE_OFF_ILLIQUID_GOODS_SPOOLAGE_EXPIRATION_OF_SHELF_LIFE = 7;
+ const CODE_EQUIPMENT_FAILURE_DEFECT = 8;
+ const CODE_REGRADING = 9;
+ const CODE_CONSUMABLES_SALES_SUPPORT = 10;
+ const CODE_RENT = 12;
+ const CODE_PUBLIC_SERVICES = 13;
+ const CODE_SECURITY = 14;
+ const CODE_CLEANING_SERVICES_FOR_PREMISES_AND_TERRITORY = 15;
+ const CODE_DELIVERY_TO_CLIENT_CURRIER = 16;
+ const CODE_DELIVERY_TO_CLIENT_TAXI = 17;
+ const CODE_MARKETPLACE_SERVICES = 18;
+ const CODE_REFRIGERATION_EQUIPMENT_REPAIR_MAINTANANCE = 19;
+ const CODE_COSTS_FOR_MAINTENANCE_AND_REPAIR_OF_OFFICE_EQUIPMENT_INCLUDING_CONSUMABLES = 20;
+ const CODE_EXPENSES_FOR_MAINENANCE_AND_REPAIR_OF_OTHER_FIXED_ASSETS = 21;
+ const CODE_MAINTENANCE_OF_CASH_REGISTERS = 22;
+ const CODE_INTERNET = 23;
+ const CODE_HOUSEHOLD_GOODS = 24;
+ const CODE_STATIONARY = 25;
+ const CODE_ACCOUNTING_SERVICES_SETTING_UP_AND_MAINTAINING_ACCOUNTING_AND_TAX_RECORDS = 27;
+ const CODE_LEGAL_SERVICES = 28;
+ const CODE_PERSONAL_ADMINISTRATION_LABOR_PROTECTION = 29;
+ const CODE_RECRUITMENT_SERVICES = 30;
+ const CODE_ADMINISTRATION_OF_IT_INFRASTRUCTURE_CONNECTIONS_TO_DATABASES_SOFTWARE_MAIL_INTERNET = 31;
+ const CODE_SOFTWARE_LICENSE_ERP_SYSTEM = 32;
+ const CODE_PROMOTION_AND_SALE_OF_GOODS_THROUGH_THE_WEBSITE = 33;
+ const CODE_PERSONAL_ADMINISTRATION_LABOR_PROTECTION_TARIFF = 36;
+ const CODE_BASE_BONUS = 37;
+ const CODE_BONUS_SIZE = 38;
+ const CODE_AGENT_SERVICES_TARIFF = 35;
+ const CODE_NUMBER_OF_EMPLOYEES = 34;
+ const CODE_PAYROLL_FUND = 11;
+ const CODE_THRESHOLD_COEFFICIENT = 39;
+ const CODE_DRINKING_WATER = 26;
+ const CODE_COSTS_OF_GOODS = 5;
+
+ const CODE_REVENUE_FROM_SALES = 1001;
+ const CODE_SALE_OF_GOODS = 1002;
+ const CODE_OTHER_SERVICES = 1003;
+ const CODE_DIRECT_SELLING_COSTS = 1004;
+ const CODE_COST_PRICE_OF_GOODS = 1005;
+ const CODE_AGENT_SERVICES_EXPENSES_FOR_PURCHASING_STORING_DELIVERING_GOODS = 1006;
+ const CODE_DEFECT_RESORTING = 1007;
+ const CODE_MARGINAL_INCOME = 1008;
+ const CODE_OPERATIONAL_EXPANSES_COST = 1009;
+ const CODE_PAYMENT = 1010;
+ const CODE_MAINTENANCE_OF_PRIMISES = 1011;
+ const CODE_DELIVERY_COST = 1012;
+ const CODE_MAINTENANCE_AND_SERVICE_OF_FIXED_ASSETS_AND_INTANGIBLE_ASSETS = 1013;
+ const CODE_COMMUNICATION_SERVICES = 1014;
+ const CODE_OTHER_OPERATING_EXPENSES = 1015;
+ const CODE_GROSS_PROFIT = 1016;
+ const CODE_GENERAL_BUSINESS_EXPENSES = 1017;
+ const CODE_ACCOUNTING_AND_FINANCE = 1018;
+ const CODE_LEGAL_SUPPORT = 1019;
+ const CODE_HR_SERVICES = 1020;
+ const CODE_IT_SERVICES = 1021;
+ const CODE_NET_PROFIT = 1022;
+ const CODE_NET_PROFIT_MARGIN_PERCENT = 1023;
+ const CODE_NET_PROFIT_THRESHOLD_RUB = 1024;
+ const CODE_CALCULATION_OF_PREMIUM = 1025;
// 6. Создание массива дополнительных элементов
static $additionalItems = [
- 80 => ['name' => 'Выручка от реализации'],
- 90 => ['name' => 'Продажа товара'],
- 115 => ['name' => 'Прочие услуги'],
- 135 => ['name' => 'Прямые расходы на продажу'],
- 139 => ['name' => 'Себестоимость товара'],
- 143 => ['name' => 'Услуги агентов (Расходы на закупку, хранение, доставку товара)'],
- 146 => ['name' => 'Брак, пересорт'],
- 192 => ['name' => 'Маржинальный доход'],
- 194 => ['name' => 'Операционные расходы (Себестоимость)'],
- 196 => ['name' => 'Оплата труда'],
- 205 => ['name' => 'Содержание помещения'],
- 245 => ['name' => 'Расходы по доставке'],
- 275 => ['name' => 'Содержание и обслуживание ОС и НМА'],
- 315 => ['name' => 'Услуги связи'],
- 325 => ['name' => 'Прочие операционные расходы'],
- 353 => ['name' => 'Валовая прибыль'],
- 355 => ['name' => 'Общехозяйственные расходы'],
- 357 => ['name' => 'Бухгалтерия и финансы'],
- 365 => ['name' => 'Юридическое сопровождение'],
- 375 => ['name' => 'HR- услуги'],
- 395 => ['name' => 'IT услуги'],
- 425 => ['name' => 'Чистая прибыль'],
- 427 => ['name' => 'Рентабельность по чистой прибыли, %'],
- 428 => ['name' => 'Минимальный порог Чистой прибыли, руб.'],
- 435 => ['name' => 'Расчет премии']
+ 80 => ['name' => 'Выручка от реализации', 'code' => self::CODE_REVENUE_FROM_SALES],
+ 90 => ['name' => 'Продажа товара', 'code' => self::CODE_SALE_OF_GOODS],
+ 115 => ['name' => 'Прочие услуги', 'code' => self::CODE_OTHER_SERVICES],
+ 135 => ['name' => 'Прямые расходы на продажу', 'code' => self::CODE_DIRECT_SELLING_COSTS],
+ 139 => ['name' => 'Себестоимость товара', 'code' => self::CODE_COST_PRICE_OF_GOODS],
+ 143 => ['name' => 'Услуги агентов (Расходы на закупку, хранение, доставку товара)', 'code' => self::CODE_AGENT_SERVICES_EXPENSES_FOR_PURCHASING_STORING_DELIVERING_GOODS],
+ 146 => ['name' => 'Брак, пересорт', 'code' => self::CODE_DEFECT_RESORTING],
+ 192 => ['name' => 'Маржинальный доход', 'code' => self::CODE_MARGINAL_INCOME],
+ 194 => ['name' => 'Операционные расходы (Себестоимость)', 'code' => self::CODE_OPERATIONAL_EXPANSES_COST],
+ 196 => ['name' => 'Оплата труда', 'code' => self::CODE_PAYMENT],
+ 205 => ['name' => 'Содержание помещения', 'code' => self::CODE_MAINTENANCE_OF_PRIMISES],
+ 245 => ['name' => 'Расходы по доставке', 'code' => self::CODE_DELIVERY_COST],
+ 275 => ['name' => 'Содержание и обслуживание ОС и НМА', 'code' => self::CODE_MAINTENANCE_AND_SERVICE_OF_FIXED_ASSETS_AND_INTANGIBLE_ASSETS],
+ 315 => ['name' => 'Услуги связи', 'code' => self::CODE_COMMUNICATION_SERVICES],
+ 325 => ['name' => 'Прочие операционные расходы', 'code' => self::CODE_OTHER_OPERATING_EXPENSES],
+ 353 => ['name' => 'Валовая прибыль', 'code' => self::CODE_GROSS_PROFIT],
+ 355 => ['name' => 'Общехозяйственные расходы', 'code' => self::CODE_GENERAL_BUSINESS_EXPENSES],
+ 357 => ['name' => 'Бухгалтерия и финансы', 'code' => self::CODE_ACCOUNTING_AND_FINANCE],
+ 365 => ['name' => 'Юридическое сопровождение', 'code' => self::CODE_LEGAL_SUPPORT],
+ 375 => ['name' => 'HR- услуги', 'code' => self::CODE_HR_SERVICES],
+ 395 => ['name' => 'IT услуги', 'code' => self::CODE_IT_SERVICES],
+ 425 => ['name' => 'Чистая прибыль', 'code' => self::CODE_NET_PROFIT],
+ 427 => ['name' => 'Рентабельность по чистой прибыли, %', 'code' => self::CODE_NET_PROFIT_MARGIN_PERCENT],
+ 428 => ['name' => 'Минимальный порог Чистой прибыли, руб.', 'code' => self::CODE_NET_PROFIT_THRESHOLD_RUB],
+ 435 => ['name' => 'Расчет премии', 'code' => self::CODE_CALCULATION_OF_PREMIUM]
];
// Код из таблицы MotivationCostsItem строки - Фонд оплаты труда персонала
return $weeks;
}
- public static function calculateFactFormula(&$motivationDataTableSort, $year, $month) {
+ public static function calculateFactFormula($motivationDataTableSort, $year, $month) {
// Определяем последний день месяца
$lastDayOfMonth = date('t', strtotime("$year-$month-01"));
$indMap = [];
foreach ($motivationDataTableSort as $ind => $row) {
- if (!key_exists('name', $row)) {
+ if (!key_exists('code', $row)) {
continue;
}
- $indMap[$row['name']] = $ind;
+ $indMap[intval($row['code'])] = $ind;
}
foreach (range(0,7) as $ind) {
switch ($ind) {
default: { $column = 'week' . $ind; break; }
}
- $motivationDataTableSort[$indMap["Продажа товара"]][$column] =
- $motivationDataTableSort[$indMap["Оффлайн продажи"]][$column] +
- $motivationDataTableSort[$indMap["Онлайн продажи"]][$column] + 0;
+ $motivationDataTableSort[$indMap[self::CODE_SALE_OF_GOODS]][$column] = // "Продажа товара"
+ $motivationDataTableSort[$indMap[self::CODE_OFFLINE_SALES]][$column] + // "Оффлайн продажи"
+ $motivationDataTableSort[$indMap[self::CODE_ONLINE_SALES]][$column] + 0; // "Онлайн продажи"
- $motivationDataTableSort[$indMap["Прочие услуги"]][$column] =
- $motivationDataTableSort[$indMap["Услуги по сборке"]][$column] +
- $motivationDataTableSort[$indMap["Услуги по доставке"]][$column] + 0;
+ $motivationDataTableSort[$indMap[self::CODE_OTHER_SERVICES]][$column] = // "Прочие услуги"
+ $motivationDataTableSort[$indMap[self::CODE_ASSEMBLY_SERVICES]][$column] + // "Услуги по сборке"
+ $motivationDataTableSort[$indMap[self::CODE_DELIVERY_SERVICES]][$column] + 0; // "Услуги по доставке"
- $motivationDataTableSort[$indMap["Выручка от реализации"]][$column] =
- $motivationDataTableSort[$indMap["Продажа товара"]][$column] +
- $motivationDataTableSort[$indMap["Прочие услуги"]][$column] + 0;
+ $motivationDataTableSort[$indMap[self::CODE_REVENUE_FROM_SALES]][$column] = // "Выручка от реализации"
+ $motivationDataTableSort[$indMap[self::CODE_SALE_OF_GOODS]][$column] + // "Продажа товара"
+ $motivationDataTableSort[$indMap[self::CODE_OTHER_SERVICES]][$column] + 0; // "Прочие услуги"
- $motivationDataTableSort[$indMap["Себестоимость товара"]][$column] =
- $motivationDataTableSort[$indMap["Стоимость товара"]][$column] + 0;
+ $motivationDataTableSort[$indMap[self::CODE_COST_PRICE_OF_GOODS]][$column] = // "Себестоимость товара"
+ $motivationDataTableSort[$indMap[self::CODE_COSTS_OF_GOODS]][$column] + 0; // "Стоимость товара"
- $motivationDataTableSort[$indMap["Услуги агентов (Расходы на закупку, хранение, доставку товара)"]][$column] =
+ $motivationDataTableSort[$indMap[self::CODE_AGENT_SERVICES_EXPENSES_FOR_PURCHASING_STORING_DELIVERING_GOODS]][$column] = // "Услуги агентов (Расходы на закупку, хранение, доставку товара)"
(
- $motivationDataTableSort[$indMap["Себестоимость товара"]][$column] +
- $motivationDataTableSort[$indMap["Брак, пересорт"]][$column]
+ $motivationDataTableSort[$indMap[self::CODE_COST_PRICE_OF_GOODS]][$column] + // "Себестоимость товара"
+ $motivationDataTableSort[$indMap[self::CODE_DEFECT_RESORTING]][$column] // "Брак, пересорт"
) *
- $motivationDataTableSort[$indMap["Услуги агентов (тариф)"]][$column];
-
- $motivationDataTableSort[$indMap["Брак, пересорт"]][$column] =
- $motivationDataTableSort[$indMap["Брак с поставки"]][$column] +
- $motivationDataTableSort[$indMap["Списание неликвидного товара: порча, истечение срока годности"]][$column] +
- $motivationDataTableSort[$indMap["Брак из-за поломки оборудования"]][$column] +
- $motivationDataTableSort[$indMap["Пересорт"]][$column] + 0;
-
- $motivationDataTableSort[$indMap["Прямые расходы на продажу"]][$column] =
- $motivationDataTableSort[$indMap["Себестоимость товара"]][$column] +
- $motivationDataTableSort[$indMap["Услуги агентов (Расходы на закупку, хранение, доставку товара)"]][$column] +
- $motivationDataTableSort[$indMap["Брак, пересорт"]][$column] +
- $motivationDataTableSort[$indMap["Расходные материалы (обеспечение продаж)"]][$column] + 0;
-
- $motivationDataTableSort[$indMap["Маржинальный доход"]][$column] =
- $motivationDataTableSort[$indMap["Выручка от реализации"]][$column] -
- $motivationDataTableSort[$indMap["Прямые расходы на продажу"]][$column] + 0;
-
- $motivationDataTableSort[$indMap["Оплата труда"]][$column] =
- $motivationDataTableSort[$indMap["Фонд оплаты труда персонала"]][$column] + 0;
-
- $motivationDataTableSort[$indMap["Содержание помещения"]][$column] =
- $motivationDataTableSort[$indMap["Аренда"]][$column] +
- $motivationDataTableSort[$indMap["Коммунальные услуги"]][$column] +
- $motivationDataTableSort[$indMap["Охрана"]][$column] +
- $motivationDataTableSort[$indMap["Услуги по уборке помещений и территории"]][$column] + 0;
-
- $motivationDataTableSort[$indMap["Расходы по доставке"]][$column] =
- $motivationDataTableSort[$indMap["Доставка до клиента курьер"]][$column] +
- $motivationDataTableSort[$indMap["Доставка до клиента такси"]][$column] + 0;
-
- $motivationDataTableSort[$indMap["Содержание и обслуживание ОС и НМА"]][$column] =
- $motivationDataTableSort[$indMap["Холодильное оборудование (ремонт, содержание, ТО)"]][$column] +
- $motivationDataTableSort[$indMap["Расходы на содержание и ремонт оргтехники, в т.ч. расходные материалы"]][$column] +
- $motivationDataTableSort[$indMap["Расходы на содержание и ремонт прочих ОС"]][$column] +
- $motivationDataTableSort[$indMap["Техническое обслуживание кассовых аппаратов"]][$column] + 0;
-
- $motivationDataTableSort[$indMap["Услуги связи"]][$column] =
- $motivationDataTableSort[$indMap["Интернет"]][$column] + 0;
-
- $motivationDataTableSort[$indMap["Прочие операционные расходы"]][$column] =
- $motivationDataTableSort[$indMap["Хозяйственные товары"]][$column] +
- $motivationDataTableSort[$indMap["Канцтовары"]][$column] +
- $motivationDataTableSort[$indMap["Вода питьевая"]][$column] + 0;
-
- $motivationDataTableSort[$indMap["Операционные расходы (Себестоимость)"]][$column] =
- $motivationDataTableSort[$indMap["Оплата труда"]][$column] +
- $motivationDataTableSort[$indMap["Содержание помещения"]][$column] +
- $motivationDataTableSort[$indMap["Расходы по доставке"]][$column] +
- $motivationDataTableSort[$indMap["Услуги маркетплейсов"]][$column] +
- $motivationDataTableSort[$indMap["Содержание и обслуживание ОС и НМА"]][$column] +
- $motivationDataTableSort[$indMap["Услуги связи"]][$column] +
- $motivationDataTableSort[$indMap["Прочие операционные расходы"]][$column] + 0;
-
- $motivationDataTableSort[$indMap["Валовая прибыль"]][$column] =
- $motivationDataTableSort[$indMap["Маржинальный доход"]][$column] -
- $motivationDataTableSort[$indMap["Операционные расходы (Себестоимость)"]][$column] + 0;
-
- $motivationDataTableSort[$indMap["Бухгалтерия и финансы"]][$column] =
- $motivationDataTableSort[$indMap["Бухгалтерские услуги: постановка и ведение БУ и НУ"]][$column] + 0;
-
- $motivationDataTableSort[$indMap["Юридическое сопровождение"]][$column] =
- $motivationDataTableSort[$indMap["Юридические услуги"]][$column] + 0;
-
- $motivationDataTableSort[$indMap["HR- услуги"]][$column] =
- $motivationDataTableSort[$indMap["Кадровое администрирование, охрана труда"]][$column] +
- $motivationDataTableSort[$indMap["Услуги по подбору персонала"]][$column] + 0;
-
- $motivationDataTableSort[$indMap["IT услуги"]][$column] =
- $motivationDataTableSort[$indMap["Администрирование ИТ инфраструктуры (подключения к базам данных, ПО, почта, интернет)"]][$column] +
- $motivationDataTableSort[$indMap["Лицензия на ПО: ERP система"]][$column] + 0;
-
- $motivationDataTableSort[$indMap["Общехозяйственные расходы"]][$column] =
- $motivationDataTableSort[$indMap["Бухгалтерия и финансы"]][$column] +
- $motivationDataTableSort[$indMap["Юридическое сопровождение"]][$column] +
- $motivationDataTableSort[$indMap["HR- услуги"]][$column] +
- $motivationDataTableSort[$indMap["IT услуги"]][$column] +
- $motivationDataTableSort[$indMap["Продвижение и продажа товара через сайт"]][$column] + 0;
-
- $motivationDataTableSort[$indMap["Чистая прибыль"]][$column] =
- $motivationDataTableSort[$indMap["Валовая прибыль"]][$column] -
- $motivationDataTableSort[$indMap["Общехозяйственные расходы"]][$column] + 0;
-
- $c5 = $motivationDataTableSort[$indMap["Выручка от реализации"]][$column];
+ $motivationDataTableSort[$indMap[self::CODE_AGENT_SERVICES_TARIFF]][$column]; // "Услуги агентов (тариф)"
+
+ $motivationDataTableSort[$indMap[self::CODE_DEFECT_RESORTING]][$column] = // "Брак, пересорт"
+ $motivationDataTableSort[$indMap[self::CODE_DELIVERY_DEFECTS]][$column] + // "Брак с поставки"
+ $motivationDataTableSort[$indMap[self::CODE_WRITE_OFF_ILLIQUID_GOODS_SPOOLAGE_EXPIRATION_OF_SHELF_LIFE]][$column] + // "Списание неликвидного товара: порча, истечение срока годности"
+ $motivationDataTableSort[$indMap[self::CODE_EQUIPMENT_FAILURE_DEFECT]][$column] + // "Брак из-за поломки оборудования"
+ $motivationDataTableSort[$indMap[self::CODE_REGRADING]][$column] + 0; // "Пересорт"
+
+ $motivationDataTableSort[$indMap[self::CODE_DIRECT_SELLING_COSTS]][$column] = // "Прямые расходы на продажу"
+ $motivationDataTableSort[$indMap[self::CODE_COST_PRICE_OF_GOODS]][$column] + // "Себестоимость товара"
+ $motivationDataTableSort[$indMap[self::CODE_AGENT_SERVICES_EXPENSES_FOR_PURCHASING_STORING_DELIVERING_GOODS]][$column] + // "Услуги агентов (Расходы на закупку, хранение, доставку товара)"
+ $motivationDataTableSort[$indMap[self::CODE_DEFECT_RESORTING]][$column] + // "Брак, пересорт"
+ $motivationDataTableSort[$indMap[self::CODE_CONSUMABLES_SALES_SUPPORT]][$column] + 0; // "Расходные материалы (обеспечение продаж)"
+
+ $motivationDataTableSort[$indMap[self::CODE_MARGINAL_INCOME]][$column] = // "Маржинальный доход"
+ $motivationDataTableSort[$indMap[self::CODE_REVENUE_FROM_SALES]][$column] - // "Выручка от реализации"
+ $motivationDataTableSort[$indMap[self::CODE_DIRECT_SELLING_COSTS]][$column] + 0; // "Прямые расходы на продажу"
+
+ $motivationDataTableSort[$indMap[self::CODE_PAYMENT]][$column] = // "Оплата труда"
+ $motivationDataTableSort[$indMap[self::CODE_PAYROLL_FUND]][$column] + 0; // "Фонд оплаты труда персонала"
+
+ $motivationDataTableSort[$indMap[self::CODE_MAINTENANCE_OF_PRIMISES]][$column] = // "Содержание помещения"
+ $motivationDataTableSort[$indMap[self::CODE_RENT]][$column] + // "Аренда"
+ $motivationDataTableSort[$indMap[self::CODE_PUBLIC_SERVICES]][$column] + // "Коммунальные услуги"
+ $motivationDataTableSort[$indMap[self::CODE_SECURITY]][$column] + // "Охрана"
+ $motivationDataTableSort[$indMap[self::CODE_CLEANING_SERVICES_FOR_PREMISES_AND_TERRITORY]][$column] + 0; // "Услуги по уборке помещений и территории"
+
+ $motivationDataTableSort[$indMap[self::CODE_DELIVERY_COST]][$column] = // "Расходы по доставке"
+ $motivationDataTableSort[$indMap[self::CODE_DELIVERY_TO_CLIENT_CURRIER]][$column] + // "Доставка до клиента курьер"
+ $motivationDataTableSort[$indMap[self::CODE_DELIVERY_TO_CLIENT_TAXI]][$column] + 0; // "Доставка до клиента такси"
+
+ $motivationDataTableSort[$indMap[self::CODE_MAINTENANCE_AND_SERVICE_OF_FIXED_ASSETS_AND_INTANGIBLE_ASSETS]][$column] = // "Содержание и обслуживание ОС и НМА"
+ $motivationDataTableSort[$indMap[self::CODE_REFRIGERATION_EQUIPMENT_REPAIR_MAINTANANCE]][$column] + // "Холодильное оборудование (ремонт, содержание, ТО)"
+ $motivationDataTableSort[$indMap[self::CODE_COSTS_FOR_MAINTENANCE_AND_REPAIR_OF_OFFICE_EQUIPMENT_INCLUDING_CONSUMABLES]][$column] + // "Расходы на содержание и ремонт оргтехники, в т.ч. расходные материалы"
+ $motivationDataTableSort[$indMap[self::CODE_EXPENSES_FOR_MAINENANCE_AND_REPAIR_OF_OTHER_FIXED_ASSETS]][$column] + // "Расходы на содержание и ремонт прочих ОС"
+ $motivationDataTableSort[$indMap[self::CODE_MAINTENANCE_OF_CASH_REGISTERS]][$column] + 0; // "Техническое обслуживание кассовых аппаратов"
+
+ $motivationDataTableSort[$indMap[self::CODE_COMMUNICATION_SERVICES]][$column] = // "Услуги связи"
+ $motivationDataTableSort[$indMap[self::CODE_INTERNET]][$column] + 0; // "Интернет"
+
+ $motivationDataTableSort[$indMap[self::CODE_OTHER_OPERATING_EXPENSES]][$column] = // "Прочие операционные расходы"
+ $motivationDataTableSort[$indMap[self::CODE_HOUSEHOLD_GOODS]][$column] + // "Хозяйственные товары"
+ $motivationDataTableSort[$indMap[self::CODE_STATIONARY]][$column] + // "Канцтовары"
+ $motivationDataTableSort[$indMap[self::CODE_DRINKING_WATER]][$column] + 0; // "Вода питьевая"
+
+ $motivationDataTableSort[$indMap[self::CODE_OPERATIONAL_EXPANSES_COST]][$column] = // "Операционные расходы (Себестоимость)"
+ $motivationDataTableSort[$indMap[self::CODE_PAYMENT]][$column] + // "Оплата труда"
+ $motivationDataTableSort[$indMap[self::CODE_MAINTENANCE_OF_PRIMISES]][$column] + // "Содержание помещения"
+ $motivationDataTableSort[$indMap[self::CODE_DELIVERY_COST]][$column] + // "Расходы по доставке"
+ $motivationDataTableSort[$indMap[self::CODE_MARKETPLACE_SERVICES]][$column] + // "Услуги маркетплейсов"
+ $motivationDataTableSort[$indMap[self::CODE_MAINTENANCE_AND_SERVICE_OF_FIXED_ASSETS_AND_INTANGIBLE_ASSETS]][$column] + // "Содержание и обслуживание ОС и НМА"
+ $motivationDataTableSort[$indMap[self::CODE_COMMUNICATION_SERVICES]][$column] + // "Услуги связи"
+ $motivationDataTableSort[$indMap[self::CODE_OTHER_OPERATING_EXPENSES]][$column] + 0; // "Прочие операционные расходы"
+
+ $motivationDataTableSort[$indMap[self::CODE_GROSS_PROFIT]][$column] = // "Валовая прибыль"
+ $motivationDataTableSort[$indMap[self::CODE_MARGINAL_INCOME]][$column] - // "Маржинальный доход"
+ $motivationDataTableSort[$indMap[self::CODE_OPERATIONAL_EXPANSES_COST]][$column] + 0; // "Операционные расходы (Себестоимость)"
+
+ $motivationDataTableSort[$indMap[self::CODE_ACCOUNTING_AND_FINANCE]][$column] = // "Бухгалтерия и финансы"
+ $motivationDataTableSort[$indMap[self::CODE_ACCOUNTING_SERVICES_SETTING_UP_AND_MAINTAINING_ACCOUNTING_AND_TAX_RECORDS]][$column] + 0; // "Бухгалтерские услуги: постановка и ведение БУ и НУ"
+
+ $motivationDataTableSort[$indMap[self::CODE_LEGAL_SUPPORT]][$column] = // "Юридическое сопровождение"
+ $motivationDataTableSort[$indMap[self::CODE_LEGAL_SERVICES]][$column] + 0; // "Юридические услуги"
+
+ $motivationDataTableSort[$indMap[self::CODE_HR_SERVICES]][$column] = // "HR- услуги"
+ $motivationDataTableSort[$indMap[self::CODE_PERSONAL_ADMINISTRATION_LABOR_PROTECTION]][$column] + // "Кадровое администрирование, охрана труда"
+ $motivationDataTableSort[$indMap[self::CODE_RECRUITMENT_SERVICES]][$column] + 0; // "Услуги по подбору персонала"
+
+ $motivationDataTableSort[$indMap[self::CODE_IT_SERVICES]][$column] = // "IT услуги"
+ $motivationDataTableSort[$indMap[self::CODE_ADMINISTRATION_OF_IT_INFRASTRUCTURE_CONNECTIONS_TO_DATABASES_SOFTWARE_MAIL_INTERNET]][$column] + // "Администрирование ИТ инфраструктуры (подключения к базам данных, ПО, почта, интернет)"
+ $motivationDataTableSort[$indMap[self::CODE_SOFTWARE_LICENSE_ERP_SYSTEM]][$column] + 0; // "Лицензия на ПО: ERP система"
+
+ $motivationDataTableSort[$indMap[self::CODE_GENERAL_BUSINESS_EXPENSES]][$column] = // "Общехозяйственные расходы"
+ $motivationDataTableSort[$indMap[self::CODE_ACCOUNTING_AND_FINANCE]][$column] + // "Бухгалтерия и финансы"
+ $motivationDataTableSort[$indMap[self::CODE_LEGAL_SUPPORT]][$column] + // "Юридическое сопровождение"
+ $motivationDataTableSort[$indMap[self::CODE_HR_SERVICES]][$column] + // "HR- услуги"
+ $motivationDataTableSort[$indMap[self::CODE_IT_SERVICES]][$column] + // "IT услуги"
+ $motivationDataTableSort[$indMap[self::CODE_PROMOTION_AND_SALE_OF_GOODS_THROUGH_THE_WEBSITE]][$column] + 0; // "Продвижение и продажа товара через сайт"
+
+ $motivationDataTableSort[$indMap[self::CODE_NET_PROFIT]][$column] = // "Чистая прибыль"
+ $motivationDataTableSort[$indMap[self::CODE_GROSS_PROFIT]][$column] - // "Валовая прибыль"
+ $motivationDataTableSort[$indMap[self::CODE_GENERAL_BUSINESS_EXPENSES]][$column] + 0; // "Общехозяйственные расходы"
+
+ $c5 = $motivationDataTableSort[$indMap[self::CODE_REVENUE_FROM_SALES]][$column]; // "Выручка от реализации"
if ($c5 != 0) {
- $motivationDataTableSort[$indMap["Рентабельность по чистой прибыли, %"]][$column] =
- $motivationDataTableSort[$indMap["Чистая прибыль"]][$column] / $c5;
+ $motivationDataTableSort[$indMap[self::CODE_NET_PROFIT_MARGIN_PERCENT]][$column] = // "Рентабельность по чистой прибыли, %"
+ $motivationDataTableSort[$indMap[self::CODE_NET_PROFIT]][$column] / $c5; // "Чистая прибыль"
}
if ($ind == 0) {
- $b62 = $motivationDataTableSort[$indMap["Чистая прибыль"]]["plan"];
+ $b62 = $motivationDataTableSort[$indMap[self::CODE_NET_PROFIT]]["plan"]; // "Чистая прибыль"
if ($b62 > 0) {
$b64 = $b62 * 0.9;
} else {
$b64 = $b62 * 1.1;
}
- $motivationDataTableSort[$indMap["Минимальный порог Чистой прибыли, руб."]]["plan"] = $b64;
+ $motivationDataTableSort[$indMap[self::CODE_NET_PROFIT_THRESHOLD_RUB]]["plan"] = $b64; // "Минимальный порог Чистой прибыли, руб."
}
if ($ind >= 1 && $ind <= 4) {
- $motivationDataTableSort[$indMap["Минимальный порог Чистой прибыли, руб."]][$column] =
- $motivationDataTableSort[$indMap["Минимальный порог Чистой прибыли, руб."]]["plan"] / $lastDayOfMonth * 7;
+ $motivationDataTableSort[$indMap[self::CODE_NET_PROFIT_THRESHOLD_RUB]][$column] = // "Минимальный порог Чистой прибыли, руб."
+ $motivationDataTableSort[$indMap[self::CODE_NET_PROFIT_THRESHOLD_RUB]]["plan"] / $lastDayOfMonth * 7; // "Минимальный порог Чистой прибыли, руб."
}
if ($ind == 5) {
- $motivationDataTableSort[$indMap["Минимальный порог Чистой прибыли, руб."]][$column] =
- $motivationDataTableSort[$indMap["Минимальный порог Чистой прибыли, руб."]]["plan"] / $lastDayOfMonth * ($lastDayOfMonth - 4 * 7);
+ $motivationDataTableSort[$indMap[self::CODE_NET_PROFIT_THRESHOLD_RUB]][$column] = // "Минимальный порог Чистой прибыли, руб."
+ $motivationDataTableSort[$indMap[self::CODE_NET_PROFIT_THRESHOLD_RUB]]["plan"] / $lastDayOfMonth * ($lastDayOfMonth - 4 * 7); // "Минимальный порог Чистой прибыли, руб."
}
if ($ind == 7) {
$sum = 0;
foreach (range(1, 5) as $index) {
- $sum += $motivationDataTableSort[$indMap["Минимальный порог Чистой прибыли, руб."]]['week' . $index];
+ $sum += $motivationDataTableSort[$indMap[self::CODE_NET_PROFIT_THRESHOLD_RUB]]['week' . $index]; // "Минимальный порог Чистой прибыли, руб."
}
- $motivationDataTableSort[$indMap["Минимальный порог Чистой прибыли, руб."]][$column] = $sum;
+ $motivationDataTableSort[$indMap[self::CODE_NET_PROFIT_THRESHOLD_RUB]][$column] = $sum; // "Минимальный порог Чистой прибыли, руб."
}
// if ($ind > 0) {
-// $c62 = $motivationDataTableSort[$indMap["Чистая прибыль"]][$column];
-// $b64 = $motivationDataTableSort[$indMap["Минимальный порог Чистой прибыли, руб."]][$ind == 6 ? "plan" : $column];
+// $c62 = $motivationDataTableSort[$indMap[self::CODE_NET_PROFIT]][$column]; // "Чистая прибыль"
+// $b64 = $motivationDataTableSort[$indMap[self::CODE_NET_PROFIT_THRESHOLD_RUB]][$ind == 6 ? "plan" : $column]; // "Минимальный порог Чистой прибыли, руб."
//
// $j66 = 0;
// if ($c62 >= $b64) {
-// $formula = $c62 - $c5 * $motivationDataTableSort[$indMap["Пороговый коэффициент"]]["plan"];
+// $formula = $c62 - $c5 * $motivationDataTableSort[$indMap[self::CODE_THRESHOLD_COEFFICIENT]]["plan"]; // "Пороговый коэффициент"
// if ($formula > 0) {
// $j66 = $formula;
// }
// }
-// $motivationDataTableSort[$indMap["Расчет премии"]][$column] = $j66 + 0;
+// $motivationDataTableSort[$indMap[self::CODE_CALCULATION_OF_PREMIUM]][$column] = $j66 + 0; // "Расчет премии"
// }
}
// Отклонение
- $deviationFunc = function ($name) use(&$motivationDataTableSort, &$indMap) {
- if ($motivationDataTableSort[$indMap[$name]]["plan"] != 0) {
- $motivationDataTableSort[$indMap[$name]]["deviation"] =
- $motivationDataTableSort[$indMap[$name]]["fact"] /
- $motivationDataTableSort[$indMap[$name]]["plan"];
+ $deviationFunc = function ($code) use(&$motivationDataTableSort, &$indMap) {
+ if ($motivationDataTableSort[$indMap[$code]]["plan"] != 0) {
+ $motivationDataTableSort[$indMap[$code]]["deviation"] =
+ $motivationDataTableSort[$indMap[$code]]["fact"] /
+ $motivationDataTableSort[$indMap[$code]]["plan"];
}
};
- $names = [
- "Выручка от реализации",
- "Продажа товара",
- "Оффлайн продажи",
- "Онлайн продажи",
- "Прочие услуги",
- "Услуги по сборке",
- "Услуги по доставке",
- "Прямые расходы на продажу",
- "Себестоимость товара",
- "Услуги агентов (Расходы на закупку, хранение, доставку товара)",
- "Брак, пересорт",
- "Брак с поставки",
- "Списание неликвидного товара: порча, истечение срока годности",
- "Брак из-за поломки оборудования",
- "Пересорт",
- "Расходные материалы (обеспечение продаж)",
- "Маржинальный доход",
- "Операционные расходы (Себестоимость)",
- "Оплата труда",
- "Фонд оплаты труда персонала",
- "Содержание помещения",
- "Аренда",
- "Коммунальные услуги",
- "Охрана",
- "Услуги по уборке помещений и территории",
- "Расходы по доставке",
- "Доставка до клиента курьер",
- "Доставка до клиента такси",
- "Услуги маркетплейсов",
- "Содержание и обслуживание ОС и НМА",
- "Холодильное оборудование (ремонт, содержание, ТО)",
- "Расходы на содержание и ремонт оргтехники, в т.ч. расходные материалы",
- "Расходы на содержание и ремонт прочих ОС",
- "Техническое обслуживание кассовых аппаратов",
- "Услуги связи",
- "Интернет",
- "Прочие операционные расходы",
- "Хозяйственные товары",
- "Канцтовары",
- "Вода питьевая",
- "Валовая прибыль",
- "Общехозяйственные расходы",
- "Бухгалтерия и финансы",
- "Бухгалтерские услуги: постановка и ведение БУ и НУ",
- "Юридическое сопровождение",
- "Юридические услуги",
- "HR- услуги",
- "Кадровое администрирование, охрана труда",
- "Услуги по подбору персонала",
- "IT услуги",
- "Администрирование ИТ инфраструктуры (подключения к базам данных, ПО, почта, интернет)",
- "Лицензия на ПО: ERP система",
- "Продвижение и продажа товара через сайт",
- "Чистая прибыль",
- "Рентабельность по чистой прибыли, %"
- ];
- foreach ($names as $name) {
- $deviationFunc($name);
+// $names = [
+// "Выручка от реализации",
+// "Продажа товара",
+// "Оффлайн продажи",
+// "Онлайн продажи",
+// "Прочие услуги",
+// "Услуги по сборке",
+// "Услуги по доставке",
+// "Прямые расходы на продажу",
+// "Себестоимость товара",
+// "Услуги агентов (Расходы на закупку, хранение, доставку товара)",
+// "Брак, пересорт",
+// "Брак с поставки",
+// "Списание неликвидного товара: порча, истечение срока годности",
+// "Брак из-за поломки оборудования",
+// "Пересорт",
+// "Расходные материалы (обеспечение продаж)",
+// "Маржинальный доход",
+// "Операционные расходы (Себестоимость)",
+// "Оплата труда",
+// "Фонд оплаты труда персонала",
+// "Содержание помещения",
+// "Аренда",
+// "Коммунальные услуги",
+// "Охрана",
+// "Услуги по уборке помещений и территории",
+// "Расходы по доставке",
+// "Доставка до клиента курьер",
+// "Доставка до клиента такси",
+// "Услуги маркетплейсов",
+// "Содержание и обслуживание ОС и НМА",
+// "Холодильное оборудование (ремонт, содержание, ТО)",
+// "Расходы на содержание и ремонт оргтехники, в т.ч. расходные материалы",
+// "Расходы на содержание и ремонт прочих ОС",
+// "Техническое обслуживание кассовых аппаратов",
+// "Услуги связи",
+// "Интернет",
+// "Прочие операционные расходы",
+// "Хозяйственные товары",
+// "Канцтовары",
+// "Вода питьевая",
+// "Валовая прибыль",
+// "Общехозяйственные расходы",
+// "Бухгалтерия и финансы",
+// "Бухгалтерские услуги: постановка и ведение БУ и НУ",
+// "Юридическое сопровождение",
+// "Юридические услуги",
+// "HR- услуги",
+// "Кадровое администрирование, охрана труда",
+// "Услуги по подбору персонала",
+// "IT услуги",
+// "Администрирование ИТ инфраструктуры (подключения к базам данных, ПО, почта, интернет)",
+// "Лицензия на ПО: ERP система",
+// "Продвижение и продажа товара через сайт",
+// "Чистая прибыль",
+// "Рентабельность по чистой прибыли, %"
+// ];
+ foreach (array_keys($indMap) as $code) {
+ $deviationFunc($code);
}
+
+ return $motivationDataTableSort;
}
}