run(); $response = collect($vehiclesInfo['vehiclesInfo']); $date = Carbon::yesterday()->toDateString(); $cmms = $response->pluck('machineCode'); $missions = Mission::query() ->whereDate('start_time', $date) ->get(); $missionCodes = $missions->pluck('machine_code'); $cmmsOnly = $cmms->diff($missionCodes); $missionOnly = $missionCodes->diff($cmms); foreach ($cmmsOnly as $code) { $cmm = $response->firstWhere('machineCode', '=', $code); MissionViolation::query()->create([ 'machine_code' => $code, 'type' => MissionViolationType::KHOROJ_BEDONE_MOGAVEZ->value, 'request_date' => $date, 'mileage' => $cmm['mileageKM'], // 'exit_time' => $cmm['exit_time'], // 'enter_time' => $cmm['enter_time'], ]); } foreach ($missionOnly as $code) { MissionViolation::query()->create([ 'machine_code' => $code, 'mission_id' => $missions->where('machine_code', '=', $code)->value('id'), 'type' => MissionViolationType::ADAM_TAHAROK->value, 'request_date' => $date, ]); } $this->info("ماشین‌های متحرک بدون مأموریت: " . $cmmsOnly->count()); $this->info("مأموریت‌های بدون حرکت در CMMS: " . $missionOnly->count()); } }