From: Vladimir Fomichev Date: Fri, 30 Aug 2024 10:06:22 +0000 (+0300) Subject: добавил проверку на свойство класса и проставил нул если его нет X-Git-Tag: 1.4~15^2~5 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=fedd01f27e71cc951bd7e1386288ef195974cd63;p=erp24_rep%2Fyii-erp24%2F.git добавил проверку на свойство класса и проставил нул если его нет --- diff --git a/erp24/services/MotivationService.php b/erp24/services/MotivationService.php index 23473923..b9471ee7 100644 --- a/erp24/services/MotivationService.php +++ b/erp24/services/MotivationService.php @@ -1110,6 +1110,13 @@ class MotivationService // Определяем последний день месяца $lastDayOfMonth = date('t', strtotime("$year-$month-01")); + // Получаем все константы класса + $reflection = new \ReflectionClass(__CLASS__); + $constants = $reflection->getConstants(); + + // Фильтруем только те константы, которые являются целыми числами + $numericConstants = array_filter($constants, 'is_int'); + $indMap = []; foreach ($motivationDataTableSort as $ind => $row) { if (!key_exists('code', $row)) { @@ -1125,7 +1132,17 @@ class MotivationService default: { $column = 'week' . $indexItem; break; } } +// Проверяем и инициализируем каждую запись, если она отсутствует + foreach ($numericConstants as $constantName => $code) { + if (!isset($indMap[$code])) { + continue; + } + if (!isset($motivationDataTableSort[$indMap[$code]][$column])) { + // Присваиваем null или 0 в зависимости от необходимости + $motivationDataTableSort[$indMap[$code]][$column] = null; + } + } // Выполняем вычисление только если все нужные ключи существуют $motivationDataTableSort[$indMap[self::CODE_SALE_OF_GOODS]][$column] =