Skip to content

Commit 9b8b285

Browse files
committed
1 parent 6c1c833 commit 9b8b285

File tree

7 files changed

+71
-19
lines changed

7 files changed

+71
-19
lines changed

app/Livewire/ArrowSteps/ArrowOrder.php

Lines changed: 47 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
namespace App\Livewire\ArrowSteps;
44

55
use Livewire\Component;
6+
use App\Models\Planning\Task;
7+
use App\Models\Planning\Status;
68
use App\Models\Workflow\Orders;
79

810
class ArrowOrder extends Component
@@ -24,11 +26,51 @@ public function render()
2426
}
2527

2628
public function changeStatu($statuNumber){
27-
try{
28-
Orders::where('id',$this->OrderId)->update(['statu'=>$statuNumber]);
29-
return redirect()->route('orders.show', ['id' => $this->OrderId])->with('success', 'Successfully updated statu');
30-
}catch(\Exception $e){
31-
session()->flash('error',"Something goes wrong on update statu");
29+
try {
30+
// Changer le statut de la commande
31+
Orders::where('id', $this->OrderId)->update(['statu' => $statuNumber]);
32+
33+
// Récupérer les tâches associées à cette commande
34+
$tasks = Task::whereHas('OrderLines', function ($query) {
35+
$query->where('orders_id', $this->OrderId);
36+
})->get();
37+
38+
$statusStarted = Status::where('title', 'Started')->first();
39+
$statusInProgress = Status::where('title', 'In progress')->first();
40+
$statusSuspended = Status::where('title', 'Suspended')->first();
41+
$statusFinished = Status::where('title', 'Finished')->first();
42+
43+
foreach ($tasks as $task) {
44+
// Statut "In Progress" pour la commande
45+
if ($statuNumber == 2) {
46+
// Utiliser 'Started' ou 'In progress' si 'Started' n'existe pas
47+
$status = $statusStarted ?? $statusInProgress;
48+
if ($status) {
49+
$task->update(['status_id' => $status->id]);
50+
}
51+
}
52+
53+
// Statut "Stopped" pour la commande
54+
elseif ($statuNumber == 5) {
55+
// Utiliser 'Suspended' ou 'Finished' si 'Suspended' n'existe pas
56+
$status = $statusSuspended ?? $statusFinished;
57+
if ($status) {
58+
$task->update(['status_id' => $status->id]);
59+
}
60+
}
61+
62+
// Statut "Canceled" pour la commande
63+
elseif ($statuNumber == 6) {
64+
// Utiliser 'Finished'
65+
if ($statusFinished) {
66+
$task->update(['status_id' => $statusFinished->id]);
67+
}
68+
}
69+
}
70+
71+
return redirect()->route('orders.show', ['id' => $this->OrderId])->with('success', 'Successfully updated status and tasks');
72+
} catch (\Exception $e) {
73+
session()->flash('error', "Something went wrong while updating the status or tasks");
3274
}
3375
}
3476
}

app/Models/Planning/Status.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
namespace App\Models\Planning;
44

5-
use App\Models\User;
65
use App\Models\Planning\Task;
76
use Illuminate\Database\Eloquent\Model;
87
use Illuminate\Database\Eloquent\Factories\HasFactory;

