diff options
Diffstat (limited to 'lib/sedp/sync-package.ts')
| -rw-r--r-- | lib/sedp/sync-package.ts | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/sedp/sync-package.ts b/lib/sedp/sync-package.ts index cdbb5987..0261e448 100644 --- a/lib/sedp/sync-package.ts +++ b/lib/sedp/sync-package.ts @@ -2,7 +2,7 @@ // src/lib/cron/syncItemsFromCodeLists.ts import db from "@/db/db"; import { projects, items } from '@/db/schema'; -import { eq } from 'drizzle-orm'; +import { eq, and } from 'drizzle-orm'; import { getSEDPToken } from "./sedp-token"; const SEDP_API_BASE_URL = process.env.SEDP_API_BASE_URL || 'http://sedpwebapi.ship.samsung.co.kr/api'; @@ -154,14 +154,15 @@ export async function syncItemsFromCodeLists(): Promise<void> { // 기존 아이템 확인 (itemCode로 조회) const existingItem = await db.select() .from(items) - .where(eq(items.itemCode, codeValue.VALUE)) + .where(and(eq(items.itemCode, codeValue.VALUE),eq(items.ProjectNo, project.code))) .limit(1); if (existingItem.length > 0) { // 기존 아이템 업데이트 await db.update(items) .set(itemData) - .where(eq(items.itemCode, codeValue.VALUE)); + .where(and(eq(items.itemCode, codeValue.VALUE),eq(items.ProjectNo, project.code))) + totalItemsUpdated++; } else { // 새 아이템 삽입 @@ -253,13 +254,13 @@ export async function syncItemsForProject(projectCode: string): Promise<void> { // 기존 아이템 확인 const existingItem = await db.select() .from(items) - .where(eq(items.itemCode, codeValue.VALUE)) + .where(and(eq(items.itemCode, codeValue.VALUE),eq(items.ProjectNo, projectCode))) .limit(1); if (existingItem.length > 0) { await db.update(items) .set(itemData) - .where(eq(items.itemCode, codeValue.VALUE)); + .where(and(eq(items.itemCode, codeValue.VALUE),eq(items.ProjectNo, projectCode))); itemsUpdated++; } else { await db.insert(items).values(itemData); |
