diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-09-21 23:17:56 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-09-21 23:17:56 +0000 |
| commit | 614ca42937a39a16ce35e99d93085a56705c7a19 (patch) | |
| tree | a9b2fb8a88f86dbcc4c9211ed20de8724994bea0 /lib/itb | |
| parent | 5256f120dba2422b4ac27096cff6602c4c7fe4fb (diff) | |
(대표님) rfq 생성시 데이터 이관 수정
Diffstat (limited to 'lib/itb')
| -rw-r--r-- | lib/itb/service.ts | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/lib/itb/service.ts b/lib/itb/service.ts index 66732c02..9664bfca 100644 --- a/lib/itb/service.ts +++ b/lib/itb/service.ts @@ -2,7 +2,7 @@ "use server"; import db from "@/db/db"; -import { purchaseRequestsView, purchaseRequests, purchaseRequestAttachments, rfqsLast, rfqLastAttachments, rfqLastAttachmentRevisions,users } from "@/db/schema"; +import { purchaseRequestsView, purchaseRequests, purchaseRequestAttachments, rfqsLast, rfqLastAttachments, rfqLastAttachmentRevisions, rfqPrItems, users } from "@/db/schema"; import { eq, and, desc, ilike, or, sql, asc, inArray ,like} from "drizzle-orm"; import { revalidatePath, revalidateTag } from "next/cache"; import { getServerSession } from 'next-auth/next' @@ -698,6 +698,39 @@ export async function approvePurchaseRequestsAndCreateRfqs( .where(eq(rfqLastAttachments.id, rfqAttachment.id)) } + // 품목 이관 + if (request.items && request.items.length > 0) { + console.log("🚀 품목 이관 시작:", { + requestId, + itemsCount: request.items.length, + items: request.items + }); + + const prItemsData = request.items.map((item, index) => ({ + rfqsLastId: rfq.id, + rfqItem: `${index + 1}`.padStart(3, '0'), + prItem: `${index + 1}`.padStart(3, '0'), + prNo: rfqCode, + materialCode: item.itemCode, + materialDescription: item.itemName, + quantity: item.quantity, + uom: item.unit, + majorYn: index === 0, + remark: item.remarks || null, + })); + + console.log("🔍 삽입할 데이터:", prItemsData); + + const insertedItems = await tx.insert(rfqPrItems).values(prItemsData).returning(); + console.log("✅ 품목 이관 완료:", insertedItems); + } else { + console.log("❌ 품목이 없음:", { + requestId, + hasItems: !!request.items, + itemsLength: request.items?.length || 0 + }); + } + // 구매 요청 상태 업데이트 await tx .update(purchaseRequests) |
