create report controller
This commit is contained in:
@@ -4,6 +4,7 @@ namespace App\Services\Cartables;
|
||||
|
||||
use App\Facades\DataTable\DataTableFacade;
|
||||
use App\Http\Traits\ApiResponse;
|
||||
use App\Models\Province;
|
||||
use App\Models\SafetyAndPrivacy;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
@@ -48,75 +49,58 @@ class SafetyAndPrivacyTableService
|
||||
);
|
||||
}
|
||||
|
||||
public function countryActivity(Request $request)
|
||||
public function countryActivity(Request $request): array
|
||||
{
|
||||
$fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString();
|
||||
$toDate = $request->date_to ? $request->date_to . ' 23:59:59' : now()->endOfDay()->toDateTimeString();
|
||||
|
||||
$country_name = "کشوری";
|
||||
$all[0]["info-89"]["step-1"] = 0;
|
||||
$all[0]["info-89"]["step-2"] = 0;
|
||||
$all[0]["info-89"]["step-3"] = 0;
|
||||
$activities = [];
|
||||
|
||||
$all[0]["info-90"]["step-1"] = 0;
|
||||
$all[0]["info-90"]["step-2"] = 0;
|
||||
$all[0]["info-90"]["step-3"] = 0;
|
||||
$country = DB::select(
|
||||
"SELECT COUNT(*) as qty,info_id, step,step_fa, info_fa FROM safety_and_privacy where created_at BETWEEN '".$fromDate."' and '".$toDate."' GROUP BY info_id,step"
|
||||
);
|
||||
$provinces = DB::select(
|
||||
"SELECT province_id, COUNT(*) as qty,info_id, step, step_fa, info_fa FROM safety_and_privacy where created_at BETWEEN '".$fromDate."' and '".$toDate."' GROUP BY info_id,step,province_id,province_fa"
|
||||
);
|
||||
|
||||
$all[0]["info-91"]["step-1"] = 0;
|
||||
$all[0]["info-91"]["step-2"] = 0;
|
||||
$all[0]["info-91"]["step-3"] = 0;
|
||||
|
||||
$all[0]["sum"] = 0;
|
||||
$all[0]["name_fa"] = $country_name;
|
||||
$all[0]["id"] = -1;
|
||||
|
||||
foreach (\App\Models\Province::all() as $key => $value) {
|
||||
$all[$value->id]["info-89"]["step-1"] = 0;
|
||||
$all[$value->id]["info-89"]["step-2"] = 0;
|
||||
$all[$value->id]["info-89"]["step-3"] = 0;
|
||||
|
||||
$all[$value->id]["info-90"]["step-1"] = 0;
|
||||
$all[$value->id]["info-90"]["step-2"] = 0;
|
||||
$all[$value->id]["info-90"]["step-3"] = 0;
|
||||
|
||||
$all[$value->id]["info-91"]["step-1"] = 0;
|
||||
$all[$value->id]["info-91"]["step-2"] = 0;
|
||||
$all[$value->id]["info-91"]["step-3"] = 0;
|
||||
|
||||
$all[$value->id]["sum"] = 0;
|
||||
$all[$value->id]["name_fa"] = $value->name_fa;
|
||||
$all[$value->id]["id"] = $value->id;
|
||||
$countryTotalSum = 0;
|
||||
foreach ($country as $key => $value) {
|
||||
$countryTotalSum += $value->qty;
|
||||
$activities[-1]["info-".$value->info_id]["step-".$value->step] = $value->qty;
|
||||
$activities[-1]["sum"] = $countryTotalSum;
|
||||
}
|
||||
|
||||
$temp = DB::select("SELECT COUNT(*) as qty,info_id, step,step_fa, info_fa FROM safety_and_privacy where created_at BETWEEN '".$fromDate."' and '".$toDate."' GROUP BY info_id,step");
|
||||
|
||||
$sum = 0;
|
||||
foreach ($temp as $key => $value) {
|
||||
$sum += $value->qty;
|
||||
$all[0]["info-".$value->info_id]["step-".$value->step] = $value->qty;
|
||||
$all[0]["sum"] = $sum;
|
||||
foreach (Province::all() as $key => $value) {
|
||||
$activities[$value->id]["info-89"]["step-1"] = 0;
|
||||
$activities[$value->id]["info-89"]["step-2"] = 0;
|
||||
$activities[$value->id]["info-89"]["step-3"] = 0;
|
||||
|
||||
$activities[$value->id]["info-90"]["step-1"] = 0;
|
||||
$activities[$value->id]["info-90"]["step-2"] = 0;
|
||||
$activities[$value->id]["info-90"]["step-3"] = 0;
|
||||
|
||||
$activities[$value->id]["info-91"]["step-1"] = 0;
|
||||
$activities[$value->id]["info-91"]["step-2"] = 0;
|
||||
$activities[$value->id]["info-91"]["step-3"] = 0;
|
||||
|
||||
$activities[$value->id]["sum"] = 0;
|
||||
$activities[$value->id]["name_fa"] = $value->name_fa;
|
||||
$activities[$value->id]["id"] = $value->id;
|
||||
}
|
||||
|
||||
$temp = DB::select("SELECT province_id, COUNT(*) as qty,info_id, step,step_fa, info_fa FROM safety_and_privacy where created_at BETWEEN '".$fromDate."' and '".$toDate."' GROUP BY info_id,step,province_id order by province_id");
|
||||
$province_id_flag = "";
|
||||
$sum = 0;
|
||||
|
||||
foreach ($temp as $key => $value) {
|
||||
|
||||
if ($province_id_flag !== $value->province_id) {
|
||||
|
||||
$province_id_flag = $value->province_id;
|
||||
$sum = $value->qty ;
|
||||
|
||||
}else {
|
||||
|
||||
$sum += $value->qty;
|
||||
|
||||
}
|
||||
|
||||
$all[$value->province_id]["info-".$value->info_id]["step-".$value->step] = $value->qty;
|
||||
$all[$value->province_id]["sum"] = $sum;
|
||||
$provinceTotalSum = 0;
|
||||
foreach ($provinces as $key => $value) {
|
||||
$provinceTotalSum += $value->qty;
|
||||
$activities[$value->province_id]["info-".$value->info_id]["step-".$value->step] = $value->qty;
|
||||
$activities[$value->province_id]["sum"] = $provinceTotalSum;
|
||||
$activities[$value->province_id]["province_fa"] = $value->province_fa;
|
||||
}
|
||||
return $all;
|
||||
|
||||
return [
|
||||
'activities' => $activities,
|
||||
'fromDate' => $fromDate,
|
||||
'toDate' => $toDate,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user