diff options
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> { |
