summaryrefslogtreecommitdiff
path: root/components/common/vendor
diff options
context:
space:
mode:
Diffstat (limited to 'components/common/vendor')
-rw-r--r--components/common/vendor/vendor-service.ts38
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> {