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