diff --git a/app/Services/Cartables/Mission/ReportService.php b/app/Services/Cartables/Mission/ReportService.php index 8e3dd647..ecf958a2 100644 --- a/app/Services/Cartables/Mission/ReportService.php +++ b/app/Services/Cartables/Mission/ReportService.php @@ -2,9 +2,10 @@ namespace App\Services\Cartables\Mission; -use App\Exceptions\ProhibitedAction; use App\Facades\DataTable\DataTableFacade; use App\Models\Mission; +use App\Models\MissionViolation; +use Carbon\Carbon; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; @@ -14,7 +15,7 @@ class ReportService { $user = auth()->user(); - $query = Mission::query()->where('edare_shahri_id', '=', $user->edarate_shahri_id); + $query =MissionViolation::query()->where('edare_shahri_id', '=', $user->edarate_shahri_id); return DataTableFacade::run( $query, @@ -27,7 +28,7 @@ class ReportService public function countryActivity(Request $request): array { $from = $request->from_date ?? today()->startOfDay(); - $to = $request->to_date ?? today()->endOfDay(); + $to = Carbon::parse($request->to_date)->endOfDay()?? today()->endOfDay(); $sql = " WITH r AS ( @@ -37,13 +38,13 @@ class ReportService COUNT(DISTINCT CASE WHEN mv.type = 1 - AND mv.created_at BETWEEN :from_mv AND :to_mv + AND mv.created_at >= :from_mv AND mv.created_at <= :to_mv THEN mv.id END) AS no_mission_count, COUNT(DISTINCT CASE WHEN m.mission_duration != m.in_area_duration - AND m.created_at BETWEEN :from_m AND :to_m + AND m.created_at >= :from_m AND m.created_at <= :to_m THEN m.id END) AS out_of_area_count @@ -87,7 +88,7 @@ class ReportService { $provinceId = $request->province_id ?? auth()->user()->province_id; $from = $request->from_date ?? today()->startOfDay(); - $to = $request->to_date ?? today()->endOfDay(); + $to = Carbon::parse($request->to_date)->endOfDay() ?? today()->endOfDay(); $sql = " WITH r AS ( @@ -97,13 +98,13 @@ class ReportService COUNT(DISTINCT CASE WHEN mv.type = 1 - AND mv.created_at BETWEEN :from_mv AND :to_mv + AND mv.created_at >= :from_mv AND mv.created_at <= :to_mv THEN mv.id END) AS no_mission_count, COUNT(DISTINCT CASE WHEN m.mission_duration != m.in_area_duration - AND m.created_at BETWEEN :from_m AND :to_m + AND m.created_at >= :from_m AND m.created_at <= :to_m THEN m.id END) AS out_of_area_count