diff --git a/app/Classes/Modules/Delivery/ControllersLogic/CancelDeliveryOrderLogic.php b/app/Classes/Modules/Delivery/ControllersLogic/CancelDeliveryOrderLogic.php new file mode 100644 index 00000000..e52c966b --- /dev/null +++ b/app/Classes/Modules/Delivery/ControllersLogic/CancelDeliveryOrderLogic.php @@ -0,0 +1,58 @@ + 'Cancelled Order', + 'message' => 'You have successfully cancelled an order' + ]; + } + + /** @var CancelsOrder */ + private $cancelsOrder; + + /** @var FetchesOrder */ + private $fetchesOrder; + + /** + * CancelDeliveryOrderLogic constructor. + * @param CancelsOrder $cancelsOrder + * @param FetchesOrder $fetchesOrder + */ + public function __construct(CancelsOrder $cancelsOrder, FetchesOrder $fetchesOrder) + { + $this->cancelsOrder = $cancelsOrder; + $this->fetchesOrder = $fetchesOrder; + } + + /** + * @param Request $request + * @return JsonResponse + * @throws \App\Classes\Exceptions\MalformedRequestException + */ + public function logic(Request $request): JsonResponse + { + + /** @var Order $order */ + $order = $this->fetchesOrder->execute(['id' => $request->route('id')]); + + return $this->resourceResponse(new DeliveryOrderResource($this->cancelsOrder->execute($order))); + + } +} diff --git a/app/Classes/Modules/Exports/Services/ExportsDeliveryOrders.php b/app/Classes/Modules/Exports/Services/ExportsDeliveryOrders.php index 03525eeb..2297811f 100644 --- a/app/Classes/Modules/Exports/Services/ExportsDeliveryOrders.php +++ b/app/Classes/Modules/Exports/Services/ExportsDeliveryOrders.php @@ -63,7 +63,11 @@ class ExportsDeliveryOrders implements FromQuery, WithHeadings, WithHeadingRow, */ public function query() { - return Order::where('type', OrderType::LAST_MILE_DELIVERY); + $selectedIds = array_map(function($value){ + return ['id' => $value]; + }, json_decode($this->request->input('ids'))); + + return Order::where('type', OrderType::LAST_MILE_DELIVERY)->whereIn('id', $selectedIds); } /** @@ -98,7 +102,7 @@ class ExportsDeliveryOrders implements FromQuery, WithHeadings, WithHeadingRow, 'Sender', $order->reference, $package->quantity, - $package->weight, + $package->weight * $package->quantity, 1, 1, 1, diff --git a/app/Http/Controllers/Delivery/CancelDeliveryOrderController.php b/app/Http/Controllers/Delivery/CancelDeliveryOrderController.php new file mode 100644 index 00000000..6dd69aa6 --- /dev/null +++ b/app/Http/Controllers/Delivery/CancelDeliveryOrderController.php @@ -0,0 +1,20 @@ +execute($request); + } +} \ No newline at end of file diff --git a/resources/assets/vue/components/orders/forms/CancelDeliveryOrderFormComponent.vue b/resources/assets/vue/components/orders/forms/CancelDeliveryOrderFormComponent.vue new file mode 100644 index 00000000..3dda284b --- /dev/null +++ b/resources/assets/vue/components/orders/forms/CancelDeliveryOrderFormComponent.vue @@ -0,0 +1,39 @@ + + \ No newline at end of file diff --git a/resources/assets/vue/components/orders/forms/DeliveryOrderFormComponent.vue b/resources/assets/vue/components/orders/forms/DeliveryOrderFormComponent.vue index 565cd7c7..96351c90 100644 --- a/resources/assets/vue/components/orders/forms/DeliveryOrderFormComponent.vue +++ b/resources/assets/vue/components/orders/forms/DeliveryOrderFormComponent.vue @@ -263,7 +263,7 @@
Total Weight
-
{{parameters.packing_list.weight}}KG
+
{{(Math.round((parseFloat(parameters.packing_list.weight.toString().replace(",", "")) * parameters.packing_list.quantity + Number.EPSILON) * 10) / 10).toFixed(1)}}KG
diff --git a/resources/assets/vue/components/orders/sections/DeliveryOrdersTableSectionComponent.vue b/resources/assets/vue/components/orders/sections/DeliveryOrdersTableSectionComponent.vue index 205a14cd..9b74b89a 100644 --- a/resources/assets/vue/components/orders/sections/DeliveryOrdersTableSectionComponent.vue +++ b/resources/assets/vue/components/orders/sections/DeliveryOrdersTableSectionComponent.vue @@ -4,9 +4,9 @@
-
+
- +