app/Services/OrderKPIService.php

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ public function getLateOrdersCount()
7777
$cacheKey = 'late_orders_count_' . now()->year;
7878
return Cache::remember($cacheKey, now()->addMinutes(10), function () {
7979
return Orders::whereYear('created_at', now()->year)
80+
->where('statu', '!=', 6)
8081
->whereHas('orderLines', function($query) {
8182
$query->where('delivery_status', 1) // delivered quantity < ordered quantity
8283
->where('delivery_date', '<', now()); // expected delivery date has passed
@@ -96,7 +97,6 @@ public function getPendingDeliveries()
9697
return Orders::where('statu', '!=', '3')->count();
9798
}
9899

99-
100100
/**
101101
* Retrieves the monthly summary of orders for the current year, filtered by company.
102102
*
@@ -116,7 +116,8 @@ public function getOrderMonthlyRecap($year, $companyId = null)
116116
')
117117
->leftJoin('orders', function ($join) {
118118
$join->on('order_lines.orders_id', '=', 'orders.id')
119-
->where('orders.type', '=', 1); // Filtre par le type de commande
119+
->where('orders.type', '=', 1)
120+
->where('orders.statu', '!=', 6); // Filtre par le type de commande
120121
})
121122
->whereYear('order_lines.created_at', $year)
122123
->groupByRaw('MONTH(order_lines.delivery_date)');
@@ -148,7 +149,8 @@ public function getOrderMonthlyRecapPreviousYear($year)
148149
')
149150
->leftJoin('orders', function($join) {
150151
$join->on('order_lines.orders_id', '=', 'orders.id')
151-
->where('orders.type', '=', 1);
152+
->where('orders.type', '=', 1)
153+
->where('orders.statu', '!=', 6);
152154
})
153155
->whereYear('order_lines.created_at', $lastyear)
154156
->groupByRaw('MONTH(order_lines.delivery_date)')
@@ -220,7 +222,8 @@ public function getOrderTotalForCast($year)
220222
')
221223
->leftJoin('orders', function($join) {
222224
$join->on('order_lines.orders_id', '=', 'orders.id')
223-
->where('orders.type', '=', 1);
225+
->where('orders.type', '=', 1)
226+
->where('orders.statu', '!=', 6);
224227
})
225228
->where('delivery_status', '=', 1)
226229
->orWhere('delivery_status', '=', 2)

resources/lang/en/general_content.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
'partly_received_trans_key' => 'Partly received',
3434
'rceived_trans_key' => 'Received',
3535
'canceled_trans_key' => 'Canceled',
36+
'stopped_trans_key' => 'Stopped',
3637
'no_task_trans_key' => 'No task',
3738
'created_trans_key' => 'Created',
3839
'to_be_posted_trans_key' => 'To be posted',

resources/lang/fr/general_content.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
'partly_received_trans_key' => 'Partiellement reçu',
3434
'rceived_trans_key' => 'Reçu',
3535
'canceled_trans_key' => 'Annulé',
36+
'stopped_trans_key' => 'Stopé',
3637
'no_task_trans_key' => 'Aucune taches',
3738
'created_trans_key' => 'Créer',
3839
'to_be_posted_trans_key' => 'To be posted',
Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,20 @@
11
<div class="row ">
22
<div class="col-12">
33
<div class="arrow-steps clearfix">
4-
<div class="col-3 step {{ $OrderStatu == 1 ? 'current' : '' }} {{ $OrderStatu <= 1 ? ' ' : 'done' }}"> <span><a href="#" wire:click="changeStatu(1)">{{ __('general_content.open_trans_key') }}</a></span> </div>
4+
<div class="col-1 step {{ $OrderStatu == 1 ? 'current' : '' }} {{ $OrderStatu <= 1 ? ' ' : 'done' }}"> <span><a href="#" wire:click="changeStatu(1)">{{ __('general_content.open_trans_key') }}</a></span> </div>
55
<div class="col-2 step {{ $OrderStatu == 2 ? 'current' : '' }} {{ $OrderStatu <= 2 ? ' ' : 'done' }}"> <span><a href="#" wire:click="changeStatu(2)">{{ __('general_content.in_progress_trans_key') }}</a></span> </div>
6+
@if($OrderStatu != 3)
7+
<div class="col-2 step {{ $OrderStatu == 5 ? 'current' : '' }} {{ $OrderStatu <= 5 ? ' ' : 'done' }}"> <span><a href="#" wire:click="changeStatu(5)">{{ __('general_content.stopped_trans_key') }}</a><span> </div>
8+
@endif
9+
@if($OrderStatu != 3 && $OrderStatu != 4)
10+
<div class="col-2 step {{ $OrderStatu == 6 ? 'current' : '' }} {{ $OrderStatu <= 6 ? ' ' : 'done' }}"> <span><a href="#" wire:click="changeStatu(6)">{{ __('general_content.canceled_trans_key') }}</a><span> </div>
11+
@endif
612
@if($OrderType == 1)
713
<div class="col-2 step {{ $OrderStatu == 4 ? 'current' : '' }} {{ $OrderStatu == 3 ? ' done' : '' }}"> <span><a href="#" wire:click="changeStatu(4)">{{ __('general_content.partly_delivered_trans_key') }}</a><span> </div>
8-
<div class="col-3 step {{ $OrderStatu == 3 && $OrderStatu != 4 ? 'current' : '' }} {{ $OrderStatu == 3 && $OrderStatu != 4 ? 'done' : '' }}"> <span><a href="#" wire:click="changeStatu(3)">{{ __('general_content.delivered_trans_key') }}</a></span> </div>
14+
<div class="col-2 step {{ $OrderStatu == 3 && $OrderStatu != 4 ? 'current' : '' }} {{ $OrderStatu == 3 && $OrderStatu != 4 ? 'done' : '' }}"> <span><a href="#" wire:click="changeStatu(3)">{{ __('general_content.delivered_trans_key') }}</a></span> </div>
915
@else
1016
<div class="col-2 step {{ $OrderStatu == 4 ? 'current' : '' }} {{ $OrderStatu == 3 ? ' done' : '' }}"> <span><a href="#" wire:click="changeStatu(4)">{{ __('general_content.partly_stored_trans_key') }}</a><span> </div>
11-
<div class="col-3 step {{ $OrderStatu == 3 && $OrderStatu != 4 ? 'current' : '' }} {{ $OrderStatu == 3 && $OrderStatu != 4 ? 'done' : '' }}"> <span><a href="#" wire:click="changeStatu(3)">{{ __('general_content.stock_trans_key') }}</a></span> </div>
12-
@endif
13-
<!--<div class="step {{ $OrderStatu == 5 ? 'current' : '' }} {{ $OrderStatu <= 5 ? ' ' : 'done' }}"> <span><a href="#" wire:click="changeStatu(5)">{{ __('Stopped') }}</a><span> </div>-->
14-
<!--<div class="step {{ $OrderStatu == 6 ? 'current' : '' }} {{ $OrderStatu <= 6 ? ' ' : 'done' }}"> <span><a href="#" wire:click="changeStatu(6)">{{ __('general_content.canceled_trans_key') }}</a><span> </div>-->
15-
</div>
17+
<div class="col-2 step {{ $OrderStatu == 3 && $OrderStatu != 4 ? 'current' : '' }} {{ $OrderStatu == 3 && $OrderStatu != 4 ? 'done' : '' }}"> <span><a href="#" wire:click="changeStatu(3)">{{ __('general_content.stock_trans_key') }}</a></span> </div>
18+
@endif </div>
1619
</div>
1720
</div>

resources/views/livewire/orders-index.blade.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -231,8 +231,8 @@
231231
<option value="2">{{ __('general_content.in_progress_trans_key') }}</option>
232232
<option value="3">{{ __('general_content.delivered_trans_key') }}</option>
233233
<option value="4">{{ __('general_content.partly_delivered_trans_key') }}</option>
234-
<!--<option value="5">{{ __('Stopped') }}</option>-->
235-
<!--<option value="6">{{ __('general_content.canceled_trans_key') }}</option>-->
234+
<option value="5">{{ __('general_content.stopped_trans_key') }}</option>
235+
<option value="6">{{ __('general_content.canceled_trans_key') }}</option>
236236
</select>
237237
</div>
238238
</div>
@@ -294,6 +294,9 @@
294294
@if(3 == $Order->statu ) <span class="badge badge-success">{{ __('general_content.stock_trans_key') }}</span>@endif
295295
@if(4 == $Order->statu ) <span class="badge badge-danger">{{ __('general_content.partly_stored_trans_key') }}</span>@endif
296296
@endif
297+
298+
@if(5 == $Order->statu ) <span class="badge badge-danger">{{ __('general_content.stopped_trans_key') }}</span>@endif
299+
@if(6 == $Order->statu ) <span class="badge badge-warning">{{ __('general_content.canceled_trans_key') }}</span>@endif
297300
</td>
298301
<td><img src="{{ Avatar::create($Order->UserManagement['name'])->toBase64() }}" /></td>
299302
<td>{{ $Order->GetPrettyCreatedAttribute() }}</td>

0 commit comments

Comments
 (0)