create city report excel per item

This commit is contained in:
2025-01-22 11:51:07 +03:30
parent e6dcd36fc9
commit 7ba7ebaa31
3 changed files with 162 additions and 22 deletions

View File

@@ -48,7 +48,7 @@ class ProvinceActivityPerItemReport implements FromView, WithEvents, ShouldAutoS
province_id,
edarat_name,
edarat_id,
COUNT(CASE WHEN item != -1 THEN 1 END) AS TotalCount
COUNT(CASE WHEN item != -1 THEN 1 END) AS TotalCityCount
FROM (
SELECT
province_fa,
@@ -64,10 +64,31 @@ class ProvinceActivityPerItemReport implements FromView, WithEvents, ShouldAutoS
AND province_id = {$this->provinceId}
GROUP BY edarat_id, edarat_name, order by province_id ASC;";
$provinceActivities = DB::select($query);
$cityActivities = collect(DB::select($query));
return view('', [
'activities' => $provinceActivities,
$totalItemCount = [
'totalMarematRooyeCount' => $cityActivities->sum('MarematRooyeCount'),
'totalPaksaziCount' => $cityActivities->sum('PaksaziCount'),
'totalAlaemCount' => $cityActivities->sum('AlaemCount'),
'totalHefazCount' => $cityActivities->sum('HefazCount'),
'totalRoshanayiCount' => $cityActivities->sum('RoshanayiCount'),
'totalKhatkeshiCount' => $cityActivities->sum('KhatkeshiCount'),
'totalRangamiziCount' => $cityActivities->sum('RangamiziCount'),
'totalWashingCount' => $cityActivities->sum('WashingCount'),
'totalImenSaziCount' => $cityActivities->sum('ImenSaziCount'),
'totalHarimCount' => $cityActivities->sum('HarimCount'),
'totalPolCount' => $cityActivities->sum('PolCount'),
'totalToonelCount' => $cityActivities->sum('ToonelCount'),
'totalAmaliatZemestaniCount' => $cityActivities->sum('AmaliatZemestaniCount'),
'totalMashinAlatCount' => $cityActivities->sum('MashinAlatCount'),
'totalTollhouseCount' => $cityActivities->sum('TollhouseCount'),
'totalEmergencyCount' => $cityActivities->sum('EmergencyCount'),
'TotalProvinceCount' => $cityActivities->sum('TotalCityCount'),
];
return view('v3.Reports.RoadItems.ProvinceActivityPerItem', [
'cityCount' => $cityActivities,
'provinceCount' => $totalItemCount,
'fromDate' => $fromDate,
'toDate' => $toDate
]);

View File

@@ -69,24 +69,24 @@
<tbody>
@foreach ($provinceCount as $activity)
<tr>
<td style="border:1px solid black;text-align: center;">{{ $activity['province_fa'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity['MarematRooyeCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity['PaksaziCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity['AlaemCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity['HefazCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity['RoshanayiCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity['KhatkeshiCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity['RangamiziCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity['WashingCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity['ImenSaziCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity['HarimCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity['PolCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity['ToonelCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity['AmaliatZemestaniCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity['MashinAlatCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity['TollhouseCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity['EmergencyCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity['TotalProvinceCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->province_fa }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->MarematRooyeCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->PaksaziCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->AlaemCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->HefazCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->RoshanayiCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->KhatkeshiCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->RangamiziCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->WashingCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->ImenSaziCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->HarimCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->PolCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->ToonelCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->AmaliatZemestaniCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->MashinAlatCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->TollhouseCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->EmergencyCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->TotalProvinceCount }}</td>
</tr>
@endforeach
<tr>

View File

@@ -0,0 +1,119 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>استانی</title>
</head>
<body dir="rtl" style="text-align: center;">
<table>
<thead>
<tr>
<th colspan="18"
style="background-color: #DAEEF3;text-align: center;border-right: 1px solid black;font-weight:bolder;">
تاریخ دریافت گزارش: {{ verta()->now()->format('Y/m/d H:i') }}
</th>
</tr>
<tr>
<th colspan="18"
style="background-color: #DAEEF3;text-align: center;border-right:1px solid black;font-weight:bolder;">
</th>
</tr>
<tr>
<th colspan="18"
style="background-color: #DAEEF3;text-align: center;border-right:1px solid black;font-weight:bolder;font-size: 13;">
گزارش فعالیت روزانه و جاری راهداری از تاریخ
{{ verta($fromDate)->format('Y/n/j') }}
تا
تاریخ
{{ verta($toDate)->format('Y/n/j') }}
</th>
</tr>
<tr>
<th rowspan="2" style="border:1px solid black;text-align:center;background-color: #EBF1DE;">اداره کل
</th>
<th colspan="16" style="border:1px solid black;text-align:center;background-color: #EBF1DE;">فعالیت های
جاری و روزانه راهداری
</th>
<th rowspan="2" style="border:1px solid black;text-align:center;background-color: #EBF1DE;">کل</th>
</tr>
<tr>
<th style="border:1px solid black;text-align:center;background-color: #C4D79B;">مرمت رویه</th>
<th style="border:1px solid black;text-align:center;background-color: #C4D79B;">پاکسازی</th>
<th style="border:1px solid black;text-align:center;background-color: #C4D79B;">علائم</th>
<th style="border:1px solid black;text-align:center;background-color: #C4D79B;">حفاظ</th>
<th style="border:1px solid black;text-align:center;background-color: #C4D79B;">روشنایی</th>
<th style="border:1px solid black;text-align:center;background-color: #C4D79B;">خط کشی</th>
<th style="border:1px solid black;text-align:center;background-color: #C4D79B;">رنگ آمیزی</th>
<th style="border:1px solid black;text-align:center;background-color: #C4D79B;">شستشو</th>
<th style="border:1px solid black;text-align:center;background-color: #C4D79B;">ایمن سازی</th>
<th style="border:1px solid black;text-align:center;background-color: #C4D79B;">حریم</th>
<th style="border:1px solid black;text-align:center;background-color: #C4D79B;">پل</th>
<th style="border:1px solid black;text-align:center;background-color: #C4D79B;">تونل و گالری</th>
<th style="border:1px solid black;text-align:center;background-color: #C4D79B;">عملیات زمستانی</th>
<th style="border:1px solid black;text-align:center;background-color: #C4D79B;">ماشین آلات</th>
<th style="border:1px solid black;text-align:center;background-color: #C4D79B;">راهدارخانه</th>
<th style="border:1px solid black;text-align:center;background-color: #C4D79B;">موارد اضطراری</th>
</tr>
</thead>
<tbody>
@foreach ($cityCount as $activity)
<tr>
<td style="border:1px solid black;text-align: center;">{{ $activity->province_fa }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->MarematRooyeCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->PaksaziCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->AlaemCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->HefazCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->RoshanayiCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->KhatkeshiCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->RangamiziCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->WashingCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->ImenSaziCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->HarimCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->PolCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->ToonelCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->AmaliatZemestaniCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->MashinAlatCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->TollhouseCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->EmergencyCount }}</td>
<td style="border:1px solid black;text-align: center;">{{ $activity->TotalCityCount }}</td>
</tr>
@endforeach
<tr>
<td style="border:1px solid black;text-align: center;">کشوری</td>
<td style="border:1px solid black;text-align: center;">{{ $provinceCount['totalMarematRooyeCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $provinceCount['totalPaksaziCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $provinceCount['totalAlaemCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $provinceCount['totalHefazCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $provinceCount['totalRoshanayiCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $provinceCount['totalKhatkeshiCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $provinceCount['totalRangamiziCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $provinceCount['totalWashingCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $provinceCount['totalImenSaziCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $provinceCount['totalHarimCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $provinceCount['totalPolCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $provinceCount['totalToonelCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $provinceCount['totalAmaliatZemestaniCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $provinceCount['totalMashinAlatCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $provinceCount['totalTollhouseCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $provinceCount['totalEmergencyCount'] }}</td>
<td style="border:1px solid black;text-align: center;">{{ $provinceCount['TotalProvinceCount'] }}</td>
</tr>
</tbody>
</table>
</body>
</html>