diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-11-24 05:00:38 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-11-24 05:00:38 +0000 |
| commit | d79f56ae5a9e5f72781f78fe0399018cfac44081 (patch) | |
| tree | 7a4aaaba1e27e6aa7ac19bd72909989ae804d7e8 /lib/techsales-rfq/approval-actions.ts | |
| parent | 58d700b925967bfe470c944b380b02b2140cab8a (diff) | |
(최겸) 기술영업 결재 수정
Diffstat (limited to 'lib/techsales-rfq/approval-actions.ts')
| -rw-r--r-- | lib/techsales-rfq/approval-actions.ts | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/techsales-rfq/approval-actions.ts b/lib/techsales-rfq/approval-actions.ts index 175bca1d..335be760 100644 --- a/lib/techsales-rfq/approval-actions.ts +++ b/lib/techsales-rfq/approval-actions.ts @@ -8,11 +8,13 @@ import { ApprovalSubmissionSaga } from '@/lib/approval'; import { mapTechSalesRfqSendToTemplateVariables } from './approval-handlers'; +import { revalidatePath, revalidateTag } from 'next/cache'; interface TechSalesRfqSendApprovalData { // RFQ 기본 정보 rfqId: number; rfqCode?: string; + rfqType: "SHIP" | "TOP" | "HULL"; // 발송 데이터 vendorIds: number[]; @@ -133,6 +135,10 @@ export async function requestTechSalesRfqSendWithApproval(data: TechSalesRfqSend console.log('[TechSales RFQ Approval] ✅ Approval submitted successfully'); console.log('[TechSales RFQ Approval] Approval ID:', result.approvalId); console.log('[TechSales RFQ Approval] Pending Action ID:', result.pendingActionId); + revalidateTag("techSalesRfqs"); + revalidateTag("techSalesVendorQuotations"); + revalidateTag(`techSalesRfq-${data.rfqId}`); + revalidatePath(getTechSalesRevalidationPath(data.rfqType || "SHIP")); return { success: true, @@ -151,6 +157,21 @@ export async function requestTechSalesRfqSendWithApproval(data: TechSalesRfqSend } /** + * RFQ 타입에 따른 캐시 무효화 경로 반환 + */ +function getTechSalesRevalidationPath(rfqType: "SHIP" | "TOP" | "HULL"): string { + switch (rfqType) { + case "SHIP": + return "/evcp/budgetary-tech-sales-ship"; + case "TOP": + return "/evcp/budgetary-tech-sales-top"; + case "HULL": + return "/evcp/budgetary-tech-sales-hull"; + default: + return "/evcp/budgetary-tech-sales-ship"; + } +} +/** * 기술영업 RFQ 재발송 결재 상신 * * 이미 발송된 RFQ에 DRM 파일이 추가된 경우 재발송을 위한 결재 상신 @@ -203,6 +224,7 @@ export async function requestRfqResendWithDrmApproval(data: { epId: data.currentUser.epId, }, }; + console.log('approvalPayload', approvalPayload); // Saga로 결재 상신 const saga = new ApprovalSubmissionSaga( @@ -216,6 +238,7 @@ export async function requestRfqResendWithDrmApproval(data: { approvers: data.approvers, currentUser: { id: data.currentUser.id, + name: data.currentUser.name, epId: data.currentUser.epId, email: data.currentUser.email, }, |
