mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/shipping-portal.git
synced 2026-08-21 21:44:01 +00:00
45 lines
1.9 KiB
PHP
45 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Resources;
|
|
|
|
|
|
use App\Classes\ValueObjects\Constants\PackingListType;
|
|
use Illuminate\Http\Resources\Json\JsonResource;
|
|
|
|
class OrderPackagesResource extends JsonResource
|
|
{
|
|
/**
|
|
* Transform the resource into an array.
|
|
*
|
|
* @param \Illuminate\Http\Request $request
|
|
* @return array
|
|
*/
|
|
public function toArray($request)
|
|
{
|
|
$origin_warehouse_packages = $this->originWarehousePackages()->get();
|
|
$in_transit_packages = $this->inTransitPackages()->get();
|
|
$destination_warehouse_packages = $this->destinationWarehousePackages()->get();
|
|
$delivered_packages = $this->deliveredPackages()->get();
|
|
$received_packages = $this->packingLists()->where('type', PackingListType::WAREHOUSE_RECEIVE_LIST)->whereHas('packages')->get();
|
|
|
|
return [
|
|
'id' => $this->id,
|
|
'reference' => $this->reference,
|
|
'reference_contract' => (int) $this->type,
|
|
'type' => (int) $this->type,
|
|
'status' => (int) $this->status,
|
|
'parcels' => $this->whenLoaded('packingLists', function() use ($origin_warehouse_packages, $in_transit_packages, $destination_warehouse_packages, $delivered_packages, $received_packages) {
|
|
return [
|
|
'origin_warehouse_packages' => PackingListForPackagesResource::collection($origin_warehouse_packages),
|
|
'in_transit_packages' => PackingListForPackagesResource::collection($in_transit_packages),
|
|
'destination_warehouse_packages' => PackingListForPackagesResource::collection($destination_warehouse_packages),
|
|
'delivered_packages' => PackingListForPackagesResource::collection($delivered_packages),
|
|
'received_packages' => PackingListForPackagesResource::collection($received_packages),
|
|
];
|
|
}),
|
|
'created_at' => $this->created_at->format('d-m-Y')
|
|
];
|
|
|
|
}
|
|
}
|