create setad report tables

This commit is contained in:
2025-07-27 15:58:11 +03:30
parent 27fc315686
commit d01b7d6db1
12 changed files with 241 additions and 41 deletions

View File

@@ -4,20 +4,41 @@ namespace App\Http\Controllers\Setad;
use App\Facades\DataTable\DataTableFacade;
use App\Http\Controllers\Controller;
use app\Http\Traits\ApiResponse;
use App\Models\CountryVoiceRatingReport;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class CumulativeVoiceRatingStatsController extends Controller
{
use ApiResponse;
public function index(Request $request): JsonResponse
{
$data = DataTableFacade::run(
CountryVoiceRatingReport::query(),
$request,
allowedFilters: ['*'],
allowedSortings: ['*'],
);
return response()->json($data);
$data = DB::select("
SELECT
province_id,
province_name,
SUM(message_quality_ok) as message_quality_ok,
SUM(message_format_ok) as message_format_ok,
SUM(message_quality_nok) as message_quality_nok,
SUM(message_format_nok) as message_format_nok
FROM country_voice_rating_reports
GROUP BY province_id, province_name
UNION ALL
SELECT
0 as province_id,
'کشوری' as province_name,
SUM(message_quality_ok),
SUM(message_format_ok),
SUM(message_quality_nok),
SUM(message_format_nok)
FROM country_voice_rating_reports
");
return $this->successResponse($data);
}
}