summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/itb/service.ts35
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)