Files
admin-php-module/commands/GETOrderHistory.php
miroman-afk 85fd6af04f v.2.15
Order history
2022-03-25 00:03:43 +03:00

54 lines
2.1 KiB
PHP

<?php
namespace App\Commands;
use App\Component\Models\ActionTypes;
use App\Component\Models\Dishes;
use App\Component\Models\ShiftOnlineActions;
use App\Component\Models\ShiftOnlineItems;
use App\Component\Models\Staff;
use App\Component\Models\Units;
use App\Component\Models\UnitsList;
use App\Console\Commands\HRCCommand;
use App\Console\Commands\HRCCommandInterface;
class GETOrderHistory extends HRCCommand implements HRCCommandInterface {
protected $signature = 'getorderhistory';
public function command($input, $output = null) {
if (isset($input['order_id'])) {
$order = ShiftOnlineActions::where('order_code', $input['order_id'])->orderBy('time', 'asc')->get();
foreach ($order as $key => $item) {
$action_type = ActionTypes::where('type_id', $item['type_action'])->first();
$action_name = $action_type['name'];
$staff = Staff::where('code', $item['who'])->first();
$staff_name = $staff['name'];
if ($item['type_action'] == 45 || $item['type_action'] == 39) {
$action_name = $item['value'];
}
if ($item['type_action'] == 46 || $item['type_action'] == 35) {
$action_name = $action_name . ': ' . $item['value'];
}
if ($item['type_action'] == 2) {
$shiftOnlineItem = ShiftOnlineItems::where('order_code', $item['order_code'])->where('dish_code', $item['more'])->first();
$unitsList = UnitsList::where('id', $shiftOnlineItem['units_code'])->first();
$units = Units::where('id', $unitsList['unit_id'])->first();
$unit_name = $units['name'];
$dish = Dishes::where('code', $item['more'])->first();
$action_name = $action_name . ': ' . $dish['name'] . ' в количестве ' . $item['value'] . ' ' . $unit_name;
}
$order_info[] = array('id' => $key, 'action' => $action_name, 'who' => $staff_name, 'time' => $item['time'], 'workgroup' => $item['workgroup'], 'workcode' => $item['workcode']);
}
return [
'status' => 'success',
'actions' => $order_info,
];
} else {
return [
'status' => 'success',
'error_message' => 'Проверьте введенные данные',
];
}
}
}