]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
добавил проверку на свойство класса и проставил нул если его нет
authorVladimir Fomichev <vladimir.fomichev@erp-flowers.ru>
Fri, 30 Aug 2024 10:06:22 +0000 (13:06 +0300)
committerVladimir Fomichev <vladimir.fomichev@erp-flowers.ru>
Fri, 30 Aug 2024 10:06:22 +0000 (13:06 +0300)
erp24/services/MotivationService.php

index 23473923d841b77c2a098f02be66f9dd55171b0b..b9471ee79030d328b39ff8403e9df4e3ef0a6619 100644 (file)
@@ -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] =