From 1e933d83843435c1904891c09bbff534449a80cf Mon Sep 17 00:00:00 2001 From: amirghasempoor Date: Tue, 4 Mar 2025 11:10:35 +0330 Subject: [PATCH] debug the return types --- .../CountryActivityReport.php | 2 +- .../ProvinceActivityReport.php | 4 +- .../SafetyAndPrivacyTableService.php | 84 +++++++++++++++---- .../CountryActivityReport.blade.php | 22 ++--- .../ProvinceActivityReport.blade.php | 42 +++------- 5 files changed, 94 insertions(+), 60 deletions(-) diff --git a/app/Exports/V3/SafetyAndPrivacy/CountryActivityReport.php b/app/Exports/V3/SafetyAndPrivacy/CountryActivityReport.php index b8c6b0e7..b6e6ccb2 100644 --- a/app/Exports/V3/SafetyAndPrivacy/CountryActivityReport.php +++ b/app/Exports/V3/SafetyAndPrivacy/CountryActivityReport.php @@ -25,7 +25,7 @@ class CountryActivityReport implements FromView, WithEvents, ShouldAutoSize, Wit $provinceId = $value->id; if (!array_key_exists($provinceId, $existedProvinces)) { - $data['activities'][] = [ + $data['activities'][] = (object) [ 'province_id' => $provinceId, 'name_fa' => $value->name_fa, 'sum' => 0, diff --git a/app/Exports/V3/SafetyAndPrivacy/ProvinceActivityReport.php b/app/Exports/V3/SafetyAndPrivacy/ProvinceActivityReport.php index 78fe8ace..399b5bca 100644 --- a/app/Exports/V3/SafetyAndPrivacy/ProvinceActivityReport.php +++ b/app/Exports/V3/SafetyAndPrivacy/ProvinceActivityReport.php @@ -16,7 +16,7 @@ use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet; class ProvinceActivityReport implements FromView, WithEvents, ShouldAutoSize, WithDrawings { - public function __construct(private array $data, Request $request){} + public function __construct(private array $data, public Request $request){} public function view(): View { @@ -28,7 +28,7 @@ class ProvinceActivityReport implements FromView, WithEvents, ShouldAutoSize, Wi $edareId = $value->id; if (!array_key_exists($edareId, $existedCities)) { - $data['activities'][] = [ + $data['activities'][] = (object) [ 'edare_shahri_id' => $edareId, 'name_fa' => $value->name_fa, 'sum' => 0, diff --git a/app/Services/Cartables/SafetyAndPrivacyTableService.php b/app/Services/Cartables/SafetyAndPrivacyTableService.php index d635dbe5..e7c9a85d 100644 --- a/app/Services/Cartables/SafetyAndPrivacyTableService.php +++ b/app/Services/Cartables/SafetyAndPrivacyTableService.php @@ -19,8 +19,8 @@ class SafetyAndPrivacyTableService $fields = ['id','lat','lon','province_id','province_fa','city_id','city_fa','edare_shahri_id','edare_shahri_name', 'recognize_picture','action_picture','operator_id','operator_name','way_id','created_at','updated_at','step', - 'info_id','info_fa','activity_date_time', 'action_picture_document_upload_date', - 'step_fa' + 'info_id','info_fa','activity_date_time', 'action_picture_document_upload_date', 'judiciary_document_upload_date', + 'step_fa', 'axis_type_id', 'axis_type_name' ]; if ($user->hasPermissionTo('show-safety-and-privacy-operator-cartable')) { @@ -53,17 +53,30 @@ class SafetyAndPrivacyTableService { $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(); + $axisTypeId = $request->axis_type_id; $activities = []; - $country = DB::select( - "SELECT COUNT(*) as qty,info_id, step FROM safety_and_privacy where created_at BETWEEN '".$fromDate."' and '".$toDate."' GROUP BY info_id,step" - ); + $country = SafetyAndPrivacy::query() + ->selectRaw('COUNT(*) as qty,info_id, step') + ->whereBetween('created_at', [$fromDate, $toDate]) + ->when($axisTypeId, function ($query) use ($axisTypeId) { + $query->where('axis_type_id', '=', $axisTypeId); + }) + ->groupBy('info_id', 'step') + ->get(); + +// $country = DB::select( +// "SELECT COUNT(*) as qty,info_id, step +// FROM safety_and_privacy where created_at BETWEEN '".$fromDate."' and '".$toDate."' +// GROUP BY info_id,step" +// ); $countryTotalSum = 0; $countryData = [ 'name_fa' => 'کشوری', 'province_id' => -1, + 'sum' => 0, '89' => [ '1' => 0, '2' => 0, @@ -85,11 +98,22 @@ class SafetyAndPrivacyTableService $countryData[$value->info_id][$value->step] = $value->qty; $countryData["sum"] = $countryTotalSum; } - $activities[] = $countryData; + $activities[] = (object) $countryData; - $provinces = DB::select( - "SELECT province_id, province_fa, COUNT(*) as qty,info_id, step FROM safety_and_privacy where created_at BETWEEN '".$fromDate."' and '".$toDate."' GROUP BY info_id,step,province_id,province_fa" - ); + $provinces = SafetyAndPrivacy::query() + ->selectRaw('province_id, province_fa, COUNT(*) as qty,info_id, step') + ->whereBetween('created_at', [$fromDate, $toDate]) + ->when($axisTypeId, function ($query) use ($axisTypeId) { + $query->where('axis_type_id', '=', $axisTypeId); + }) + ->groupBy('info_id', 'step', 'province_id', 'province_fa') + ->get(); + +// $provinces = DB::select( +// "SELECT province_id, province_fa, COUNT(*) as qty,info_id, step +// FROM safety_and_privacy where created_at BETWEEN '".$fromDate."' and '".$toDate."' +// GROUP BY info_id,step,province_id,province_fa" +// ); foreach ($provinces as $value) { $provinceId = $value->province_id; @@ -124,16 +148,30 @@ class SafetyAndPrivacyTableService $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(); $provinceId = $request->province_id; + $axisTypeId = $request->axis_type_id; $activities = []; - $province = DB::select(' - SELECT COUNT(*) as qty,info_id, step FROM safety_and_privacy where province_id ='.$provinceId.' and created_at BETWEEN "'.$fromDate.'" and "'.$toDate.'" GROUP BY info_id,step - '); + $province = SafetyAndPrivacy::query() + ->selectRaw('COUNT(*) as qty,info_id, step') + ->where('province_id', '=', $provinceId) + ->whereBetween('created_at', [$fromDate, $toDate]) + ->when($axisTypeId, function ($query) use ($axisTypeId) { + $query->where('axis_type_id', '=', $axisTypeId); + }) + ->groupBy('info_id', 'step') + ->get(); + +// $province = DB::select(' +// SELECT COUNT(*) as qty,info_id, step +// FROM safety_and_privacy where province_id ='.$provinceId.' and created_at BETWEEN "'.$fromDate.'" and "'.$toDate.'" +// GROUP BY info_id,step +// '); $provinceTotalSum = 0; $provinceData = [ 'name_fa' => 'استانی', 'edare_shahri_id' => -1, + 'sum' => 0, '89' => [ '1' => 0, '2' => 0, @@ -152,14 +190,26 @@ class SafetyAndPrivacyTableService ]; foreach ($province as $key => $value) { $provinceTotalSum += $value->qty; - $provinceData[$value->info_id][$value->step] = $value->qty; $provinceData["sum"] = $provinceTotalSum; + $provinceData[$value->info_id][$value->step] = $value->qty; } - $activities[] = $provinceData; + $activities[] = (object) $provinceData; - $cities = DB::select(' - SELECT edare_shahri_id, COUNT(*) as qty,info_id, step FROM safety_and_privacy where province_id ='.$provinceId.' and created_at BETWEEN "'.$fromDate.'" and "'.$toDate.'" GROUP BY info_id,step,edare_shahri_id - '); + $cities = SafetyAndPrivacy::query() + ->selectRaw('edare_shahri_id, COUNT(*) as qty,info_id, step') + ->where('province_id', '=', $provinceId) + ->whereBetween('created_at', [$fromDate, $toDate]) + ->when($axisTypeId, function ($query) use ($axisTypeId) { + $query->where('axis_type_id', '=', $axisTypeId); + }) + ->groupBy('info_id', 'step', 'edare_shahri_id') + ->get(); + +// $cities = DB::select(' +// SELECT edare_shahri_id, COUNT(*) as qty,info_id, step +// FROM safety_and_privacy where province_id ='.$provinceId.' and created_at BETWEEN "'.$fromDate.'" and "'.$toDate.'" +// GROUP BY info_id,step,edare_shahri_id +// '); foreach ($cities as $value) { $cityId = $value->edare_shahri_id; diff --git a/resources/views/v3/Reports/SafetyAndPrivacy/CountryActivityReport.blade.php b/resources/views/v3/Reports/SafetyAndPrivacy/CountryActivityReport.blade.php index cdd69930..f7c5bd53 100644 --- a/resources/views/v3/Reports/SafetyAndPrivacy/CountryActivityReport.blade.php +++ b/resources/views/v3/Reports/SafetyAndPrivacy/CountryActivityReport.blade.php @@ -88,17 +88,17 @@ @foreach ($data as $item) - {{ $item['name_fa'] }} - {{ $item['sum'] }} - {{ $item[89][1] }} - {{ $item[89][2] }} - {{ $item[89][3] }} - {{ $item[90][1] }} - {{ $item[90][2] }} - {{ $item[90][3] }} - {{ $item[91][1] }} - {{ $item[91][2] }} - {{ $item[91][3] }} + {{ $item->name_fa }} + {{ $item->sum }} + {{ $item->{'89'}[1] }} + {{ $item->{'89'}[2] }} + {{ $item->{'89'}[3] }} + {{ $item->{'90'}[1] }} + {{ $item->{'90'}[2] }} + {{ $item->{'90'}[3] }} + {{ $item->{'91'}[1] }} + {{ $item->{'91'}[2] }} + {{ $item->{'91'}[3] }} @endforeach diff --git a/resources/views/v3/Reports/SafetyAndPrivacy/ProvinceActivityReport.blade.php b/resources/views/v3/Reports/SafetyAndPrivacy/ProvinceActivityReport.blade.php index 7faf68c3..6d45aca0 100644 --- a/resources/views/v3/Reports/SafetyAndPrivacy/ProvinceActivityReport.blade.php +++ b/resources/views/v3/Reports/SafetyAndPrivacy/ProvinceActivityReport.blade.php @@ -86,35 +86,19 @@ @foreach ($data as $item) - @if ($item['is_province'] == '1') - - {{ $item['name_fa'] }} - {{ $item['sum'] }} - {{ $item[89][1] }} - {{ $item[89][2] }} - {{ $item[89][3] }} - {{ $item[90][1] }} - {{ $item[90][2] }} - {{ $item[90][3] }} - {{ $item[91][1] }} - {{ $item[91][2] }} - {{ $item[91][3] }} - - @else - - {{ $item['name_fa'] }} - {{ $item['sum'] }} - {{ $item[89][1] }} - {{ $item[89][2] }} - {{ $item[89][3] }} - {{ $item[90][1] }} - {{ $item[90][2] }} - {{ $item[90][3] }} - {{ $item[91][1] }} - {{ $item[91][2] }} - {{ $item[91][3] }} - - @endif + + {{ $item['name_fa'] }} + {{ $item['sum'] }} + {{ $item->{'89'}[1] }} + {{ $item->{'89'}[2] }} + {{ $item->{'89'}[3] }} + {{ $item->{'90'}[1] }} + {{ $item->{'90'}[2] }} + {{ $item->{'90'}[3] }} + {{ $item->{'91'}[1] }} + {{ $item->{'91'}[2] }} + {{ $item->{'91'}[3] }} + @endforeach