Files
izyim/app/Classes/Modules/ControllersLogic/Dashboard/OrdersStatusReportLogic.php
T
2019-03-19 17:11:21 +08:00

46 lines
1.1 KiB
PHP

<?php
/**
* Created by PhpStorm.
* User: ayen
* Date: 19/03/2019
* Time: 11:52 AM
*/
namespace App\Classes\Modules\ControllersLogic\Dashboard;
use App\Models\Order;
use Carbon\Carbon;
class OrdersStatusReportLogic
{
/* @var Order */
private $repository;
/**
* OrderTypeReportLogic constructor.
* @param Order $repository
*/
public function __construct(Order $repository)
{
$this->repository = $repository;
}
public function execute() {
$status = $this->repository->whereNotNull('current_step')->get()->groupBy('current_step');
$completed = $this->repository->whereNull('current_step')->where('complete', '=' , 1)->get();
$statusMap = $status->map(function ($item) {
return collect($item)->count();
})->toArray();
$completedArray = ["COMPLETED" => $completed->count()];
$combine = $statusMap + $completedArray;
return [
$combine['PS_PROCESSING'],
$combine['MS_WAREHOUSE_RECEIVING'],
$combine['PS_SHIPPING'],
$completedArray['COMPLETED']
];
}
}