diff options
| author | joonhoekim <26rote@gmail.com> | 2025-11-05 16:07:43 +0900 |
|---|---|---|
| committer | joonhoekim <26rote@gmail.com> | 2025-11-05 16:07:43 +0900 |
| commit | 208ed7ff11d0f822d3d243c5833d31973904349e (patch) | |
| tree | b1a15e3a7f8242294397f433a8484102c5743e69 /components/common | |
| parent | ad6bde0250cfe014d5f78747ec76ac59df95a25d (diff) | |
(김준회) vendor-pool: excel-import 코드기반검색처리, 템플릿 변경 (구매 김수진 프로 요청사항)
Diffstat (limited to 'components/common')
| -rw-r--r-- | components/common/vendor/vendor-service.ts | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/components/common/vendor/vendor-service.ts b/components/common/vendor/vendor-service.ts index 1c59843c..8c440df2 100644 --- a/components/common/vendor/vendor-service.ts +++ b/components/common/vendor/vendor-service.ts @@ -199,6 +199,44 @@ export async function getAllVendors(): Promise<{ } /** + * 벤더 코드로 조회 + */ +export async function getVendorByCode(vendorCode: string): Promise<VendorSearchItem | null> { + if (!vendorCode.trim()) { + return null + } + + try { + const result = await db + .select({ + id: vendors.id, + vendorName: vendors.vendorName, + vendorCode: vendors.vendorCode, + taxId: vendors.taxId, + status: vendors.status, + }) + .from(vendors) + .where(eq(vendors.vendorCode, vendorCode.trim())) + .limit(1) + + if (result.length === 0) { + return null + } + + const vendor = result[0] + return { + ...vendor, + displayText: vendor.vendorCode + ? `${vendor.vendorName} (${vendor.vendorCode})` + : vendor.vendorName + } + } catch (error) { + console.error('Error fetching vendor by code:', error) + return null + } +} + +/** * 특정 벤더 조회 (ID로) */ export async function getVendorById(vendorId: number): Promise<VendorSearchItem | null> { |
