From fedd01f27e71cc951bd7e1386288ef195974cd63 Mon Sep 17 00:00:00 2001 From: Vladimir Fomichev Date: Fri, 30 Aug 2024 13:06:22 +0300 Subject: [PATCH] =?utf8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?utf8?q?=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D1=83=20=D0=BD=D0=B0?= =?utf8?q?=20=D1=81=D0=B2=D0=BE=D0=B9=D1=81=D1=82=D0=B2=D0=BE=20=D0=BA?= =?utf8?q?=D0=BB=D0=B0=D1=81=D1=81=D0=B0=20=D0=B8=20=D0=BF=D1=80=D0=BE?= =?utf8?q?=D1=81=D1=82=D0=B0=D0=B2=D0=B8=D0=BB=20=D0=BD=D1=83=D0=BB=20?= =?utf8?q?=D0=B5=D1=81=D0=BB=D0=B8=20=D0=B5=D0=B3=D0=BE=20=D0=BD=D0=B5?= =?utf8?q?=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/services/MotivationService.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) 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] = -- 2.39.5