summaryrefslogtreecommitdiff
path: root/lib/itb/service.ts
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-09-21 23:17:56 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-09-21 23:17:56 +0000
commit614ca42937a39a16ce35e99d93085a56705c7a19 (patch)
treea9b2fb8a88f86dbcc4c9211ed20de8724994bea0 /lib/itb/service.ts
parent5256f120dba2422b4ac27096cff6602c4c7fe4fb (diff)
(대표님) rfq 생성시 데이터 이관 수정
Diffstat (limited to 'lib/itb/service.ts')
-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)