create report views
This commit is contained in:
@@ -26,52 +26,77 @@ enum InfoItem: int
|
|||||||
public static function subItems(int $item): array
|
public static function subItems(int $item): array
|
||||||
{
|
{
|
||||||
$subitems = [
|
$subitems = [
|
||||||
1 => [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13],
|
1 => [1 => 'LabeAsphalt', 2 => 'ShaneSazi', 3 => 'GodOftadegi', 4 => 'Lakegiri',
|
||||||
2 => [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13],
|
5 => 'Maremat', 6 => 'BastarHarim', 8 => 'Darzgiri', 9 => 'Mozres',
|
||||||
3 => [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13],
|
10 => 'TarashRooye', 11 => 'Tighzani', 12 => 'Shenrizi', 13 => 'Khakbardari',
|
||||||
4 => [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13],
|
14 => 'TaranesheBardary'
|
||||||
5 => [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13],
|
],
|
||||||
6 => [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13],
|
|
||||||
7 => [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13],
|
2 => [1 => 'PaksaziSathRah', 2 => 'TanfieAbro', 3 => 'PaksaziLashe', 4 => 'PaksaziGhono',
|
||||||
8 => [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13],
|
5 => 'PaksaziTasadofat', 6 => 'AlafKani', 7 => 'PaksaziHarim', 8 => 'JamavariGhateat',
|
||||||
9 => [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13],
|
9 => 'PaksaziParking', 10 => 'PaksaziKenarGharnizPol', 11 => 'PaksaziJazire',
|
||||||
10 => [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13],
|
12 => 'PaksaziTanfieDakhelPol', 13 => 'PaksaziSifon', 14 => 'PaksaziShakheDerakhtan', 15 => 'PaksaziMavadNafti',
|
||||||
11 => [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13],
|
16 => 'AlafKaniDasti', 17 => 'RizeshBardari', 18 => 'JamavariSang', 19 => 'Layeroobi'
|
||||||
12 => [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13],
|
],
|
||||||
13 => [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13],
|
|
||||||
14 => [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13],
|
3 => [1 => 'TabloEkhtari', 2 => 'TabloEtelati', 3 => 'Shabrang', 4 => 'Baztab', 5 => 'TavizTablo',
|
||||||
15 => [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13],
|
6 => 'Maremat', 7 => 'EslahKajShodegi', 8 => 'NasbAlaemMovaghat', 9 => 'ShibShirvani'
|
||||||
16 => [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13],
|
],
|
||||||
17 => [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13],
|
|
||||||
20 => [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13],
|
4 => [1 => 'Miani', 2 => 'Pol', 3 => 'Behsazi'],
|
||||||
|
|
||||||
|
5 => [1 => 'NegahdariTool', 2 => 'NegahdariHashieh', 3 => 'NegahdariNoghteyi', 4 => 'NegahdariNavahi',
|
||||||
|
5 => 'NegahdariMehgir', 6 => 'NegahdariToonel', 7 => 'TamiratCable', 8 => 'TamiratKaleCheragh',
|
||||||
|
9 => 'TamiratMafselzani', 10 => 'TamiratTablo', 11 => 'TamiratBorjNoori'
|
||||||
|
],
|
||||||
|
|
||||||
|
6 => [1 => 'KhatkeshiRangGarm', 2 => 'KhatkeshiRangSard', 3 => 'TarsimKhat',
|
||||||
|
4 => 'EjrayeTooli', 5 => 'EjrayeArzi', 6 => 'PakKardanKhotoot'
|
||||||
|
],
|
||||||
|
|
||||||
|
7 => [1 => 'RangamiziTablo', 2 => 'RangamiziCheraq', 3 => 'RangimiziPayeRoshanayi', 4 => 'RangamiziPol',
|
||||||
|
5 => 'RangamiziDarvazi', 6 => 'RangamiziHefazFelezi', 7 => 'RangamiziNewjersi', 8 => 'RangamiziSoratgah', 9 => 'RangamiziPaye'
|
||||||
|
],
|
||||||
|
|
||||||
|
8 => [1 => 'ShosteshooAlaem', 2 => 'ShosteshooTablo', 3 => 'ShosteshooJadval', 4 => 'ShosteshooNewjersi',
|
||||||
|
5 => 'ShosteshooGuardrail', 6 => 'ShosteshooToonel', 7 => 'ShosteshooPol'
|
||||||
|
],
|
||||||
|
|
||||||
|
9 => [1 => 'ImensaziSarguard', 4 => ' TamiratCheraq', 5 => 'IjadShiar',
|
||||||
|
6 => 'Zarbegir', 7 => 'NasbSoratgir', 8 => 'IjadLarzanande',
|
||||||
|
9 => 'OstevaneImeni', 11 => 'EhdasSoratgir', 12 => 'EjrayeNoghteyi',
|
||||||
|
13 => 'EjrayeTooli', 14 => 'TarizMaghtaei', 15 => 'HazfMavane', 16 => 'DivarChini'
|
||||||
|
],
|
||||||
|
|
||||||
|
10 => [4 => 'BarkhordBaDastfroosh', 5 => 'JamavariTabloo', 6 => 'JamavariBanner'],
|
||||||
|
|
||||||
|
11 => [1 => 'EhdasGharnizPol', 2 => 'Lole', 3 => 'Tatvil', 4 => 'Bazsazi',
|
||||||
|
5 => 'TamiratAbro', 6 => 'Maremat', 7 => 'Radie'
|
||||||
|
],
|
||||||
|
|
||||||
|
12 => [1 => 'Zehkeshi', 2 => 'Maremat', 3 => 'Lining', 4 => 'TamirGallery',
|
||||||
|
5 => 'Gabarit', 6 => 'Doorbin', 7 => 'Tahvie'
|
||||||
|
],
|
||||||
|
|
||||||
|
13 => [1 => 'Yakhzodaei', 2 => 'BarfRoobi',
|
||||||
|
5 => 'MizanNamak', 7 => 'Mosaferin', 8 => 'KomakResani'
|
||||||
|
],
|
||||||
|
|
||||||
|
14 => [1 => 'BenzinMasrafi', 2 => 'GazMasrafi', 3 => 'MavadNafti', 4 => 'Bazsazi',
|
||||||
|
8 => 'Service', 9 => 'NamakPash', 10 => 'Jabejayi'
|
||||||
|
],
|
||||||
|
|
||||||
|
15 => [1 => 'Tamirat', 3 => 'Jalasat'],
|
||||||
|
|
||||||
|
16 => [1 => 'Paksazi', 2 => 'Taradod', 3 => 'BargharariErtebat', 4 => 'AbBordegi',
|
||||||
|
5 => 'ShekastegiPol', 6 => 'HedayatTraffici', 7 => 'Bozgoshaei', 8 => 'Jabejayi', 9 => 'Laghgiri'
|
||||||
|
],
|
||||||
|
|
||||||
|
20 => [1 => 'AbniyeFani', 2 => 'Alaem', 3 => 'Taranshe', 4 => 'RoyeAphalt',
|
||||||
|
5 => 'HarimRah', 6 => 'MashinAlat'],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
return $subitems[$item];
|
return $subitems[$item];
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function persianName(int $item): string
|
|
||||||
{
|
|
||||||
$persianName = [
|
|
||||||
1 => '',
|
|
||||||
2 => '',
|
|
||||||
3 => '',
|
|
||||||
4 => '',
|
|
||||||
5 => '',
|
|
||||||
6 => '',
|
|
||||||
7 => '',
|
|
||||||
8 => '',
|
|
||||||
9 => '',
|
|
||||||
10 => '',
|
|
||||||
11 => '',
|
|
||||||
12 => '',
|
|
||||||
13 => '',
|
|
||||||
14 => '',
|
|
||||||
15 => '',
|
|
||||||
16 => '',
|
|
||||||
17 => '',
|
|
||||||
20 => '',
|
|
||||||
];
|
|
||||||
|
|
||||||
return $persianName[$item];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -43,7 +43,7 @@ class CountryActivityPerItemReport implements FromView, WithEvents, ShouldAutoSi
|
|||||||
COUNT(CASE WHEN item = 16 THEN 1 END) AS EmergencyCount,
|
COUNT(CASE WHEN item = 16 THEN 1 END) AS EmergencyCount,
|
||||||
province_fa,
|
province_fa,
|
||||||
province_id,
|
province_id,
|
||||||
COUNT(CASE WHEN item != -1 THEN 1 END) AS TotalCount
|
COUNT(CASE WHEN item != -1 THEN 1 END) AS TotalProvinceCount
|
||||||
FROM (
|
FROM (
|
||||||
SELECT
|
SELECT
|
||||||
province_fa,
|
province_fa,
|
||||||
@@ -56,10 +56,31 @@ class CountryActivityPerItemReport implements FromView, WithEvents, ShouldAutoSi
|
|||||||
WHERE status = 1
|
WHERE status = 1
|
||||||
GROUP BY province_id, province_fa;";
|
GROUP BY province_id, province_fa;";
|
||||||
|
|
||||||
$countryActivities = DB::select($query);
|
$provinceActivities = collect(DB::select($query));
|
||||||
|
|
||||||
return view('', [
|
$totalItemCount = [
|
||||||
'activities' => $countryActivities,
|
'totalMarematRooyeCount' => $provinceActivities->sum('MarematRooyeCount'),
|
||||||
|
'totalPaksaziCount' => $provinceActivities->sum('PaksaziCount'),
|
||||||
|
'totalAlaemCount' => $provinceActivities->sum('AlaemCount'),
|
||||||
|
'totalHefazCount' => $provinceActivities->sum('HefazCount'),
|
||||||
|
'totalRoshanayiCount' => $provinceActivities->sum('RoshanayiCount'),
|
||||||
|
'totalKhatkeshiCount' => $provinceActivities->sum('KhatkeshiCount'),
|
||||||
|
'totalRangamiziCount' => $provinceActivities->sum('RangamiziCount'),
|
||||||
|
'totalWashingCount' => $provinceActivities->sum('WashingCount'),
|
||||||
|
'totalImenSaziCount' => $provinceActivities->sum('ImenSaziCount'),
|
||||||
|
'totalHarimCount' => $provinceActivities->sum('HarimCount'),
|
||||||
|
'totalPolCount' => $provinceActivities->sum('PolCount'),
|
||||||
|
'totalToonelCount' => $provinceActivities->sum('ToonelCount'),
|
||||||
|
'totalAmaliatZemestaniCount' => $provinceActivities->sum('AmaliatZemestaniCount'),
|
||||||
|
'totalMashinAlatCount' => $provinceActivities->sum('MashinAlatCount'),
|
||||||
|
'totalTollhouseCount' => $provinceActivities->sum('TollhouseCount'),
|
||||||
|
'totalEmergencyCount' => $provinceActivities->sum('EmergencyCount'),
|
||||||
|
'totalCountryCount' => $provinceActivities->sum('TotalProvinceCount'),
|
||||||
|
];
|
||||||
|
|
||||||
|
return view('v3.Reports.RoadItems.CountryActivityPerItem', [
|
||||||
|
'provinceCount' => $provinceActivities,
|
||||||
|
'countryCount' => $totalItemCount,
|
||||||
'fromDate' => $fromDate,
|
'fromDate' => $fromDate,
|
||||||
'toDate' => $toDate
|
'toDate' => $toDate
|
||||||
]);
|
]);
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Services\Reports;
|
namespace App\Services\Reports;
|
||||||
|
|
||||||
use App\Enums\InfoItem;
|
use App\Models\InfoItem;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Collection;
|
use Illuminate\Support\Collection;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
@@ -11,15 +11,15 @@ class RoadItemReportService
|
|||||||
{
|
{
|
||||||
public function countryActivityPerSubItem(int $item, string $fromDate, string $toDate): Collection
|
public function countryActivityPerSubItem(int $item, string $fromDate, string $toDate): Collection
|
||||||
{
|
{
|
||||||
$subItems = InfoItem::subItems($item);
|
$subItems = InfoItem::query()->where('item', $item)->get(['sub_item', 'sub_item_str']);
|
||||||
|
|
||||||
$query = DB::table('road_items_projects')
|
$query = DB::table('road_items_projects')
|
||||||
->selectRaw('province_id, province_fa');
|
->selectRaw('province_id, province_fa');
|
||||||
|
|
||||||
foreach ($subItems as $key => $name) {
|
foreach ($subItems as $subItem) {
|
||||||
$query->selectRaw("
|
$query->selectRaw("
|
||||||
COUNT(CASE WHEN sub_item = {$key} THEN 1 END) as {$name}Count,
|
COUNT(CASE WHEN sub_item = {$subItem->sub_item} THEN 1 END) as Count_{$subItem->sub_item},
|
||||||
SUM(CASE WHEN sub_item = {$key} THEN sub_item_data END) as {$name}Sum
|
SUM(CASE WHEN sub_item = {$subItem->sub_item} THEN sub_item_data END) as Sum_{$subItem->sub_item}
|
||||||
");
|
");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -35,6 +35,7 @@ class RoadItemReportService
|
|||||||
'data' => $activities,
|
'data' => $activities,
|
||||||
'fromDate' => $fromDate,
|
'fromDate' => $fromDate,
|
||||||
'toDate' => $toDate,
|
'toDate' => $toDate,
|
||||||
|
'titles' => $subItems->pluck('sub_item_str')
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
4
resources/.gitignore
vendored
4
resources/.gitignore
vendored
@@ -1 +1,3 @@
|
|||||||
views
|
/views/*
|
||||||
|
!/views/v3/
|
||||||
|
!/views/v3/*`
|
||||||
@@ -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 ($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>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
<tr>
|
||||||
|
<td style="border:1px solid black;text-align: center;">کشوری</td>
|
||||||
|
<td style="border:1px solid black;text-align: center;">{{ $countryCount['totalMarematRooyeCount'] }}</td>
|
||||||
|
<td style="border:1px solid black;text-align: center;">{{ $countryCount['totalPaksaziCount'] }}</td>
|
||||||
|
<td style="border:1px solid black;text-align: center;">{{ $countryCount['totalAlaemCount'] }}</td>
|
||||||
|
<td style="border:1px solid black;text-align: center;">{{ $countryCount['totalHefazCount'] }}</td>
|
||||||
|
<td style="border:1px solid black;text-align: center;">{{ $countryCount['totalRoshanayiCount'] }}</td>
|
||||||
|
<td style="border:1px solid black;text-align: center;">{{ $countryCount['totalKhatkeshiCount'] }}</td>
|
||||||
|
<td style="border:1px solid black;text-align: center;">{{ $countryCount['totalRangamiziCount'] }}</td>
|
||||||
|
<td style="border:1px solid black;text-align: center;">{{ $countryCount['totalWashingCount'] }}</td>
|
||||||
|
<td style="border:1px solid black;text-align: center;">{{ $countryCount['totalImenSaziCount'] }}</td>
|
||||||
|
<td style="border:1px solid black;text-align: center;">{{ $countryCount['totalHarimCount'] }}</td>
|
||||||
|
<td style="border:1px solid black;text-align: center;">{{ $countryCount['totalPolCount'] }}</td>
|
||||||
|
<td style="border:1px solid black;text-align: center;">{{ $countryCount['totalToonelCount'] }}</td>
|
||||||
|
<td style="border:1px solid black;text-align: center;">{{ $countryCount['totalAmaliatZemestaniCount'] }}</td>
|
||||||
|
<td style="border:1px solid black;text-align: center;">{{ $countryCount['totalMashinAlatCount'] }}</td>
|
||||||
|
<td style="border:1px solid black;text-align: center;">{{ $countryCount['totalTollhouseCount'] }}</td>
|
||||||
|
<td style="border:1px solid black;text-align: center;">{{ $countryCount['totalEmergencyCount'] }}</td>
|
||||||
|
<td style="border:1px solid black;text-align: center;">{{ $countryCount['totalCountryCount'] }}</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
|
||||||
|
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
Reference in New Issue
Block a user