// Определяем последний день месяца
$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)) {
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] =