get(); $data = []; // Initialize rfi_summary $data['rfi_summary']['Overall'] = 0; $status = j(setting("rfi-status")); foreach($status as $stat) { $data['rfi_summary'][$stat] = 0; } foreach($rfi as $r) { // Status için güvenli değer atama $currentStatus = !empty($r->status) ? trim($r->status) : 'Undefined'; $currentSubcontractor = !empty($r->subcontractor) ? trim($r->subcontractor) : 'Undefined'; if (!isset($data['rfi_summary'][$currentStatus])) { $data['rfi_summary'][$currentStatus] = 0; } $data['rfi_summary'][$currentStatus]++; $data['rfi_summary']['Overall']++; if (!isset($data['subcontractor'][$currentSubcontractor]['Overall'])) { $data['subcontractor'][$currentSubcontractor]['Overall'] = 0; } foreach ($status as $stat) { if (!isset($data['subcontractor'][$currentSubcontractor][$stat])) { $data['subcontractor'][$currentSubcontractor][$stat] = 0; } } if (!isset($data['subcontractor'][$currentSubcontractor][$currentStatus])) { $data['subcontractor'][$currentSubcontractor][$currentStatus] = 0; } if($currentSubcontractor !== 'Undefined' && $currentStatus !== 'Undefined') { $data['subcontractor'][$currentSubcontractor][$currentStatus]++; } $data['subcontractor'][$currentSubcontractor]['Overall']++; $dateCol = !empty($r->inspection_date) ? date("M-y", strtotime($r->inspection_date)) : date("M-y"); if (!isset($data['monthly']['total']['qty'])) { $data['monthly']['total']['qty'] = 0; } $data['monthly']['total']['qty']++; if (!isset($data['monthly'][$dateCol]['qty'])) { $data['monthly'][$dateCol]['qty'] = 0; } $data['monthly'][$dateCol]['qty']++; } // Prepare data for DevExtreme DataGrid $rfiSummaryData = []; foreach ($data['rfi_summary'] as $status => $count) { $rfiSummaryData[] = ['status' => $status, 'count' => $count]; } $subcontractorData = []; foreach ($data['subcontractor'] as $subcontractor => $statuses) { $row = ['subcontractor' => $subcontractor]; foreach ($statuses as $status => $count) { $row[$status] = $count; } $subcontractorData[] = $row; } // Prepare data for dxChart $monthlyData = []; foreach ($data['monthly'] as $month => $counts) { if ($month !== 'total') { $monthlyData[] = ['month' => $month, 'qty' => $counts['qty']]; } } $result = [ 'rfi_summary' => $rfiSummaryData, 'subcontractor' => $subcontractorData, 'monthly' => $monthlyData ]; // Output data echo json_encode($result); // Now you can use the data with DevExtreme components