summaryrefslogtreecommitdiff
path: root/app/api
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-10-17 08:08:33 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-10-17 08:08:33 +0000
commit1540eac291761ffd8fc1947ed626e4e4a4407922 (patch)
treea7b6ae8060e164f249651cf6ef8b0c2e868019e9 /app/api
parent55b6153dfce83a1cf2be72cbc3413d78084e8da1 (diff)
(최겸) 견적입찰 비교관련 수정
Diffstat (limited to 'app/api')
-rw-r--r--app/api/partners/rfq-last/[id]/response/route.ts74
1 files changed, 45 insertions, 29 deletions
diff --git a/app/api/partners/rfq-last/[id]/response/route.ts b/app/api/partners/rfq-last/[id]/response/route.ts
index ebcccd8f..5d05db50 100644
--- a/app/api/partners/rfq-last/[id]/response/route.ts
+++ b/app/api/partners/rfq-last/[id]/response/route.ts
@@ -264,42 +264,57 @@ export async function PUT(
// 2. 새 버전 생성 (제출 시) 또는 기존 버전 업데이트
let responseId = existingResponse.id
- if (data.status === "제출완료" && previousStatus !== "제출완료") {
- // 기존 버전을 비활성화
- await tx.update(rfqLastVendorResponses)
- .set({ isLatest: false })
- .where(eq(rfqLastVendorResponses.id, existingResponse.id))
+ // if (data.status === "제출완료" && previousStatus !== "제출완료") {
+ // // 기존 버전을 비활성화
+ // await tx.update(rfqLastVendorResponses)
+ // .set({ isLatest: false })
+ // .where(eq(rfqLastVendorResponses.id, existingResponse.id))
- // 기존 첨부파일을 새 응답으로 이동
- if (existingResponse.id) {
- await tx.update(rfqLastVendorAttachments)
- .set({ vendorResponseId: existingResponse.id }) // 임시로 기존 응답에 연결
- .where(eq(rfqLastVendorAttachments.vendorResponseId, existingResponse.id))
- }
+ // // 기존 첨부파일을 새 응답으로 이동
+ // if (existingResponse.id) {
+ // await tx.update(rfqLastVendorAttachments)
+ // .set({ vendorResponseId: existingResponse.id }) // 기존 응답에 연결
+ // .where(eq(rfqLastVendorAttachments.vendorResponseId, existingResponse.id))
+ // }
+
+ // // 새 버전 생성
+ // const [newResponse] = await tx.insert(rfqLastVendorResponses).values({
+ // ...data,
+ // vendorDeliveryDate: data.vendorDeliveryDate ? new Date(data.vendorDeliveryDate) : null,
+ // submittedAt: data.submittedAt ? new Date(data.submittedAt) : null,
+ // responseVersion: existingResponse.responseVersion + 1,
+ // status:"제출완료",
+ // participationStatus: "참여",
+ // participationRepliedAt: existingResponse.participationRepliedAt ? new Date() : null,
+ // participationRepliedBy: existingResponse.participationRepliedBy ? session.user.id : null,
+
+ // isLatest: true,
+ // createdBy: existingResponse.createdBy,
+ // updatedBy: session.user.id,
+ // }).returning()
+
+ // // 기존 첨부파일을 새 응답으로 이동
+ // if (newResponse.id) {
+ // await tx.update(rfqLastVendorAttachments)
+ // .set({ vendorResponseId: newResponse.id })
+ // .where(eq(rfqLastVendorAttachments.vendorResponseId, existingResponse.id))
+ // }
- // 새 버전 생성
- const [newResponse] = await tx.insert(rfqLastVendorResponses).values({
+ // responseId = newResponse.id
+ // } else {
+ // // 기존 버전 업데이트
+ if(data.status === "제출완료") {
+ await tx.update(rfqLastVendorResponses)
+ .set({
...data,
vendorDeliveryDate: data.vendorDeliveryDate ? new Date(data.vendorDeliveryDate) : null,
submittedAt: data.submittedAt ? new Date(data.submittedAt) : null,
- responseVersion: existingResponse.responseVersion + 1,
- status:"제출완료",
- participationStatus: "참여",
- isLatest: true,
- createdBy: existingResponse.createdBy,
+ status: data.status,
updatedBy: session.user.id,
- }).returning()
-
- // 기존 첨부파일을 새 응답으로 이동
- if (newResponse.id) {
- await tx.update(rfqLastVendorAttachments)
- .set({ vendorResponseId: newResponse.id })
- .where(eq(rfqLastVendorAttachments.vendorResponseId, existingResponse.id))
- }
-
- responseId = newResponse.id
+ updatedAt: new Date(),
+ })
+ .where(eq(rfqLastVendorResponses.id, existingResponse.id))
} else {
- // 기존 버전 업데이트
await tx.update(rfqLastVendorResponses)
.set({
...data,
@@ -311,6 +326,7 @@ export async function PUT(
.where(eq(rfqLastVendorResponses.id, existingResponse.id))
}
+
// 3. 견적 아이템 업데이트
// 기존 아이템 삭제
await tx.delete(rfqLastVendorQuotationItems)