Merge branch 'feature/Exports' into 'develop'
Feature/exports See merge request witelgroup/rms_v2!63
This commit is contained in:
@@ -0,0 +1,129 @@
|
||||
<?php
|
||||
|
||||
namespace App\Exports\V3\RoadItemsProjects;
|
||||
|
||||
use App\Models\Province;
|
||||
use App\Models\RoadItemsProject;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Maatwebsite\Excel\Concerns\FromView;
|
||||
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
|
||||
use Maatwebsite\Excel\Concerns\WithDrawings;
|
||||
use Maatwebsite\Excel\Concerns\WithEvents;
|
||||
use Maatwebsite\Excel\Events\AfterSheet;
|
||||
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\Drawing;
|
||||
|
||||
class CountryActivityPerItemReport implements FromView, WithEvents, ShouldAutoSize, WithDrawings
|
||||
{
|
||||
public function __construct(private ?string $fromDate, private ?string $toDate){}
|
||||
|
||||
public function view(): View
|
||||
{
|
||||
$fromDate = $this->fromDate ?? '2021-03-21 00:00:00';
|
||||
$toDate = $this->toDate ?? \Carbon\Carbon::now();
|
||||
|
||||
$query = "SELECT
|
||||
COUNT(CASE WHEN item = 1 THEN 1 END) AS MarematRooyeCount,
|
||||
COUNT(CASE WHEN item = 2 THEN 1 END) AS PaksaziCount,
|
||||
COUNT(CASE WHEN item = 3 THEN 1 END) AS AlaemCount,
|
||||
COUNT(CASE WHEN item = 4 THEN 1 END) AS HefazCount,
|
||||
COUNT(CASE WHEN item = 5 THEN 1 END) AS RoshanayiCount,
|
||||
COUNT(CASE WHEN item = 6 THEN 1 END) AS KhatkeshiCount,
|
||||
COUNT(CASE WHEN item = 7 THEN 1 END) AS RangamiziCount,
|
||||
COUNT(CASE WHEN item = 8 THEN 1 END) AS WashingCount,
|
||||
COUNT(CASE WHEN item = 9 THEN 1 END) AS ImenSaziCount,
|
||||
COUNT(CASE WHEN item = 10 THEN 1 END) AS HarimCount,
|
||||
COUNT(CASE WHEN item = 11 THEN 1 END) AS PolCount,
|
||||
COUNT(CASE WHEN item = 12 THEN 1 END) AS ToonelCount,
|
||||
COUNT(CASE WHEN item = 13 THEN 1 END) AS AmaliatZemestaniCount,
|
||||
COUNT(CASE WHEN item = 14 THEN 1 END) AS MashinAlatCount,
|
||||
COUNT(CASE WHEN item = 15 THEN 1 END) AS TollhouseCount,
|
||||
COUNT(CASE WHEN item = 16 THEN 1 END) AS EmergencyCount,
|
||||
province_fa,
|
||||
province_id,
|
||||
COUNT(CASE WHEN item != 20 THEN 1 END) AS TotalProvinceCount
|
||||
FROM (
|
||||
SELECT
|
||||
province_fa,
|
||||
province_id,
|
||||
item,
|
||||
status
|
||||
FROM road_items_projects
|
||||
WHERE activity_date_time BETWEEN '{$fromDate}' and '{$toDate}'
|
||||
) AS merged_table
|
||||
WHERE status = 1
|
||||
GROUP BY province_id, province_fa;";
|
||||
|
||||
$provinceActivities = collect(DB::select($query));
|
||||
|
||||
$totalItemCount = [
|
||||
'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,
|
||||
'toDate' => $toDate
|
||||
]);
|
||||
}
|
||||
|
||||
public function registerEvents(): array
|
||||
{
|
||||
return [
|
||||
AfterSheet::class => function (AfterSheet $event) {
|
||||
$event->sheet->getDelegate()->setRightToLeft(true);
|
||||
$event->sheet->getDelegate()->getStyle('A:U')->getFont()->setName('Arial');
|
||||
$event->sheet->getDelegate()->getStyle('A:U')
|
||||
->getAlignment()
|
||||
->setHorizontal(Alignment::HORIZONTAL_CENTER);
|
||||
|
||||
$event->sheet->getDelegate()->getStyle('A:U')
|
||||
->getAlignment()
|
||||
->setVertical(Alignment::VERTICAL_CENTER);
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
public function drawings(): array
|
||||
{
|
||||
$drawing = new Drawing();
|
||||
$drawing->setName('Logo');
|
||||
$drawing->setDescription('This is my logo');
|
||||
$drawing->setPath(public_path('/dist/logo.png'));
|
||||
$drawing->setWidth(50);
|
||||
$drawing->setHeight(50);
|
||||
$drawing->setOffsetX(5);
|
||||
$drawing->setOffsetY(5);
|
||||
$drawing->setCoordinates('A1');
|
||||
|
||||
$drawing2 = new Drawing();
|
||||
$drawing2->setName('Logo');
|
||||
$drawing2->setDescription('This is my logo');
|
||||
$drawing2->setPath(public_path('/dist/141icon.png'));
|
||||
$drawing2->setWidth(50);
|
||||
$drawing2->setHeight(50);
|
||||
$drawing2->setOffsetX(5);
|
||||
$drawing2->setOffsetY(5);
|
||||
$drawing2->setCoordinates('q1');
|
||||
return [$drawing, $drawing2];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
|
||||
namespace App\Exports\V3\RoadItemsProjects;
|
||||
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Maatwebsite\Excel\Concerns\FromView;
|
||||
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
|
||||
use Maatwebsite\Excel\Concerns\WithDrawings;
|
||||
use Maatwebsite\Excel\Concerns\WithEvents;
|
||||
use Maatwebsite\Excel\Events\AfterSheet;
|
||||
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\Drawing;
|
||||
|
||||
class CountryActivityPerSubItemReport implements FromView, WithEvents, ShouldAutoSize, WithDrawings
|
||||
{
|
||||
public function __construct(private array $activities){}
|
||||
|
||||
public function view(): View
|
||||
{
|
||||
$activities = $this->activities;
|
||||
|
||||
return view('v3.Reports.RoadItems.CountryActivityPerSubItem', [
|
||||
'activities' => $activities["data"],
|
||||
'fromDate' => $activities["fromDate"],
|
||||
'toDate' => $activities["toDate"],
|
||||
'details' => $activities["details"]
|
||||
]);
|
||||
}
|
||||
|
||||
public function registerEvents(): array
|
||||
{
|
||||
return [
|
||||
AfterSheet::class => function (AfterSheet $event) {
|
||||
$event->sheet->getDelegate()->setRightToLeft(true);
|
||||
$event->sheet->getDelegate()->getStyle('A:U')->getFont()->setName('Arial');
|
||||
$event->sheet->getDelegate()->getStyle('A:U')
|
||||
->getAlignment()
|
||||
->setHorizontal(Alignment::HORIZONTAL_CENTER);
|
||||
|
||||
$event->sheet->getDelegate()->getStyle('A:U')
|
||||
->getAlignment()
|
||||
->setVertical(Alignment::VERTICAL_CENTER);
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
public function drawings(): array
|
||||
{
|
||||
$drawing = new Drawing();
|
||||
$drawing->setName('Logo');
|
||||
$drawing->setDescription('This is my logo');
|
||||
$drawing->setPath(public_path('/dist/logo.png'));
|
||||
$drawing->setWidth(50);
|
||||
$drawing->setHeight(50);
|
||||
$drawing->setOffsetX(5);
|
||||
$drawing->setOffsetY(5);
|
||||
$drawing->setCoordinates('A1');
|
||||
|
||||
$drawing2 = new Drawing();
|
||||
$drawing2->setName('Logo');
|
||||
$drawing2->setDescription('This is my logo');
|
||||
$drawing2->setPath(public_path('/dist/141icon.png'));
|
||||
$drawing2->setWidth(50);
|
||||
$drawing2->setHeight(50);
|
||||
$drawing2->setOffsetX(5);
|
||||
$drawing2->setOffsetY(5);
|
||||
$drawing2->setCoordinates('q1');
|
||||
return [$drawing, $drawing2];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,137 @@
|
||||
<?php
|
||||
|
||||
namespace App\Exports\V3\RoadItemsProjects;
|
||||
|
||||
use App\Models\Province;
|
||||
use App\Models\RoadItemsProject;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Maatwebsite\Excel\Concerns\FromView;
|
||||
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
|
||||
use Maatwebsite\Excel\Concerns\WithDrawings;
|
||||
use Maatwebsite\Excel\Concerns\WithEvents;
|
||||
use Maatwebsite\Excel\Events\AfterSheet;
|
||||
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\Drawing;
|
||||
|
||||
class ProvinceActivityPerItemReport implements FromView, WithEvents, ShouldAutoSize, WithDrawings
|
||||
{
|
||||
public function __construct(private ?string $fromDate,
|
||||
private ?string $toDate,
|
||||
private string $provinceId,
|
||||
){}
|
||||
|
||||
public function view(): View
|
||||
{
|
||||
$fromDate = $this->fromDate ?? '2021-03-21 00:00:00';
|
||||
$toDate = $this->toDate ?? \Carbon\Carbon::now();
|
||||
|
||||
$query = "SELECT
|
||||
COUNT(CASE WHEN item = 1 THEN 1 END) AS MarematRooyeCount,
|
||||
COUNT(CASE WHEN item = 2 THEN 1 END) AS PaksaziCount,
|
||||
COUNT(CASE WHEN item = 3 THEN 1 END) AS AlaemCount,
|
||||
COUNT(CASE WHEN item = 4 THEN 1 END) AS HefazCount,
|
||||
COUNT(CASE WHEN item = 5 THEN 1 END) AS RoshanayiCount,
|
||||
COUNT(CASE WHEN item = 6 THEN 1 END) AS KhatkeshiCount,
|
||||
COUNT(CASE WHEN item = 7 THEN 1 END) AS RangamiziCount,
|
||||
COUNT(CASE WHEN item = 8 THEN 1 END) AS WashingCount,
|
||||
COUNT(CASE WHEN item = 9 THEN 1 END) AS ImenSaziCount,
|
||||
COUNT(CASE WHEN item = 10 THEN 1 END) AS HarimCount,
|
||||
COUNT(CASE WHEN item = 11 THEN 1 END) AS PolCount,
|
||||
COUNT(CASE WHEN item = 12 THEN 1 END) AS ToonelCount,
|
||||
COUNT(CASE WHEN item = 13 THEN 1 END) AS AmaliatZemestaniCount,
|
||||
COUNT(CASE WHEN item = 14 THEN 1 END) AS MashinAlatCount,
|
||||
COUNT(CASE WHEN item = 15 THEN 1 END) AS TollhouseCount,
|
||||
COUNT(CASE WHEN item = 16 THEN 1 END) AS EmergencyCount,
|
||||
province_fa,
|
||||
province_id,
|
||||
edarat_name,
|
||||
edarat_id,
|
||||
COUNT(CASE WHEN item != 20 THEN 1 END) AS TotalCityCount
|
||||
FROM (
|
||||
SELECT
|
||||
province_fa,
|
||||
province_id,
|
||||
edarat_name,
|
||||
edarat_id,
|
||||
item,
|
||||
status
|
||||
FROM road_items_projects
|
||||
WHERE activity_date_time BETWEEN '{$fromDate}' and '{$toDate}'
|
||||
) AS merged_table
|
||||
WHERE status = 1
|
||||
AND province_id = {$this->provinceId}
|
||||
GROUP BY edarat_id, edarat_name order by province_id ASC;";
|
||||
|
||||
$cityActivities = collect(DB::select($query));
|
||||
|
||||
$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
|
||||
]);
|
||||
}
|
||||
|
||||
public function registerEvents(): array
|
||||
{
|
||||
return [
|
||||
AfterSheet::class => function (AfterSheet $event) {
|
||||
$event->sheet->getDelegate()->setRightToLeft(true);
|
||||
$event->sheet->getDelegate()->getStyle('A:U')->getFont()->setName('Arial');
|
||||
$event->sheet->getDelegate()->getStyle('A:U')
|
||||
->getAlignment()
|
||||
->setHorizontal(Alignment::HORIZONTAL_CENTER);
|
||||
|
||||
$event->sheet->getDelegate()->getStyle('A:U')
|
||||
->getAlignment()
|
||||
->setVertical(Alignment::VERTICAL_CENTER);
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
public function drawings(): array
|
||||
{
|
||||
$drawing = new Drawing();
|
||||
$drawing->setName('Logo');
|
||||
$drawing->setDescription('This is my logo');
|
||||
$drawing->setPath(public_path('/dist/logo.png'));
|
||||
$drawing->setWidth(50);
|
||||
$drawing->setHeight(50);
|
||||
$drawing->setOffsetX(5);
|
||||
$drawing->setOffsetY(5);
|
||||
$drawing->setCoordinates('A1');
|
||||
|
||||
$drawing2 = new Drawing();
|
||||
$drawing2->setName('Logo');
|
||||
$drawing2->setDescription('This is my logo');
|
||||
$drawing2->setPath(public_path('/dist/141icon.png'));
|
||||
$drawing2->setWidth(50);
|
||||
$drawing2->setHeight(50);
|
||||
$drawing2->setOffsetX(5);
|
||||
$drawing2->setOffsetY(5);
|
||||
$drawing2->setCoordinates('q1');
|
||||
return [$drawing, $drawing2];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
|
||||
namespace App\Exports\V3\RoadItemsProjects;
|
||||
|
||||
use App\Models\Province;
|
||||
use App\Models\RoadItemsProject;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\Support\Collection;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Maatwebsite\Excel\Concerns\FromView;
|
||||
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
|
||||
use Maatwebsite\Excel\Concerns\WithDrawings;
|
||||
use Maatwebsite\Excel\Concerns\WithEvents;
|
||||
use Maatwebsite\Excel\Events\AfterSheet;
|
||||
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\Drawing;
|
||||
|
||||
class ProvinceActivityPerSubItemReport implements FromView, WithEvents, ShouldAutoSize, WithDrawings
|
||||
{
|
||||
public function __construct(private array $activities){}
|
||||
|
||||
public function view(): View
|
||||
{
|
||||
$activities = $this->activities;
|
||||
|
||||
return view('v3.Reports.RoadItems.ProvinceActivityPerSubItem', [
|
||||
'activities' => $activities["data"],
|
||||
'fromDate' => $activities["fromDate"],
|
||||
'toDate' => $activities["toDate"],
|
||||
'details' => $activities["details"]
|
||||
]);
|
||||
}
|
||||
|
||||
public function registerEvents(): array
|
||||
{
|
||||
return [
|
||||
AfterSheet::class => function (AfterSheet $event) {
|
||||
$event->sheet->getDelegate()->setRightToLeft(true);
|
||||
$event->sheet->getDelegate()->getStyle('A:U')->getFont()->setName('Arial');
|
||||
$event->sheet->getDelegate()->getStyle('A:U')
|
||||
->getAlignment()
|
||||
->setHorizontal(Alignment::HORIZONTAL_CENTER);
|
||||
|
||||
$event->sheet->getDelegate()->getStyle('A:U')
|
||||
->getAlignment()
|
||||
->setVertical(Alignment::VERTICAL_CENTER);
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
public function drawings(): array
|
||||
{
|
||||
$drawing = new Drawing();
|
||||
$drawing->setName('Logo');
|
||||
$drawing->setDescription('This is my logo');
|
||||
$drawing->setPath(public_path('/dist/logo.png'));
|
||||
$drawing->setWidth(50);
|
||||
$drawing->setHeight(50);
|
||||
$drawing->setOffsetX(5);
|
||||
$drawing->setOffsetY(5);
|
||||
$drawing->setCoordinates('A1');
|
||||
|
||||
$drawing2 = new Drawing();
|
||||
$drawing2->setName('Logo');
|
||||
$drawing2->setDescription('This is my logo');
|
||||
$drawing2->setPath(public_path('/dist/141icon.png'));
|
||||
$drawing2->setWidth(50);
|
||||
$drawing2->setHeight(50);
|
||||
$drawing2->setOffsetX(5);
|
||||
$drawing2->setOffsetY(5);
|
||||
$drawing2->setCoordinates('q1');
|
||||
return [$drawing, $drawing2];
|
||||
}
|
||||
}
|
||||
70
app/Exports/V3/RoadPatrols/CountryActivity.php
Normal file
70
app/Exports/V3/RoadPatrols/CountryActivity.php
Normal file
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
|
||||
namespace App\Exports\V3\RoadPatrols;
|
||||
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Maatwebsite\Excel\Concerns\FromView;
|
||||
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
|
||||
use Maatwebsite\Excel\Concerns\WithDrawings;
|
||||
use Maatwebsite\Excel\Concerns\WithEvents;
|
||||
use Maatwebsite\Excel\Events\AfterSheet;
|
||||
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\Drawing;
|
||||
|
||||
class CountryActivity implements FromView, WithEvents, ShouldAutoSize, WithDrawings
|
||||
|
||||
{
|
||||
public function __construct(private array $activities){}
|
||||
|
||||
public function view(): View
|
||||
{
|
||||
$activities = $this->activities;
|
||||
|
||||
return view('v3.Reports.RoadPatrols.CountryActivity', [
|
||||
'activities' => $activities["activities"],
|
||||
'fromDate' => $activities["fromDate"],
|
||||
'toDate' => $activities["toDate"]
|
||||
]);
|
||||
}
|
||||
|
||||
public function registerEvents(): array
|
||||
{
|
||||
return [
|
||||
AfterSheet::class => function (AfterSheet $event) {
|
||||
$event->sheet->getDelegate()->setRightToLeft(true);
|
||||
$event->sheet->getDelegate()->getStyle('A:U')->getFont()->setName('Arial');
|
||||
$event->sheet->getDelegate()->getStyle('A:U')
|
||||
->getAlignment()
|
||||
->setHorizontal(Alignment::HORIZONTAL_CENTER);
|
||||
|
||||
$event->sheet->getDelegate()->getStyle('A:U')
|
||||
->getAlignment()
|
||||
->setVertical(Alignment::VERTICAL_CENTER);
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
public function drawings(): array
|
||||
{
|
||||
$drawing = new Drawing();
|
||||
$drawing->setName('Logo');
|
||||
$drawing->setDescription('This is my logo');
|
||||
$drawing->setPath(public_path('/dist/logo.png'));
|
||||
$drawing->setWidth(50);
|
||||
$drawing->setHeight(50);
|
||||
$drawing->setOffsetX(5);
|
||||
$drawing->setOffsetY(5);
|
||||
$drawing->setCoordinates('A1');
|
||||
|
||||
$drawing2 = new Drawing();
|
||||
$drawing2->setName('Logo');
|
||||
$drawing2->setDescription('This is my logo');
|
||||
$drawing2->setPath(public_path('/dist/141icon.png'));
|
||||
$drawing2->setWidth(50);
|
||||
$drawing2->setHeight(50);
|
||||
$drawing2->setOffsetX(5);
|
||||
$drawing2->setOffsetY(5);
|
||||
$drawing2->setCoordinates('q1');
|
||||
return [$drawing, $drawing2];
|
||||
}
|
||||
}
|
||||
70
app/Exports/V3/RoadPatrols/ProvinceActivity.php
Normal file
70
app/Exports/V3/RoadPatrols/ProvinceActivity.php
Normal file
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
|
||||
namespace App\Exports\V3\RoadPatrols;
|
||||
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Maatwebsite\Excel\Concerns\FromView;
|
||||
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
|
||||
use Maatwebsite\Excel\Concerns\WithDrawings;
|
||||
use Maatwebsite\Excel\Concerns\WithEvents;
|
||||
use Maatwebsite\Excel\Events\AfterSheet;
|
||||
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\Drawing;
|
||||
|
||||
class ProvinceActivity implements FromView, WithEvents, ShouldAutoSize, WithDrawings
|
||||
|
||||
{
|
||||
public function __construct(private array $activities){}
|
||||
|
||||
public function view(): View
|
||||
{
|
||||
$activities = $this->activities;
|
||||
|
||||
return view('v3.Reports.RoadPatrols.ProvinceActivity', [
|
||||
'activities' => $activities["activities"],
|
||||
'fromDate' => $activities["fromDate"],
|
||||
'toDate' => $activities["toDate"]
|
||||
]);
|
||||
}
|
||||
|
||||
public function registerEvents(): array
|
||||
{
|
||||
return [
|
||||
AfterSheet::class => function (AfterSheet $event) {
|
||||
$event->sheet->getDelegate()->setRightToLeft(true);
|
||||
$event->sheet->getDelegate()->getStyle('A:U')->getFont()->setName('Arial');
|
||||
$event->sheet->getDelegate()->getStyle('A:U')
|
||||
->getAlignment()
|
||||
->setHorizontal(Alignment::HORIZONTAL_CENTER);
|
||||
|
||||
$event->sheet->getDelegate()->getStyle('A:U')
|
||||
->getAlignment()
|
||||
->setVertical(Alignment::VERTICAL_CENTER);
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
public function drawings(): array
|
||||
{
|
||||
$drawing = new Drawing();
|
||||
$drawing->setName('Logo');
|
||||
$drawing->setDescription('This is my logo');
|
||||
$drawing->setPath(public_path('/dist/logo.png'));
|
||||
$drawing->setWidth(50);
|
||||
$drawing->setHeight(50);
|
||||
$drawing->setOffsetX(5);
|
||||
$drawing->setOffsetY(5);
|
||||
$drawing->setCoordinates('A1');
|
||||
|
||||
$drawing2 = new Drawing();
|
||||
$drawing2->setName('Logo');
|
||||
$drawing2->setDescription('This is my logo');
|
||||
$drawing2->setPath(public_path('/dist/141icon.png'));
|
||||
$drawing2->setWidth(50);
|
||||
$drawing2->setHeight(50);
|
||||
$drawing2->setOffsetX(5);
|
||||
$drawing2->setOffsetY(5);
|
||||
$drawing2->setCoordinates('q1');
|
||||
return [$drawing, $drawing2];
|
||||
}
|
||||
}
|
||||
@@ -658,7 +658,7 @@ class DevelopController extends Controller
|
||||
|
||||
$save = $file->move(storage_path('images'), $fileName);
|
||||
|
||||
\App\Helpers\Compress::resize($save);
|
||||
// \App\Helpers\Compress::resize($save);
|
||||
|
||||
return response()->json(['msg' => 'ok']);
|
||||
}
|
||||
|
||||
@@ -154,13 +154,13 @@ class RoadItemsProjectController extends Controller
|
||||
$after = $request->file('after_image')->store('road_items_projects_new/after', 'public');
|
||||
$roadItems->files()->create(['path' => $after]);
|
||||
$urlAfter = "/var/www/rms/public/storage/{$after}";
|
||||
\App\Helpers\Compress::resize($urlAfter);
|
||||
// \App\Helpers\Compress::resize($urlAfter);
|
||||
}
|
||||
if ($request->has('before_image')) {
|
||||
$before = $request->file('before_image')->store('/road_items_projects_new/before', 'public');
|
||||
$roadItems->files()->create(['path' => $before]);
|
||||
$urlBefore = "/var/www/rms/public/storage/{$before}";
|
||||
\App\Helpers\Compress::resize($urlBefore);
|
||||
// \App\Helpers\Compress::resize($urlBefore);
|
||||
}
|
||||
|
||||
if (auth()->user()) {
|
||||
|
||||
@@ -372,7 +372,7 @@ class RoadItemsProjectController extends Controller
|
||||
]);
|
||||
// $road_item->files()->create(['path' => $after]);
|
||||
$urlAfter = "/var/www/rms/public/storage/{$after}";
|
||||
\App\Helpers\Compress::resize($urlAfter);
|
||||
// \App\Helpers\Compress::resize($urlAfter);
|
||||
}
|
||||
if ($request->has('before_image')) {
|
||||
Storage::delete('public/'. $road_item->files[1]->path);
|
||||
@@ -383,7 +383,7 @@ class RoadItemsProjectController extends Controller
|
||||
]);
|
||||
// $road_item->files()->create(['path' => $before]);
|
||||
$urlBefore = "/var/www/rms/public/storage/{$before}";
|
||||
\App\Helpers\Compress::resize($urlBefore);
|
||||
// \App\Helpers\Compress::resize($urlBefore);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,13 +2,17 @@
|
||||
|
||||
namespace App\Http\Controllers\V3\Dashboard\Reports;
|
||||
|
||||
use App\Exports\Activities\One\AllSheets as OneSheet;
|
||||
use App\Exports\V3\RoadItemsProjects\CountryActivityPerItemReport;
|
||||
use App\Exports\V3\RoadItemsProjects\CountryActivityPerSubItemReport;
|
||||
use App\Exports\V3\RoadItemsProjects\ProvinceActivityPerItemReport;
|
||||
use App\Exports\V3\RoadItemsProjects\ProvinceActivityPerSubItemReport;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Traits\ApiResponse;
|
||||
use App\Models\EdarateShahri;
|
||||
use App\Models\InfoItem;
|
||||
use App\Models\Province;
|
||||
use App\Models\RoadItemsProject;
|
||||
use App\Services\Reports\RoadItemReportService;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Maatwebsite\Excel\Facades\Excel;
|
||||
@@ -224,38 +228,48 @@ class RoadItemsReportController extends Controller
|
||||
return $this->successResponse($data);
|
||||
}
|
||||
|
||||
public function activityExcelPerItem(Request $request): BinaryFileResponse
|
||||
public function countryActivityExcelPerItem(Request $request): BinaryFileResponse
|
||||
{
|
||||
auth()->user()->addActivityComplete(1034);
|
||||
$name = 'گزارش از فعالیت روزانه و جاری - جدول 1 ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
|
||||
return Excel::download(new OneSheet($request->fromDate, $request->toDate, $request->province), $name);
|
||||
$name = 'گزارش کشوری از فعالیت روزانه و جاری - جدول 1 ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
|
||||
return Excel::download(new CountryActivityPerItemReport($request->fromDate, $request->toDate), $name);
|
||||
}
|
||||
|
||||
public function activityExcelPerSubItem(Request $request)
|
||||
public function provinceActivityExcelPerItem(Request $request): BinaryFileResponse
|
||||
{
|
||||
$url_correction = $request->province ? "&province={$request->province}" : "";
|
||||
auth()->user()->addActivityComplete(1034);
|
||||
$name = 'گزارش استانی از فعالیت روزانه و جاری - جدول 1 ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
|
||||
return Excel::download(new ProvinceActivityPerItemReport($request->fromDate, $request->toDate, $request->province), $name);
|
||||
}
|
||||
|
||||
return match ($request->type) {
|
||||
1 => redirect("/reports/two/maremat?fromDate={$request->fromDate}&toDate={$request->toDate}" . $url_correction),
|
||||
2 => redirect("/reports/two/paksazi?fromDate={$request->fromDate}&toDate={$request->toDate}" . $url_correction),
|
||||
3 => redirect("/reports/two/alaem?fromDate={$request->fromDate}&toDate={$request->toDate}" . $url_correction),
|
||||
4 => redirect("/reports/two/hefaz?fromDate={$request->fromDate}&toDate={$request->toDate}" . $url_correction),
|
||||
5 => redirect("/reports/two/roshanaei?fromDate={$request->fromDate}&toDate={$request->toDate}" . $url_correction),
|
||||
6 => redirect("/reports/two/khatkeshi?fromDate={$request->fromDate}&toDate={$request->toDate}" . $url_correction),
|
||||
7 => redirect("/reports/two/rangamizi?fromDate={$request->fromDate}&toDate={$request->toDate}" . $url_correction),
|
||||
8 => redirect("/reports/two/shosteshoo?fromDate={$request->fromDate}&toDate={$request->toDate}" . $url_correction),
|
||||
9 => redirect("/reports/two/imensazi?fromDate={$request->fromDate}&toDate={$request->toDate}" . $url_correction),
|
||||
10 => redirect("/reports/two/harim?fromDate={$request->fromDate}&toDate={$request->toDate}" . $url_correction),
|
||||
11 => redirect("/reports/two/pol?fromDate={$request->fromDate}&toDate={$request->toDate}" . $url_correction),
|
||||
12 => redirect("/reports/two/toonel?fromDate={$request->fromDate}&toDate={$request->toDate}" . $url_correction),
|
||||
13 => redirect("/reports/two/zemestani?fromDate={$request->fromDate}&toDate={$request->toDate}" . $url_correction),
|
||||
14 => redirect("/reports/two/mashinalat?fromDate={$request->fromDate}&toDate={$request->toDate}" . $url_correction),
|
||||
15 => redirect("/reports/two/rahdar?fromDate={$request->fromDate}&toDate={$request->toDate}" . $url_correction),
|
||||
16 => redirect("/reports/two/ezterari?fromDate={$request->fromDate}&toDate={$request->toDate}" . $url_correction),
|
||||
20 => redirect("/reports/two/bazrasi?fromDate={$request->fromDate}&toDate={$request->toDate}" . $url_correction),
|
||||
default => response()->json([
|
||||
'error' => '404'
|
||||
], 404),
|
||||
};
|
||||
public function countryActivityExcelPerSubItem(Request $request, RoadItemReportService $roadItemReportService): BinaryFileResponse
|
||||
{
|
||||
auth()->user()->addActivityComplete(1034);
|
||||
|
||||
$activities = $roadItemReportService->countryActivityPerSubItem(
|
||||
$request->item,
|
||||
$request->fromDate,
|
||||
$request->toDate,
|
||||
);
|
||||
|
||||
$name = "گزارش کشوری از فعالیت روزانه و جاری - جدول 2 " . verta()->now()->format('Y-m-d H-i') . '.xlsx';
|
||||
|
||||
return Excel::download(new CountryActivityPerSubItemReport($activities), $name);
|
||||
}
|
||||
|
||||
public function provinceActivityExcelPerSubItem(Request $request, RoadItemReportService $roadItemReportService): BinaryFileResponse
|
||||
{
|
||||
auth()->user()->addActivityComplete(1034);
|
||||
|
||||
$activities = $roadItemReportService->provinceActivityPerSubItem(
|
||||
$request->item,
|
||||
$request->fromDate,
|
||||
$request->toDate,
|
||||
$request->province_id
|
||||
);
|
||||
|
||||
$name = "گزارش استانی از فعالیت روزانه و جاری - جدول 2 " . verta()->now()->format('Y-m-d H-i') . '.xlsx';
|
||||
|
||||
return Excel::download(new ProvinceActivityPerSubItemReport($activities), $name);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,69 +2,27 @@
|
||||
|
||||
namespace App\Http\Controllers\V3\Dashboard\Reports;
|
||||
|
||||
use App\Exports\V2\RoadPatrol\RoadPatrolTable\AllSheets as RoadPatrolTable;
|
||||
use App\Exports\V3\RoadPatrols\CountryActivity;
|
||||
use App\Exports\V3\RoadPatrols\ProvinceActivity;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Traits\ApiResponse;
|
||||
use App\Models\EdarateShahri;
|
||||
use App\Models\Province;
|
||||
use App\Models\RoadPatrolProject;
|
||||
use App\Services\Reports\RoadPatrolReportService;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Maatwebsite\Excel\Facades\Excel;
|
||||
use Symfony\Component\HttpFoundation\BinaryFileResponse;
|
||||
|
||||
class RoadPatrolReportController extends Controller
|
||||
{
|
||||
use ApiResponse;
|
||||
public function provincePatrolActivity(Request $request): JsonResponse
|
||||
public function countryPatrolActivity(Request $request, RoadPatrolReportService $roadPatrolReportService): JsonResponse
|
||||
{
|
||||
$fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString();
|
||||
$dateTo = $request->date_to ? $request->date_to . ' 23:59:59' : now()->endOfDay()->toDateTimeString();
|
||||
$toDate = $request->date_to ? $request->date_to . ' 23:59:59' : now()->endOfDay()->toDateTimeString();
|
||||
|
||||
$activities = DB::select('SELECT
|
||||
"کشوری" as province_fa,
|
||||
-1 as province_id,
|
||||
COUNT(*) tedade,
|
||||
SUM(tedad_mavarede_moshede_shode_adi) as tedad_mavarede_moshede_shode_adi,
|
||||
SUM(tedad_mavarede_moshede_shode_fori) as tedad_mavarede_moshede_shode_fori,
|
||||
SUM(tedad_mavarede_moshede_shode_ani) as tedad_mavarede_moshede_shode_ani,
|
||||
SUM(tedad_mavarede_peygiri_shode) as tedad_mavarede_peygiri_shode,
|
||||
SUM(tedad_faliyat_sabt_shode) as tedad_faliyat_sabt_shode,
|
||||
ROUND(SUM(distance)) as masafat_tey_shode
|
||||
FROM (SELECT
|
||||
province_id,
|
||||
province_fa,
|
||||
distance,
|
||||
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id AND priority = 1) AS tedad_mavarede_moshede_shode_adi,
|
||||
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id AND priority = 2) AS tedad_mavarede_moshede_shode_fori,
|
||||
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id AND priority = 3) AS tedad_mavarede_moshede_shode_ani,
|
||||
(SELECT COUNT(*) FROM `observed_items` oii WHERE rp.`id`= oii.road_patrol_id AND oii.road_item_id IS NOT NULL AND priority IS NOT NULL) AS tedad_mavarede_peygiri_shode,
|
||||
(SELECT COUNT(*) FROM `observed_items` oii WHERE rp.`id`= oii.road_patrol_id AND oii.road_item_id IS NOT NULL AND priority IS NULL) AS tedad_faliyat_sabt_shode
|
||||
FROM `road_patrols` rp where rp.start_time BETWEEN "'.$fromDate.'" AND "'.$dateTo.'") temp
|
||||
union
|
||||
SELECT
|
||||
province_fa,
|
||||
province_id,
|
||||
COUNT(*) tedade,
|
||||
SUM(tedad_mavarede_moshede_shode_adi) as tedad_mavarede_moshede_shode_adi,
|
||||
SUM(tedad_mavarede_moshede_shode_fori) as tedad_mavarede_moshede_shode_fori,
|
||||
SUM(tedad_mavarede_moshede_shode_ani) as tedad_mavarede_moshede_shode_ani,
|
||||
SUM(tedad_mavarede_peygiri_shode) as tedad_mavarede_peygiri_shode,
|
||||
SUM(tedad_faliyat_sabt_shode) as tedad_faliyat_sabt_shode,
|
||||
ROUND(SUM(distance)) as masafat_tey_shode
|
||||
FROM (SELECT
|
||||
province_id,
|
||||
province_fa,
|
||||
distance,
|
||||
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id AND priority = 1) AS tedad_mavarede_moshede_shode_adi,
|
||||
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id AND priority = 2) AS tedad_mavarede_moshede_shode_fori,
|
||||
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id AND priority = 3) AS tedad_mavarede_moshede_shode_ani,
|
||||
(SELECT COUNT(*) FROM `observed_items` oii WHERE rp.`id`= oii.road_patrol_id AND oii.road_item_id IS NOT NULL AND priority IS NOT NULL) AS tedad_mavarede_peygiri_shode,
|
||||
(SELECT COUNT(*) FROM `observed_items` oii WHERE rp.`id`= oii.road_patrol_id AND oii.road_item_id IS NOT NULL AND priority IS NULL) AS tedad_faliyat_sabt_shode
|
||||
FROM `road_patrols` rp where rp.start_time BETWEEN "'.$fromDate.'" AND "'.$dateTo.'") temp
|
||||
GROUP BY province_id'
|
||||
);
|
||||
$activities = $roadPatrolReportService->countryActivity($fromDate, $toDate);
|
||||
|
||||
$provinces = Province::all(['id', 'name_fa']);
|
||||
|
||||
@@ -74,66 +32,14 @@ class RoadPatrolReportController extends Controller
|
||||
]);
|
||||
}
|
||||
|
||||
public function cityPatrolActivity(Request $request): JsonResponse
|
||||
public function provincePatrolActivity(Request $request, RoadPatrolReportService $roadPatrolReportService): JsonResponse
|
||||
{
|
||||
$request->validate(["province_id" => "required",]);
|
||||
$fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString();
|
||||
$dateTo = $request->date_to ? $request->date_to . ' 23:59:59' : now()->endOfDay()->toDateTimeString();
|
||||
$toDate = $request->date_to ? $request->date_to . ' 23:59:59' : now()->endOfDay()->toDateTimeString();
|
||||
$provinceId = $request->province_id;
|
||||
|
||||
$activities = DB::select(
|
||||
'SELECT
|
||||
province_fa,
|
||||
province_id,
|
||||
-1 AS edare_id,
|
||||
"استانی" AS edare_name,
|
||||
COUNT(*) tedade,
|
||||
SUM(tedad_mavarede_moshede_shode_adi) as tedad_mavarede_moshede_shode_adi,
|
||||
SUM(tedad_mavarede_moshede_shode_fori) as tedad_mavarede_moshede_shode_fori,
|
||||
SUM(tedad_mavarede_moshede_shode_ani) as tedad_mavarede_moshede_shode_ani,
|
||||
SUM(tedad_mavarede_peygiri_shode) as tedad_mavarede_peygiri_shode,
|
||||
SUM(tedad_faliyat_sabt_shode) as tedad_faliyat_sabt_shode,
|
||||
ROUND(SUM(distance)) as masafat_tey_shode
|
||||
FROM (SELECT
|
||||
province_id,
|
||||
province_fa,
|
||||
edare_id,
|
||||
edare_name,
|
||||
distance,
|
||||
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id AND priority = 1) AS tedad_mavarede_moshede_shode_adi,
|
||||
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id AND priority = 2) AS tedad_mavarede_moshede_shode_fori,
|
||||
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id AND priority = 3) AS tedad_mavarede_moshede_shode_ani,
|
||||
(SELECT COUNT(*) FROM `observed_items` oii WHERE rp.`id`= oii.road_patrol_id AND oii.road_item_id IS NOT NULL AND priority IS NOT NULL) AS tedad_mavarede_peygiri_shode,
|
||||
(SELECT COUNT(*) FROM `observed_items` oii WHERE rp.`id`= oii.road_patrol_id AND oii.road_item_id IS NOT NULL AND priority IS NULL) AS tedad_faliyat_sabt_shode
|
||||
FROM `road_patrols` rp where rp.province_id = "'.$provinceId.'" AND rp.start_time BETWEEN "'.$fromDate.'" AND "'.$dateTo.'") temp
|
||||
UNION
|
||||
SELECT
|
||||
province_fa,
|
||||
province_id,
|
||||
edare_id,
|
||||
edare_name,
|
||||
COUNT(*) tedade,
|
||||
SUM(tedad_mavarede_moshede_shode_adi) as tedad_mavarede_moshede_shode_adi,
|
||||
SUM(tedad_mavarede_moshede_shode_fori) as tedad_mavarede_moshede_shode_fori,
|
||||
SUM(tedad_mavarede_moshede_shode_ani) as tedad_mavarede_moshede_shode_ani,
|
||||
SUM(tedad_mavarede_peygiri_shode) as tedad_mavarede_peygiri_shode,
|
||||
SUM(tedad_faliyat_sabt_shode) as tedad_faliyat_sabt_shode,
|
||||
ROUND(SUM(distance)) as masafat_tey_shode
|
||||
FROM (SELECT
|
||||
province_id,
|
||||
province_fa,
|
||||
edare_id,
|
||||
edare_name,
|
||||
distance,
|
||||
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id AND priority = 1) AS tedad_mavarede_moshede_shode_adi,
|
||||
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id AND priority = 2) AS tedad_mavarede_moshede_shode_fori,
|
||||
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id AND priority = 3) AS tedad_mavarede_moshede_shode_ani,
|
||||
(SELECT COUNT(*) FROM `observed_items` oii WHERE rp.`id`= oii.road_patrol_id AND oii.road_item_id IS NOT NULL AND priority IS NOT NULL) AS tedad_mavarede_peygiri_shode,
|
||||
(SELECT COUNT(*) FROM `observed_items` oii WHERE rp.`id`= oii.road_patrol_id AND oii.road_item_id IS NOT NULL AND priority IS NULL) AS tedad_faliyat_sabt_shode
|
||||
FROM `road_patrols` rp where rp.province_id = "'.$provinceId.'" AND rp.start_time BETWEEN "'.$fromDate.'" AND "'.$dateTo.'") temp
|
||||
GROUP BY edare_id
|
||||
'
|
||||
);
|
||||
$activities = $roadPatrolReportService->provinceActivity($fromDate, $toDate, $provinceId);
|
||||
|
||||
$edarateShahri = EdarateShahri::query()->where('province_id', '=', $provinceId)->get(['id', 'name_fa']);
|
||||
|
||||
@@ -143,12 +49,21 @@ class RoadPatrolReportController extends Controller
|
||||
]);
|
||||
}
|
||||
|
||||
public function excel(Request $request): BinaryFileResponse
|
||||
public function countryActivityExcel(Request $request, RoadPatrolReportService $roadPatrolReportService): BinaryFileResponse
|
||||
{
|
||||
$activities = $roadPatrolReportService->countryActivity($request->from_date, $request->to_date);
|
||||
|
||||
$name = 'گزارش از گشت راهداری و ترابری ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
|
||||
|
||||
return Excel::download(
|
||||
new RoadPatrolTable($request->from_date, $request->date_to), $name
|
||||
);
|
||||
return Excel::download(new CountryActivity($activities), $name);
|
||||
}
|
||||
|
||||
public function provinceActivityExcel(Request $request, RoadPatrolReportService $roadPatrolReportService): BinaryFileResponse
|
||||
{
|
||||
$activities = $roadPatrolReportService->provinceActivity($request->from_date, $request->to_date, $request->province_id);
|
||||
|
||||
$name = 'گزارش از گشت راهداری و ترابری ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
|
||||
|
||||
return Excel::download(new ProvinceActivity($activities), $name);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ class RoadItemsProjectController extends Controller
|
||||
'end_lng', 'project_distance', 'item', 'item_fa', 'sub_item_fa', 'sub_item',
|
||||
'sub_item_data', 'created_at', 'updated_at', 'province_id', 'province_fa',
|
||||
'unit_fa', 'status', 'status_fa', 'supervisor_description', 'supervising_time',
|
||||
'supervisor_name', 'edarat_id', 'edarat_name', 'activity_date_time','cmmsMachines.machine_code'
|
||||
'supervisor_name', 'edarat_id', 'edarat_name', 'activity_date_time','cmmsMachines.machine_code', 'rahdaran.code',
|
||||
);
|
||||
|
||||
$allowedFilters = $columns;
|
||||
@@ -142,7 +142,7 @@ class RoadItemsProjectController extends Controller
|
||||
'end_lng', 'project_distance', 'item', 'item_fa', 'sub_item_fa', 'sub_item',
|
||||
'sub_item_data', 'created_at', 'updated_at', 'province_id', 'province_fa',
|
||||
'unit_fa', 'status', 'status_fa', 'supervisor_description', 'supervising_time',
|
||||
'supervisor_name', 'edarat_id', 'edarat_name', 'activity_date_time', 'cmmsMachines.machine_code'
|
||||
'supervisor_name', 'edarat_id', 'edarat_name', 'activity_date_time', 'cmmsMachines.machine_code', 'rahdaran.code',
|
||||
);
|
||||
|
||||
$allowedFilters = $columns;
|
||||
|
||||
@@ -33,11 +33,11 @@ class RoadPatrolProjectController extends Controller
|
||||
public function supervisorIndex(Request $request): JsonResponse
|
||||
{
|
||||
$columns = array(
|
||||
'id', 'start_lat', 'start_lon', 'end_lat', 'end_lon', 'operator_id',
|
||||
'id', 'start_lat', 'start_lon', 'end_lat', 'end_lon', 'operator_id', 'created_at',
|
||||
'operator_name', 'officer_plaque', 'officer_phone_number', 'officer_name',
|
||||
'supervisor_description', 'supervising_time', 'supervisor_name', 'status',
|
||||
'status_fa', 'distance', 'province_id', 'province_fa', 'edare_id', 'edare_name',
|
||||
'start_time', 'end_time','description', 'cmmsMachines.machine_code'
|
||||
'start_time', 'end_time','description', 'cmmsMachines.machine_code', 'rahdaran.code',
|
||||
);
|
||||
|
||||
$allowedFilters = $columns;
|
||||
@@ -124,9 +124,9 @@ class RoadPatrolProjectController extends Controller
|
||||
public function operatorIndex(Request $request): JsonResponse
|
||||
{
|
||||
$columns = array(
|
||||
'id', 'start_lat', 'start_lon', 'end_lat', 'end_lon', 'officer_plaque',
|
||||
'id', 'start_lat', 'start_lon', 'end_lat', 'end_lon', 'officer_plaque', 'created_at',
|
||||
'officer_phone_number', 'officer_name', 'supervisor_description', 'supervising_time',
|
||||
'supervisor_name', 'status', 'status_fa', 'distance', 'start_time', 'end_time', 'cmmsMachines.machine_code'
|
||||
'supervisor_name', 'status', 'status_fa', 'distance', 'start_time', 'end_time', 'cmmsMachines.machine_code', 'rahdaran.code',
|
||||
);
|
||||
|
||||
$allowedFilters = $columns;
|
||||
|
||||
93
app/Services/Reports/RoadItemReportService.php
Normal file
93
app/Services/Reports/RoadItemReportService.php
Normal file
@@ -0,0 +1,93 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Reports;
|
||||
|
||||
use App\Models\InfoItem;
|
||||
use Illuminate\Support\Collection;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class RoadItemReportService
|
||||
{
|
||||
public function countryActivityPerSubItem(int $item, string $fromDate, string $toDate): array
|
||||
{
|
||||
$subItems = InfoItem::query()->where('item', $item)
|
||||
->orderBy('sub_item')
|
||||
->get(['sub_item', 'sub_item_str', 'sub_item_unit']);
|
||||
|
||||
$query = DB::table('road_items_projects')
|
||||
->selectRaw('province_id, province_fa');
|
||||
|
||||
foreach ($subItems as $subItem) {
|
||||
$query->selectRaw("
|
||||
COUNT(CASE WHEN sub_item = {$subItem->sub_item} THEN 1 END) as Count_{$subItem->sub_item},
|
||||
SUM(CASE WHEN sub_item = {$subItem->sub_item} THEN sub_item_data END) as Sum_{$subItem->sub_item}
|
||||
");
|
||||
}
|
||||
|
||||
$query->where('item', '=', $item)
|
||||
->where('status', '=', 1)
|
||||
->whereBetween('activity_date_time', [$fromDate, $toDate])
|
||||
->groupBy('province_id', 'province_fa')
|
||||
->orderBy('province_id');
|
||||
|
||||
$activities = $query->get();
|
||||
|
||||
$totalItemCount = [
|
||||
'province_fa' => 'کشوری'
|
||||
];
|
||||
|
||||
foreach ($subItems as $subItem) {
|
||||
$totalItemCount["Count_{$subItem->sub_item}"] = $activities->sum("Count_{$subItem->sub_item}");
|
||||
$totalItemCount["Sum_{$subItem->sub_item}"] = $activities->sum("Sum_{$subItem->sub_item}");
|
||||
}
|
||||
|
||||
return [
|
||||
'data' => $activities->push((object)$totalItemCount),
|
||||
'fromDate' => $fromDate,
|
||||
'toDate' => $toDate,
|
||||
'details' => $subItems->keyBy('sub_item'),
|
||||
];
|
||||
}
|
||||
|
||||
public function provinceActivityPerSubItem(int $item, string $fromDate, string $toDate, int $provinceId): array
|
||||
{
|
||||
$subItems = InfoItem::query()->where('item', $item)
|
||||
->orderBy('sub_item')
|
||||
->get(['sub_item', 'sub_item_str', 'sub_item_unit']);
|
||||
|
||||
$query = DB::table('road_items_projects')
|
||||
->selectRaw('province_id, province_fa, TRIM(SUBSTRING_INDEX(user_name, "استان", 1)) as city_fa, city_id');
|
||||
|
||||
foreach ($subItems as $subItem) {
|
||||
$query->selectRaw("
|
||||
COUNT(CASE WHEN sub_item = {$subItem->sub_item} THEN 1 END) as Count_{$subItem->sub_item},
|
||||
SUM(CASE WHEN sub_item = {$subItem->sub_item} THEN sub_item_data END) as Sum_{$subItem->sub_item}
|
||||
");
|
||||
}
|
||||
|
||||
$query->where('item', '=', $item)
|
||||
->where('status', '=', 1)
|
||||
->where('province_id', '=', $provinceId)
|
||||
->whereBetween('activity_date_time', [$fromDate, $toDate])
|
||||
->groupBy('city_id')
|
||||
->orderBy('province_id');
|
||||
|
||||
$activities = $query->get();
|
||||
|
||||
$totalItemCount = [
|
||||
'city_fa' => 'استانی'
|
||||
];
|
||||
|
||||
foreach ($subItems as $subItem) {
|
||||
$totalItemCount["Count_{$subItem->sub_item}"] = $activities->sum("Count_{$subItem->sub_item}");
|
||||
$totalItemCount["Sum_{$subItem->sub_item}"] = $activities->sum("Sum_{$subItem->sub_item}");
|
||||
}
|
||||
|
||||
return [
|
||||
'data' => $activities->push((object)$totalItemCount),
|
||||
'fromDate' => $fromDate,
|
||||
'toDate' => $toDate,
|
||||
'details' => $subItems->keyBy('sub_item')
|
||||
];
|
||||
}
|
||||
}
|
||||
124
app/Services/Reports/RoadPatrolReportService.php
Normal file
124
app/Services/Reports/RoadPatrolReportService.php
Normal file
@@ -0,0 +1,124 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Reports;
|
||||
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class RoadPatrolReportService
|
||||
{
|
||||
public function countryActivity(string $fromDate, string $toDate): array
|
||||
{
|
||||
$activities = DB::select('SELECT
|
||||
"کشوری" as province_fa,
|
||||
-1 as province_id,
|
||||
COUNT(*) tedade,
|
||||
SUM(tedad_mavarede_moshede_shode_adi) as tedad_mavarede_moshede_shode_adi,
|
||||
SUM(tedad_mavarede_moshede_shode_fori) as tedad_mavarede_moshede_shode_fori,
|
||||
SUM(tedad_mavarede_moshede_shode_ani) as tedad_mavarede_moshede_shode_ani,
|
||||
SUM(tedad_mavarede_peygiri_shode) as tedad_mavarede_peygiri_shode,
|
||||
SUM(tedad_faliyat_sabt_shode) as tedad_faliyat_sabt_shode,
|
||||
ROUND(SUM(distance)) as masafat_tey_shode
|
||||
FROM (SELECT
|
||||
province_id,
|
||||
province_fa,
|
||||
distance,
|
||||
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id AND priority = 1) AS tedad_mavarede_moshede_shode_adi,
|
||||
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id AND priority = 2) AS tedad_mavarede_moshede_shode_fori,
|
||||
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id AND priority = 3) AS tedad_mavarede_moshede_shode_ani,
|
||||
(SELECT COUNT(*) FROM `observed_items` oii WHERE rp.`id`= oii.road_patrol_id AND oii.road_item_id IS NOT NULL AND priority IS NOT NULL) AS tedad_mavarede_peygiri_shode,
|
||||
(SELECT COUNT(*) FROM `observed_items` oii WHERE rp.`id`= oii.road_patrol_id AND oii.road_item_id IS NOT NULL AND priority IS NULL) AS tedad_faliyat_sabt_shode
|
||||
FROM `road_patrols` rp where rp.start_time BETWEEN "'.$fromDate.'" AND "'.$toDate.'") temp
|
||||
union
|
||||
SELECT
|
||||
province_fa,
|
||||
province_id,
|
||||
COUNT(*) tedade,
|
||||
SUM(tedad_mavarede_moshede_shode_adi) as tedad_mavarede_moshede_shode_adi,
|
||||
SUM(tedad_mavarede_moshede_shode_fori) as tedad_mavarede_moshede_shode_fori,
|
||||
SUM(tedad_mavarede_moshede_shode_ani) as tedad_mavarede_moshede_shode_ani,
|
||||
SUM(tedad_mavarede_peygiri_shode) as tedad_mavarede_peygiri_shode,
|
||||
SUM(tedad_faliyat_sabt_shode) as tedad_faliyat_sabt_shode,
|
||||
ROUND(SUM(distance)) as masafat_tey_shode
|
||||
FROM (SELECT
|
||||
province_id,
|
||||
province_fa,
|
||||
distance,
|
||||
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id AND priority = 1) AS tedad_mavarede_moshede_shode_adi,
|
||||
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id AND priority = 2) AS tedad_mavarede_moshede_shode_fori,
|
||||
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id AND priority = 3) AS tedad_mavarede_moshede_shode_ani,
|
||||
(SELECT COUNT(*) FROM `observed_items` oii WHERE rp.`id`= oii.road_patrol_id AND oii.road_item_id IS NOT NULL AND priority IS NOT NULL) AS tedad_mavarede_peygiri_shode,
|
||||
(SELECT COUNT(*) FROM `observed_items` oii WHERE rp.`id`= oii.road_patrol_id AND oii.road_item_id IS NOT NULL AND priority IS NULL) AS tedad_faliyat_sabt_shode
|
||||
FROM `road_patrols` rp where rp.start_time BETWEEN "'.$fromDate.'" AND "'.$toDate.'") temp
|
||||
GROUP BY province_id'
|
||||
);
|
||||
|
||||
return [
|
||||
'activities' => $activities,
|
||||
'fromDate' => $fromDate,
|
||||
'toDate' => $toDate
|
||||
];
|
||||
}
|
||||
|
||||
public function provinceActivity(string $fromDate, string $toDate, int $provinceId): array
|
||||
{
|
||||
$activities = DB::select(
|
||||
'SELECT
|
||||
province_fa,
|
||||
province_id,
|
||||
-1 AS edare_id,
|
||||
"استانی" AS edare_name,
|
||||
COUNT(*) tedade,
|
||||
SUM(tedad_mavarede_moshede_shode_adi) as tedad_mavarede_moshede_shode_adi,
|
||||
SUM(tedad_mavarede_moshede_shode_fori) as tedad_mavarede_moshede_shode_fori,
|
||||
SUM(tedad_mavarede_moshede_shode_ani) as tedad_mavarede_moshede_shode_ani,
|
||||
SUM(tedad_mavarede_peygiri_shode) as tedad_mavarede_peygiri_shode,
|
||||
SUM(tedad_faliyat_sabt_shode) as tedad_faliyat_sabt_shode,
|
||||
ROUND(SUM(distance)) as masafat_tey_shode
|
||||
FROM (SELECT
|
||||
province_id,
|
||||
province_fa,
|
||||
edare_id,
|
||||
edare_name,
|
||||
distance,
|
||||
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id AND priority = 1) AS tedad_mavarede_moshede_shode_adi,
|
||||
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id AND priority = 2) AS tedad_mavarede_moshede_shode_fori,
|
||||
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id AND priority = 3) AS tedad_mavarede_moshede_shode_ani,
|
||||
(SELECT COUNT(*) FROM `observed_items` oii WHERE rp.`id`= oii.road_patrol_id AND oii.road_item_id IS NOT NULL AND priority IS NOT NULL) AS tedad_mavarede_peygiri_shode,
|
||||
(SELECT COUNT(*) FROM `observed_items` oii WHERE rp.`id`= oii.road_patrol_id AND oii.road_item_id IS NOT NULL AND priority IS NULL) AS tedad_faliyat_sabt_shode
|
||||
FROM `road_patrols` rp where rp.province_id = "'.$provinceId.'" AND rp.start_time BETWEEN "'.$fromDate.'" AND "'.$toDate.'") temp
|
||||
UNION
|
||||
SELECT
|
||||
province_fa,
|
||||
province_id,
|
||||
edare_id,
|
||||
edare_name,
|
||||
COUNT(*) tedade,
|
||||
SUM(tedad_mavarede_moshede_shode_adi) as tedad_mavarede_moshede_shode_adi,
|
||||
SUM(tedad_mavarede_moshede_shode_fori) as tedad_mavarede_moshede_shode_fori,
|
||||
SUM(tedad_mavarede_moshede_shode_ani) as tedad_mavarede_moshede_shode_ani,
|
||||
SUM(tedad_mavarede_peygiri_shode) as tedad_mavarede_peygiri_shode,
|
||||
SUM(tedad_faliyat_sabt_shode) as tedad_faliyat_sabt_shode,
|
||||
ROUND(SUM(distance)) as masafat_tey_shode
|
||||
FROM (SELECT
|
||||
province_id,
|
||||
province_fa,
|
||||
edare_id,
|
||||
edare_name,
|
||||
distance,
|
||||
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id AND priority = 1) AS tedad_mavarede_moshede_shode_adi,
|
||||
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id AND priority = 2) AS tedad_mavarede_moshede_shode_fori,
|
||||
(SELECT COUNT(*) FROM `observed_items` oi WHERE rp.`id`= oi.road_patrol_id AND priority = 3) AS tedad_mavarede_moshede_shode_ani,
|
||||
(SELECT COUNT(*) FROM `observed_items` oii WHERE rp.`id`= oii.road_patrol_id AND oii.road_item_id IS NOT NULL AND priority IS NOT NULL) AS tedad_mavarede_peygiri_shode,
|
||||
(SELECT COUNT(*) FROM `observed_items` oii WHERE rp.`id`= oii.road_patrol_id AND oii.road_item_id IS NOT NULL AND priority IS NULL) AS tedad_faliyat_sabt_shode
|
||||
FROM `road_patrols` rp where rp.province_id = "'.$provinceId.'" AND rp.start_time BETWEEN "'.$fromDate.'" AND "'.$toDate.'") temp
|
||||
GROUP BY edare_id
|
||||
'
|
||||
);
|
||||
|
||||
return [
|
||||
'activities' => $activities,
|
||||
'fromDate' => $fromDate,
|
||||
'toDate' => $toDate
|
||||
];
|
||||
}
|
||||
}
|
||||
4
resources/.gitignore
vendored
4
resources/.gitignore
vendored
@@ -1 +1,3 @@
|
||||
views
|
||||
/views/*
|
||||
!/views/v3/
|
||||
!/views/v3/*
|
||||
@@ -0,0 +1,120 @@
|
||||
<!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>
|
||||
<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>
|
||||
|
||||
@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
|
||||
</tbody>
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,74 @@
|
||||
<!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="25" 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="25" style="background-color: #DAEEF3;text-align: center;border-right:1px solid black;font-weight:bolder;"></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="26" 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="3" style="border: 1px solid black;text-align: center;background-color: #EBF1DE;">اداره کل</th>
|
||||
<th colspan="24" style="border: 1px solid black;text-align: center;background-color: #EBF1DE;">فعالیت های انجام شده</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
@foreach($details as $detail)
|
||||
<th colspan="2" style="border:1px solid black;text-align:center;background-color:#C4D79B">{{ $detail->sub_item_str }}</th>
|
||||
@endforeach
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
@foreach($details as $detail)
|
||||
<th style="background-color: #FDE9D9;border: 1px solid black;text-align: center;">تعداد</th>
|
||||
<th style="background-color: #FDE9D9;border: 1px solid black;text-align: center;">مجموع ({{ $detail->sub_item_unit }})</th>
|
||||
@endforeach
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach ($activities as $activity)
|
||||
<tr>
|
||||
<td style="border: 1px solid black;text-align: center;">{{ $activity->province_fa }}</td>
|
||||
|
||||
@foreach ($details as $index => $detail)
|
||||
<td style="border: 1px solid black;text-align: center;">
|
||||
{{ $activity->{'Count_' . ($index)} ?? '-' }}
|
||||
</td>
|
||||
<td style="border: 1px solid black;text-align: center;">
|
||||
{{ isset($activity->{'Sum_' . ($index)}) ? round($activity->{'Sum_' . ($index)}, 1) : '-' }}
|
||||
</td>
|
||||
@endforeach
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,120 @@
|
||||
<!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>
|
||||
<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>
|
||||
|
||||
@foreach ($cityCount as $activity)
|
||||
<tr>
|
||||
<td style="border:1px solid black;text-align: center;">{{ $activity->edarat_name }}</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
|
||||
</tbody>
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,74 @@
|
||||
<!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="25" 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="25" style="background-color: #DAEEF3;text-align: center;border-right:1px solid black;font-weight:bolder;"></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="26" 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="3" style="border: 1px solid black;text-align: center;background-color: #EBF1DE;">اداره</th>
|
||||
<th colspan="24" style="border: 1px solid black;text-align: center;background-color: #EBF1DE;">فعالیت های انجام شده</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
@foreach($details as $detail)
|
||||
<th colspan="2" style="border:1px solid black;text-align:center;background-color:#C4D79B">{{ $detail->sub_item_str }}</th>
|
||||
@endforeach
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
@foreach($details as $detail)
|
||||
<th style="background-color: #FDE9D9;border: 1px solid black;text-align: center;">تعداد</th>
|
||||
<th style="background-color: #FDE9D9;border: 1px solid black;text-align: center;">مجموع ({{ $detail->sub_item_unit }})</th>
|
||||
@endforeach
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach ($activities as $activity)
|
||||
<tr>
|
||||
<td style="border: 1px solid black;text-align: center;">{{ $activity->city_fa }}</td>
|
||||
|
||||
@foreach ($details as $index => $detail)
|
||||
<td style="border: 1px solid black;text-align: center;">
|
||||
{{ $activity->{'Count_' . ($index)} ?? '-' }}
|
||||
</td>
|
||||
<td style="border: 1px solid black;text-align: center;">
|
||||
{{ isset($activity->{'Sum_' . ($index)}) ? round($activity->{'Sum_' . ($index)}, 1) : '-' }}
|
||||
</td>
|
||||
@endforeach
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
102
resources/views/v3/Reports/RoadPatrols/CountryActivity.blade.php
Normal file
102
resources/views/v3/Reports/RoadPatrols/CountryActivity.blade.php
Normal file
@@ -0,0 +1,102 @@
|
||||
<!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="8"
|
||||
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="8"
|
||||
style="background-color: #DAEEF3;text-align: center;border-right:1px solid black;font-weight:bolder;">
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="8"
|
||||
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 class="headercolortable">
|
||||
|
||||
<th rowspan="3" style="border:1px solid black;text-align:center;background-color: #C4D79B;">
|
||||
اداره کل
|
||||
</th>
|
||||
<th colspan="7" style="border:1px solid black;text-align:center;background-color: #EBF1DE;">
|
||||
گشت راهداری
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th rowspan="2" style="border:1px solid black;text-align:center;background-color: #C4D79B;">
|
||||
تعداد کل
|
||||
</th>
|
||||
|
||||
<th colspan="3" 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: #C4D79B;">
|
||||
اقدامات رسیدگی شده
|
||||
</th>
|
||||
<th rowspan="2" style="border:1px solid black;text-align:center;background-color: #C4D79B;">
|
||||
مجموع مسافت پیمایش شده(کیلومتر)
|
||||
</th>
|
||||
<th rowspan="2" style="border:1px solid black;text-align:center;background-color: #C4D79B;">
|
||||
تعداد فعالیت صورت گرفته حین گشت زنی
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="border:1px solid black;text-align:center;background-color: #EBF1DE;">
|
||||
عادی
|
||||
</th>
|
||||
<th style="border:1px solid black;text-align:center;background-color: #EBF1DE;">
|
||||
فوری
|
||||
</th>
|
||||
<th style="border:1px solid black;text-align:center;background-color: #EBF1DE;">
|
||||
آنی
|
||||
</th>
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach ($activities 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->tedade }}</td>
|
||||
<td style="border:1px solid black;text-align: center;">{{ $activity->tedad_mavarede_moshede_shode_adi }}</td>
|
||||
<td style="border:1px solid black;text-align: center;">{{ $activity->tedad_mavarede_moshede_shode_fori }}</td>
|
||||
<td style="border:1px solid black;text-align: center;">{{ $activity->tedad_mavarede_moshede_shode_ani }}</td>
|
||||
<td style="border:1px solid black;text-align: center;">{{ $activity->tedad_mavarede_peygiri_shode }}</td>
|
||||
<td style="border:1px solid black;text-align: center;">{{ $activity->masafat_tey_shode }}</td>
|
||||
<td style="border:1px solid black;text-align: center;">{{ $activity->tedad_faliyat_sabt_shode }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,98 @@
|
||||
<!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="8"
|
||||
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="8"
|
||||
style="background-color: #DAEEF3;text-align: center;border-right:1px solid black;font-weight:bolder;">
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="8"
|
||||
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 class="headercolortable">
|
||||
|
||||
<th rowspan="3" style="border:1px solid black;text-align:center;background-color: #C4D79B;">
|
||||
اداره کل
|
||||
</th>
|
||||
<th colspan="7" style="border:1px solid black;text-align:center;background-color: #EBF1DE;">
|
||||
گشت راهداری
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th rowspan="2" style="border:1px solid black;text-align:center;background-color: #C4D79B;">
|
||||
تعداد کل
|
||||
</th>
|
||||
|
||||
<th colspan="3" 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: #C4D79B;">
|
||||
اقدامات رسیدگی شده
|
||||
</th>
|
||||
<th rowspan="2" style="border:1px solid black;text-align:center;background-color: #C4D79B;">
|
||||
مجموع مسافت پیمایش شده(کیلومتر)
|
||||
</th>
|
||||
<th rowspan="2" style="border:1px solid black;text-align:center;background-color: #C4D79B;">
|
||||
تعداد فعالیت صورت گرفته حین گشت زنی
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="border:1px solid black;text-align:center;background-color: #EBF1DE;">
|
||||
عادی
|
||||
</th>
|
||||
<th style="border:1px solid black;text-align:center;background-color: #EBF1DE;">
|
||||
فوری
|
||||
</th>
|
||||
<th style="border:1px solid black;text-align:center;background-color: #EBF1DE;">
|
||||
آنی
|
||||
</th>
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach ($activities as $activity)
|
||||
<tr>
|
||||
<td style="border:1px solid black;text-align: center;">{{ $activity->edare_name }}</td>
|
||||
<td style="border:1px solid black;text-align: center;">{{ $activity->tedade }}</td>
|
||||
<td style="border:1px solid black;text-align: center;">{{ $activity->tedad_mavarede_moshede_shode_adi }}</td>
|
||||
<td style="border:1px solid black;text-align: center;">{{ $activity->tedad_mavarede_moshede_shode_fori }}</td>
|
||||
<td style="border:1px solid black;text-align: center;">{{ $activity->tedad_mavarede_moshede_shode_ani }}</td>
|
||||
<td style="border:1px solid black;text-align: center;">{{ $activity->tedad_mavarede_peygiri_shode }}</td>
|
||||
<td style="border:1px solid black;text-align: center;">{{ $activity->masafat_tey_shode }}</td>
|
||||
<td style="border:1px solid black;text-align: center;">{{ $activity->tedad_faliyat_sabt_shode }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
@@ -200,13 +200,18 @@ Route::prefix('road_item_reports')
|
||||
Route::get('/province_activity_per_item', 'provinceActivityPerItem')->name('provinceActivityPerItem');
|
||||
Route::get('/city_activity_per_item', 'cityActivityPerItem')->name('cityActivityPerItem');
|
||||
Route::get('/map', 'map')->name('map');
|
||||
Route::get('/country_activity_excel_per_item', 'countryActivityExcelPerItem')->name('countryActivityExcelPerItem');
|
||||
Route::get('/province_activity_excel_per_item', 'provinceActivityExcelPerItem')->name('provinceActivityExcelPerItem');
|
||||
Route::get('/country_activity_excel_per_sub_item', 'countryActivityExcelPerSubItem')->name('countryActivityExcelPerSubItem');
|
||||
Route::get('/province_activity_excel_per_sub_item', 'provinceActivityExcelPerSubItem')->name('provinceActivityExcelPerSubItem');
|
||||
});
|
||||
|
||||
Route::prefix('road_patrol_reports')
|
||||
->name('roadPatrolReports.')
|
||||
->controller(RoadPatrolReportController::class)
|
||||
->group(function () {
|
||||
Route::get('/country_activity', 'countryPatrolActivity')->name('countryPatrolActivity');
|
||||
Route::get('/province_activity', 'provincePatrolActivity')->name('provincePatrolActivity');
|
||||
Route::get('/city_activity', 'cityPatrolActivity')->name('cityPatrolActivity');
|
||||
Route::get('/excel', 'excel')->name('excel');
|
||||
Route::get('/country_activity_excel', 'countryActivityExcel')->name('countryActivityExcel');
|
||||
Route::get('/province_activity_excel', 'provinceActivityExcel')->name('provinceActivityExcel');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user