@@ -158,11 +158,12 @@ discard block |
||
158 | 158 | $solver = $this->setData($solver); |
159 | 159 | $solver = $solver->solve(); |
160 | 160 | $this->solver = $solver; |
161 | - }catch(OptimiseException $e) { |
|
162 | - if(!$e->isEmpty()) |
|
163 | - \Event::fire(new ErrorEvent($this->company, $e->getMessage())); |
|
161 | + } catch(OptimiseException $e) { |
|
162 | + if(!$e->isEmpty()) { |
|
163 | + \Event::fire(new ErrorEvent($this->company, $e->getMessage())); |
|
164 | + } |
|
164 | 165 | throw $e; |
165 | - }catch (\Exception $e) { |
|
166 | + } catch (\Exception $e) { |
|
166 | 167 | //TODO use the correct exceptions to avoid to share private data |
167 | 168 | \Event::fire(new ErrorEvent($this->company, $e->getMessage())); |
168 | 169 | throw new OptimiseException('Optimising error', 0, $e); |
@@ -207,8 +208,9 @@ discard block |
||
207 | 208 | { |
208 | 209 | //since we consider busy timeslots, we need to get all users |
209 | 210 | $users = $this->company->employees->pluck('id')->toArray(); |
210 | - if(count($users) == 0) |
|
211 | - throw ((new OptimiseException("No users for this company"))->withEmpty(true)); |
|
211 | + if(count($users) == 0) { |
|
212 | + throw ((new OptimiseException("No users for this company"))->withEmpty(true)); |
|
213 | + } |
|
212 | 214 | return $solver->setUsers($users); |
213 | 215 | } |
214 | 216 | |
@@ -223,8 +225,9 @@ discard block |
||
223 | 225 | * @var $meetings \Illuminate\Support\Collection |
224 | 226 | */ |
225 | 227 | $meetings = collect($this->company->getMeetingsTimeSlots($this->startTime, $this->endTime)); |
226 | - if($meetings->count() == 0) |
|
227 | - throw ((new OptimiseException("No meetings for this week"))->withEmpty(true)); |
|
228 | + if($meetings->count() == 0) { |
|
229 | + throw ((new OptimiseException("No meetings for this week"))->withEmpty(true)); |
|
230 | + } |
|
228 | 231 | $timeslots = $meetings->groupBy('id')->map(function ($item) { //convert timeslots |
229 | 232 | return $this->durationConverter($this->timeSlotsConverter($item)); |
230 | 233 | }); |
@@ -314,8 +317,9 @@ discard block |
||
314 | 317 | static private function fillTimeSlots(array $array, $id, \Illuminate\Support\Collection $timeSlots, $fill = '0') |
315 | 318 | { |
316 | 319 | foreach ($timeSlots as $timeSlot) { |
317 | - if (!isset($array[$id])) |
|
318 | - $array[$id] = []; |
|
320 | + if (!isset($array[$id])) { |
|
321 | + $array[$id] = []; |
|
322 | + } |
|
319 | 323 | $array[$id] = self::arrayPadInterval($array[$id], $timeSlot->time_start, $timeSlot->time_end, $fill); |
320 | 324 | } |
321 | 325 | return $array; |
@@ -330,8 +334,9 @@ discard block |
||
330 | 334 | */ |
331 | 335 | static private function arrayPadInterval(array $array, $from, $to, $pad = '0') |
332 | 336 | { |
333 | - for ($i = $from; $i < $to; $i++) |
|
334 | - $array[$i] = $pad; |
|
337 | + for ($i = $from; $i < $to; $i++) { |
|
338 | + $array[$i] = $pad; |
|
339 | + } |
|
335 | 340 | return $array; |
336 | 341 | } |
337 | 342 | |
@@ -344,8 +349,9 @@ discard block |
||
344 | 349 | static private function fillRow(array $array, $id, $until, $fill = '0') |
345 | 350 | { |
346 | 351 | for ($i = 1; $i <= $until; $i++) { |
347 | - if (!isset($array[$id][$i])) |
|
348 | - $array[$id][$i] = $fill; |
|
352 | + if (!isset($array[$id][$i])) { |
|
353 | + $array[$id][$i] = $fill; |
|
354 | + } |
|
349 | 355 | } |
350 | 356 | |
351 | 357 | return $array; |
@@ -362,8 +368,9 @@ discard block |
||
362 | 368 | * @var $users \Illuminate\Support\Collection |
363 | 369 | */ |
364 | 370 | $users = collect($this->company->getEmployeesTimeSlots($this->startTime, $this->endTime)); |
365 | - if($users->count() == 0) |
|
366 | - throw ((new OptimiseException("No users for this company"))->withEmpty(true)); |
|
371 | + if($users->count() == 0) { |
|
372 | + throw ((new OptimiseException("No users for this company"))->withEmpty(true)); |
|
373 | + } |
|
367 | 374 | $timeslots = $users->groupBy('id')->map(function ($item) { //convert timeslots |
368 | 375 | return $this->timeSlotsConverter($item); |
369 | 376 | }); |
@@ -383,8 +390,9 @@ discard block |
||
383 | 390 | * @var $usersMeetings \Illuminate\Support\Collection |
384 | 391 | */ |
385 | 392 | $usersMeetings = collect($this->company->getUsersMeetings($users, $meetings))->groupBy('employee_id'); |
386 | - if($usersMeetings->count() == 0) |
|
387 | - throw ((new OptimiseException("No users for any meeting"))->withEmpty(true)); |
|
393 | + if($usersMeetings->count() == 0) { |
|
394 | + throw ((new OptimiseException("No users for any meeting"))->withEmpty(true)); |
|
395 | + } |
|
388 | 396 | |
389 | 397 | return $solver->setUsersMeetings(self::getUsersMeetingsArray($users, $meetings, $usersMeetings)); |
390 | 398 | } |
@@ -58,10 +58,11 @@ discard block |
||
58 | 58 | //TODO insert a timeout |
59 | 59 | //TODO try...catch with destruct |
60 | 60 | $companyId = $this->argument('companyId'); |
61 | - if (is_numeric($companyId)) |
|
62 | - $this->makeForeground(Company::findOrFail($companyId)); |
|
63 | - else |
|
64 | - $this->syncAll(); |
|
61 | + if (is_numeric($companyId)) { |
|
62 | + $this->makeForeground(Company::findOrFail($companyId)); |
|
63 | + } else { |
|
64 | + $this->syncAll(); |
|
65 | + } |
|
65 | 66 | } |
66 | 67 | |
67 | 68 | /** |
@@ -74,7 +75,7 @@ discard block |
||
74 | 75 | try { |
75 | 76 | (new Optimise($company, $this->schedule, $this->laravel))->optimise()->save(); |
76 | 77 | $this->info('Optimisation ' . $company->id . ' completed'); |
77 | - }catch(OptimiseException $e) { |
|
78 | + } catch(OptimiseException $e) { |
|
78 | 79 | if ($e->isEmpty()) { |
79 | 80 | $mex = 'Company ' . $company->id . ' doesn\'t have sufficient data'; |
80 | 81 | $this->warn($mex); |
@@ -94,13 +95,15 @@ discard block |
||
94 | 95 | if ($this->option('background')) { |
95 | 96 | \Log::debug(self::BACKGROUND_MOD_MEX); |
96 | 97 | $this->info(self::BACKGROUND_MOD_MEX); |
97 | - foreach ($companies as $company) |
|
98 | - $this->makeBackground($company); |
|
98 | + foreach ($companies as $company) { |
|
99 | + $this->makeBackground($company); |
|
100 | + } |
|
99 | 101 | \Log::debug(self::BACKGROUND_COMPLETED_MEX); |
100 | 102 | $this->info(self::BACKGROUND_COMPLETED_MEX); |
101 | - } else |
|
102 | - foreach ($companies as $company) |
|
103 | + } else { |
|
104 | + foreach ($companies as $company) |
|
103 | 105 | $this->makeForeground($company); |
106 | + } |
|
104 | 107 | } |
105 | 108 | |
106 | 109 | /** |
@@ -110,7 +113,8 @@ discard block |
||
110 | 113 | private function makeBackground(Company $company) |
111 | 114 | { |
112 | 115 | $event = $this->schedule->command('optimise:meetings ' . $company->id)->withoutOverlapping(); |
113 | - if ($event->isDue($this->laravel)) |
|
114 | - $event->run($this->laravel); |
|
116 | + if ($event->isDue($this->laravel)) { |
|
117 | + $event->run($this->laravel); |
|
118 | + } |
|
115 | 119 | } |
116 | 120 | } |