use datatable for reports
This commit is contained in:
@@ -27,12 +27,6 @@ DB_DATABASE=laravel
|
||||
DB_USERNAME=root
|
||||
DB_PASSWORD=
|
||||
|
||||
ASTERISK_DB_HOST=
|
||||
ASTERISK_DB_PORT=
|
||||
ASTERISK_DB_DATABASE=
|
||||
ASTERISK_DB_USERNAME=
|
||||
ASTERISK_DB_PASSWORD=
|
||||
|
||||
SESSION_DRIVER=database
|
||||
SESSION_LIFETIME=120
|
||||
SESSION_ENCRYPT=false
|
||||
|
||||
@@ -4,19 +4,15 @@ namespace App\Http\Controllers\HeadquartersDashboard;
|
||||
|
||||
use App\Facades\DataTable\DataTableFacade;
|
||||
use App\Http\Controllers\Controller;
|
||||
use app\Http\Traits\ApiResponse;
|
||||
use App\Models\CountryCallsReport;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class CumulativeCentersStatsController extends Controller
|
||||
{
|
||||
use ApiResponse;
|
||||
|
||||
public function index(Request $request): JsonResponse
|
||||
{
|
||||
$data = DB::select("
|
||||
$query = DB::table('country_calls_reports')->selectRaw("
|
||||
SELECT
|
||||
province_id,
|
||||
province_name,
|
||||
@@ -33,7 +29,6 @@ class CumulativeCentersStatsController extends Controller
|
||||
SUM(talked_to_operator) as talked_to_operator,
|
||||
AVG(average_calls_time) as average_calls_time,
|
||||
SUM(fails) as fails
|
||||
FROM country_calls_reports
|
||||
GROUP BY province_id, province_name
|
||||
|
||||
UNION ALL
|
||||
@@ -54,9 +49,14 @@ class CumulativeCentersStatsController extends Controller
|
||||
SUM(talked_to_operator),
|
||||
AVG(average_calls_time),
|
||||
SUM(fails)
|
||||
FROM country_calls_reports
|
||||
");
|
||||
|
||||
return $this->successResponse($data);
|
||||
return response()->json(
|
||||
DataTableFacade::run(
|
||||
$query,
|
||||
$request,
|
||||
allowedFilters: ['*'],
|
||||
allowedSortings: ['*'])
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,19 +4,15 @@ namespace App\Http\Controllers\HeadquartersDashboard;
|
||||
|
||||
use App\Facades\DataTable\DataTableFacade;
|
||||
use App\Http\Controllers\Controller;
|
||||
use app\Http\Traits\ApiResponse;
|
||||
use App\Models\CountryKeypressReport;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class CumulativeKeypressStatsController extends Controller
|
||||
{
|
||||
use ApiResponse;
|
||||
|
||||
public function index(Request $request): JsonResponse
|
||||
{
|
||||
$data = DB::select("
|
||||
$query = DB::table('country_keypress_reports')->selectRaw("
|
||||
SELECT
|
||||
province_id,
|
||||
province_name,
|
||||
@@ -35,7 +31,6 @@ class CumulativeKeypressStatsController extends Controller
|
||||
SUM(key2_1) as key2_1,
|
||||
SUM(key2_2) as key2_2,
|
||||
SUM(key2_3) as key2_3
|
||||
FROM country_keypress_reports
|
||||
GROUP BY province_id, province_name
|
||||
|
||||
UNION ALL
|
||||
@@ -58,9 +53,14 @@ class CumulativeKeypressStatsController extends Controller
|
||||
SUM(key2_1),
|
||||
SUM(key2_2),
|
||||
SUM(key2_3)
|
||||
FROM country_keypress_reports
|
||||
");
|
||||
|
||||
return $this->successResponse($data);
|
||||
return response()->json(
|
||||
DataTableFacade::run(
|
||||
$query,
|
||||
$request,
|
||||
allowedFilters: ['*'],
|
||||
allowedSortings: ['*'])
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,18 +2,18 @@
|
||||
|
||||
namespace App\Http\Controllers\HeadquartersDashboard;
|
||||
|
||||
use App\Facades\DataTable\DataTableFacade;
|
||||
use App\Http\Controllers\Controller;
|
||||
use app\Http\Traits\ApiResponse;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class CumulativeMessageRatingStatsController extends Controller
|
||||
{
|
||||
use ApiResponse;
|
||||
|
||||
public function index(): JsonResponse
|
||||
public function index(Request $request): JsonResponse
|
||||
{
|
||||
$data = DB::select("
|
||||
$query = DB::table('country_message_rating_reports')->selectRaw("
|
||||
SELECT
|
||||
province_id,
|
||||
province_name,
|
||||
@@ -26,7 +26,6 @@ class CumulativeMessageRatingStatsController extends Controller
|
||||
SUM(action3) as action3,
|
||||
SUM(action4) as action4,
|
||||
SUM(action5) as action5
|
||||
FROM country_message_rating_reports
|
||||
GROUP BY province_id, province_name
|
||||
|
||||
UNION ALL
|
||||
@@ -43,9 +42,14 @@ class CumulativeMessageRatingStatsController extends Controller
|
||||
SUM(action3),
|
||||
SUM(action4),
|
||||
SUM(action5)
|
||||
FROM country_message_rating_reports
|
||||
");
|
||||
|
||||
return $this->successResponse($data);
|
||||
return response()->json(
|
||||
DataTableFacade::run(
|
||||
$query,
|
||||
$request,
|
||||
allowedFilters: ['*'],
|
||||
allowedSortings: ['*'])
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,19 +4,15 @@ namespace App\Http\Controllers\HeadquartersDashboard;
|
||||
|
||||
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 = DB::select("
|
||||
$query = DB::table('country_voice_rating_reports')->selectRaw("
|
||||
SELECT
|
||||
province_id,
|
||||
province_name,
|
||||
@@ -24,7 +20,6 @@ class CumulativeVoiceRatingStatsController extends Controller
|
||||
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
|
||||
@@ -36,9 +31,14 @@ class CumulativeVoiceRatingStatsController extends Controller
|
||||
SUM(message_format_ok),
|
||||
SUM(message_quality_nok),
|
||||
SUM(message_format_nok)
|
||||
FROM country_voice_rating_reports
|
||||
");
|
||||
|
||||
return $this->successResponse($data);
|
||||
return response()->json(
|
||||
DataTableFacade::run(
|
||||
$query,
|
||||
$request,
|
||||
allowedFilters: ['*'],
|
||||
allowedSortings: ['*'])
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,5 @@ use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Cdr extends Model
|
||||
{
|
||||
protected $connection = 'asterisk';
|
||||
protected $table = 'cdr';
|
||||
}
|
||||
|
||||
@@ -111,26 +111,6 @@ return [
|
||||
// 'encrypt' => env('DB_ENCRYPT', 'yes'),
|
||||
// 'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'false'),
|
||||
],
|
||||
|
||||
'asterisk' => [
|
||||
'driver' => 'mysql',
|
||||
'url' => env('DB_URL'),
|
||||
'host' => env('ASTERISK_DB_HOST', '127.0.0.1'),
|
||||
'port' => env('ASTERISK_DB_PORT', '3306'),
|
||||
'database' => env('ASTERISK_DB_DATABASE', 'laravel'),
|
||||
'username' => env('ASTERISK_DB_USERNAME', 'root'),
|
||||
'password' => env('ASTERISK_DB_PASSWORD', ''),
|
||||
'unix_socket' => env('DB_SOCKET', ''),
|
||||
'charset' => env('DB_CHARSET', 'utf8mb4'),
|
||||
'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'),
|
||||
'prefix' => '',
|
||||
'prefix_indexes' => true,
|
||||
'strict' => true,
|
||||
'engine' => null,
|
||||
'options' => extension_loaded('pdo_mysql') ? array_filter([
|
||||
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
|
||||
]) : [],
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user