From 69f117ef8e71aa459a7dcbbf22dd68a8a5d0857e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Thu, 19 Feb 2026 21:25:08 +0900 Subject: [PATCH] =?UTF-8?q?fix:=EA=B1=B0=EB=9E=98=EC=B2=98=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=EA=B2=80=EC=83=89=EC=9D=84=20=EA=B3=A0=EC=9C=A0?= =?UTF-8?q?=EB=B2=88=ED=98=B8(id)=20=EA=B8=B0=EB=B0=98=EC=9C=BC=EB=A1=9C?= =?UTF-8?q?=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Client::searchByCodeOrName → searchByIdOrName으로 변경 - 검색 기준: id(숫자일 때 정확 매칭) + name(LIKE 검색) - 반환값: client_code 대신 id를 code로 반환 Co-Authored-By: Claude Opus 4.6 --- .../Controllers/Barobill/EaccountController.php | 4 ++-- app/Models/Barobill/Client.php | 14 ++++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/app/Http/Controllers/Barobill/EaccountController.php b/app/Http/Controllers/Barobill/EaccountController.php index 7cbd191c..8ba9ee5d 100644 --- a/app/Http/Controllers/Barobill/EaccountController.php +++ b/app/Http/Controllers/Barobill/EaccountController.php @@ -951,12 +951,12 @@ public function searchClients(Request $request): JsonResponse ]); } - $clients = Client::searchByCodeOrName($tenantId, $keyword); + $clients = Client::searchByIdOrName($tenantId, $keyword); return response()->json([ 'success' => true, 'data' => $clients->map(fn($c) => [ - 'code' => $c->client_code, + 'code' => (string) $c->id, 'name' => $c->name, ]) ]); diff --git a/app/Models/Barobill/Client.php b/app/Models/Barobill/Client.php index 89e490b3..eb34be84 100644 --- a/app/Models/Barobill/Client.php +++ b/app/Models/Barobill/Client.php @@ -13,18 +13,20 @@ class Client extends Model protected $table = 'clients'; /** - * 거래처코드 또는 거래처명으로 검색 + * 고유번호(id) 또는 거래처명으로 검색 */ - public static function searchByCodeOrName(int $tenantId, string $keyword, int $limit = 20) + public static function searchByIdOrName(int $tenantId, string $keyword, int $limit = 20) { return self::where('tenant_id', $tenantId) ->where('is_active', true) ->where(function ($query) use ($keyword) { - $query->where('client_code', 'like', "%{$keyword}%") - ->orWhere('name', 'like', "%{$keyword}%"); + if (is_numeric($keyword)) { + $query->where('id', $keyword); + } + $query->orWhere('name', 'like', "%{$keyword}%"); }) - ->select('client_code', 'name') - ->orderBy('client_code') + ->select('id', 'name') + ->orderBy('id') ->limit($limit) ->get(); }