return Datatables::of($Orders)
->addColumn('reg_city', function (Orders $order) {
$data = (array)json_decode($order->data, TRUE);
$data = (array)$data['f'];
return isset($data['reg-city']) ? $data['reg-city']: $data['reg-sub'] . $data['reg-point'];
})
->addColumn('name_short', function (Orders $order) {
$data = (array)json_decode($order->data, TRUE);
$dataT = (array)$data['f'];
return isset($dataT['name-short']) ?
$dataT['name-short']
:
(isset($data['edit_fname']) ? $data['edit_fname'] . ' ' . $data['edit_name'] . ' ' .$data['edit_pname'] : '');
})
->addColumn('user_id', function (Orders $order){
return User::find($order->user_id)->name;
})
->addColumn('identification', '')
->addColumn('checked', '')
->addColumn('manager', function (Orders $order) {
if ($order->manager_id > 0) {
if (User::where('id', $order->manager_id)->first()) {
return json_encode(['name' => User::where('id', $order->manager_id)->first()->name,'id' => User::where('id', $order->manager_id)->first()->id], JSON_UNESCAPED_UNICODE);
} else {
return 'null';
}
}
return 'null';
})
->addColumn( 'stepprocent', function (Orders $order) {
if (!is_array($order->data)) {
$order->data = json_decode($order->data, TRUE);
}
switch ($order->type) {
case "ooo":
$oooOrder = new OOOOrders($order, $order->step, 7);
$oooOrder->setStatuses();
break;
case "ip":
$ipOrder = new IpOrder($order, $order->step, 5);
$ipOrder->setStatuses();
break;
case "kfh":
$kfhOrder = new KFHOrder($order, $order->step);
$kfhOrder->setStatuses();
break;
default:
0;
}
return $order->stepprocent;
})
->addColumn('action', '')
->addColumn( 'status_text', function (Orders $order) {
if (!is_array($order->data)) {
$order->data = (array)json_decode($order->data, TRUE);
}
switch ($order->type) {
case "ooo":
$oooOrder = new OOOOrders($order, $order->step, 7);
$oooOrder->setStatuses();
break;
case "ip":
$ipOrder = new IpOrder($order, $order->step, 5);
$ipOrder->setStatuses();
break;
case "kfh":
$kfhOrder = new KFHOrder($order, $order->step);
$kfhOrder->setStatuses();
break;
default:
0;
}
return $order->status_text;
})
->addColumn('open', '')
->with([
"recordsTotal" => $count,
'recordsFiltered' => $count
])
->make(true);