Untitled
unknown
plain_text
a year ago
2.7 kB
4
Indexable
public function goodsBalance(Request $request): JsonResponse { try { $blocked = false; $filter = $this->validate($request, [ 'date' => 'required|date', 'account' => 'nullable|string|regex:/^[0-9]+$/|size:4', 'warehouse_id' => 'nullable|uuid', 'product_ids' => 'nullable|array', // Изменено на массив 'product_ids.*' => 'uuid', // Каждый элемент массива должен быть UUID ]); if ($request->has('warehouse_id')) { $warehouse = Warehouse::findOrFail($request['warehouse_id']); if ($warehouse->blocked === true) { $blocked = true; } } $query = 'SELECT * FROM warehouse.goods_balance(:mailbox, :date'; $params = ['mailbox' => $request->user()->profile['mailbox_id'], 'date' => $filter['date']]; if (isset($filter['account'])) { $query .= ', :account'; $params['account'] = $filter['account']; } if (isset($filter['warehouse_id'])) { $query .= ', :warehouse_id'; $params['warehouse_id'] = $filter['warehouse_id']; } if (isset($filter['product_ids']) && count($filter['product_ids']) > 0) { $query .= ', :product_ids'; $params['product_ids'] = $filter['product_ids']; } $query .= ')'; DB::beginTransaction(); if (isset($filter['warehouse_id'])) { $readyToSendEntries = ExchangeHistory::where('warehouse_id', $filter['warehouse_id'])->where('accepted', false); if ($readyToSendEntries->count() > 0) { $readyToSendEntries->update(['accepted' => true]); } } $data = DB::select($query, $params); DB::commit(); return AppResponseService::success('Report goods balance received successfully', $blocked ? [] : $data); } catch (ValidationException $exception) { DB::rollBack(); return AppResponseService::error( 'Report goods balance received unsuccessfully', 3532, 422, TdrHelpers::validationHandle($exception) ); } catch (Throwable $exception) { DB::rollBack(); app('Illuminate\Contracts\Debug\ExceptionHandler')->report($exception); return AppResponseService::error( 'Report goods balance received unsuccessfully', 3487, 500, [ 'exception' => class_basename($exception), 'message' => $exception->getMessage(), ] ); } }
Editor is loading...
Leave a Comment