Files
boursecu_server/app/Http/Controllers/Admin/OrderController.php
T

68 lines
2.3 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\DB\Te\TableEngine;
use App\Http\Controllers\Controller;
use App\Models\Order;
use App\Services\BalanceReportService;
use App\Services\WalletBalanceService;
use Illuminate\Http\Request;
class OrderController extends Controller
{
public function table(Request $request){
$balanceReport = app(BalanceReportService::class);
$catalogMetalIds = app(WalletBalanceService::class)->catalogMetalIds();
$records = Order::with([
'customer',
'product:id,title,unit,metal_id,group_type,amount,trade_by_quantity,direct_price',
'transactions.product:id,title,unit,metal_id,group_type,amount,trade_by_quantity,direct_price',
]);
TableEngine::create($records, $request->all())
->initSearch(['customer.name'])
->select([
'*',Order::$SELECT_STS_STR
])->export($records);
if (isset($records['rows'])) {
foreach ($records['rows'] as &$row) {
$balanceReport->enrichOrderTableRow($row, $catalogMetalIds);
}
unset($row);
}
$records['catalogMetals'] = $balanceReport->catalogMetalsMeta();
return response()->json($records);
}
public function singleOrderTable(Request $request){
$balanceReport = app(BalanceReportService::class);
$catalogMetalIds = app(WalletBalanceService::class)->catalogMetalIds();
$records = Order::with([
'customer',
'product:id,title,unit,metal_id,group_type,amount,trade_by_quantity,direct_price',
'transactions.product:id,title,unit,metal_id,group_type,amount,trade_by_quantity,direct_price',
])->where('type',2);
TableEngine::create($records, $request->all())
->initSearch(['customer.name'])
->select([
'*',Order::$SELECT_STS_STR
])->export($records);
if (isset($records['rows'])) {
foreach ($records['rows'] as &$row) {
$balanceReport->enrichOrderTableRow($row, $catalogMetalIds);
}
unset($row);
}
$records['catalogMetals'] = $balanceReport->catalogMetalsMeta();
return response()->json($records);
}
}