fromDate = $fromDate ?? null; $this->toDate = $toDate ?? null; $this->province = $province ?? null; } public function view(): View { $fromDate = $this->fromDate ?? '2021-03-21'; $toDate = $this->toDate ?? \Carbon\Carbon::now(); $province = $this->province; $query = "SELECT COUNT(CASE WHEN sub_item = 1 THEN 1 END) as LabeAsphaltCount, SUM(CASE WHEN sub_item = 1 THEN sub_item_data END) as LabeAsphaltSum, COUNT(CASE WHEN sub_item = 2 THEN 1 END) as ShaneSaziCount, SUM(CASE WHEN sub_item = 2 THEN sub_item_data END) as ShaneSaziSum, COUNT(CASE WHEN sub_item = 3 THEN 1 END) as GodOftadegiCount, SUM(CASE WHEN sub_item = 3 THEN sub_item_data END) as GodOftadegiSum, COUNT(CASE WHEN sub_item = 4 THEN 1 END) as LakegiriCount, SUM(CASE WHEN sub_item = 4 THEN sub_item_data END) as LakegiriSum, COUNT(CASE WHEN sub_item = 5 THEN 1 END) as MarematCount, SUM(CASE WHEN sub_item = 5 THEN sub_item_data END) as MarematSum, COUNT(CASE WHEN sub_item = 6 THEN 1 END) as BastarHarimCount, SUM(CASE WHEN sub_item = 6 THEN sub_item_data END) as BastarHarimSum, COUNT(CASE WHEN sub_item = 8 THEN 1 END) as DarzgiriCount, SUM(CASE WHEN sub_item = 8 THEN sub_item_data END) as DarzgiriSum, COUNT(CASE WHEN sub_item = 9 THEN 1 END) as MozresCount, SUM(CASE WHEN sub_item = 9 THEN sub_item_data END) as MozresSum, COUNT(CASE WHEN sub_item = 10 THEN 1 END) as TarashRooyeCount, SUM(CASE WHEN sub_item = 10 THEN sub_item_data END) as TarashRooyeSum, COUNT(CASE WHEN sub_item = 11 THEN 1 END) as TighzaniCount, SUM(CASE WHEN sub_item = 11 THEN sub_item_data END) as TighzaniSum, COUNT(CASE WHEN sub_item = 12 THEN 1 END) as ShenriziCount, SUM(CASE WHEN sub_item = 12 THEN sub_item_data END) as ShenriziSum, COUNT(CASE WHEN sub_item = 13 THEN 1 END) as KhakbardariCount, SUM(CASE WHEN sub_item = 13 THEN sub_item_data END) as KhakbardariSum, province_id, province_fa FROM road_items_projects WHERE item = 1 and status = 1"; if ($this->province) { $query .= " AND province_id = {$province}"; } $query .= " AND activity_date_time BETWEEN '{$fromDate}' AND '{$toDate}' GROUP BY province_id ORDER BY province_id ASC;"; $data = DB::select($query); $countryQuery = "SELECT COUNT(CASE WHEN sub_item = 1 THEN 1 END) as LabeAsphaltCount, SUM(CASE WHEN sub_item = 1 THEN sub_item_data END) as LabeAsphaltSum, COUNT(CASE WHEN sub_item = 2 THEN 1 END) as ShaneSaziCount, SUM(CASE WHEN sub_item = 2 THEN sub_item_data END) as ShaneSaziSum, COUNT(CASE WHEN sub_item = 3 THEN 1 END) as GodOftadegiCount, SUM(CASE WHEN sub_item = 3 THEN sub_item_data END) as GodOftadegiSum, COUNT(CASE WHEN sub_item = 4 THEN 1 END) as LakegiriCount, SUM(CASE WHEN sub_item = 4 THEN sub_item_data END) as LakegiriSum, COUNT(CASE WHEN sub_item = 5 THEN 1 END) as MarematCount, SUM(CASE WHEN sub_item = 5 THEN sub_item_data END) as MarematSum, COUNT(CASE WHEN sub_item = 6 THEN 1 END) as BastarHarimCount, SUM(CASE WHEN sub_item = 6 THEN sub_item_data END) as BastarHarimSum, COUNT(CASE WHEN sub_item = 8 THEN 1 END) as DarzgiriCount, SUM(CASE WHEN sub_item = 8 THEN sub_item_data END) as DarzgiriSum, COUNT(CASE WHEN sub_item = 9 THEN 1 END) as MozresCount, SUM(CASE WHEN sub_item = 9 THEN sub_item_data END) as MozresSum, COUNT(CASE WHEN sub_item = 10 THEN 1 END) as TarashRooyeCount, SUM(CASE WHEN sub_item = 10 THEN sub_item_data END) as TarashRooyeSum, COUNT(CASE WHEN sub_item = 11 THEN 1 END) as TighzaniCount, SUM(CASE WHEN sub_item = 11 THEN sub_item_data END) as TighzaniSum, COUNT(CASE WHEN sub_item = 12 THEN 1 END) as ShenriziCount, SUM(CASE WHEN sub_item = 12 THEN sub_item_data END) as ShenriziSum, COUNT(CASE WHEN sub_item = 13 THEN 1 END) as KhakbardariCount, SUM(CASE WHEN sub_item = 13 THEN sub_item_data END) as KhakbardariSum FROM road_items_projects WHERE item = 1 and status = 1"; if ($this->province) { $countryQuery .= " AND province_id = {$this->province}"; } $countryQuery .= " AND activity_date_time BETWEEN '{$fromDate}' AND '{$toDate}';"; $country = DB::select($countryQuery); return view('excel.CurrentActivities.Report2-Province', [ 'roads' => $data, 'country' => $country, 'fromDate' => $fromDate, 'toDate' => $toDate ]); } /** * @return array */ public function registerEvents(): array { return [ AfterSheet::class => function (AfterSheet $event) { $event->sheet->getDelegate()->setRightToLeft(true); } ]; } public function drawings() { $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('Y1'); return [$drawing, $drawing2]; } }