diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-05-15 01:34:49 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-05-15 01:34:49 +0000 |
| commit | ed864fa46c7ce0aac2de4c5ba5d311ebfd7e6a88 (patch) | |
| tree | b04695b9c8a4d2b03ed1f44f318fa38d8c490364 /app | |
| parent | 9beaabc8d1e0ac3a5c54c8202d3c690577bdbd39 (diff) | |
(대표님) 벤더 문서 관련 개발사항
Diffstat (limited to 'app')
| -rw-r--r-- | app/[lng]/partners/(partners)/vendor-data/form/[packageId]/[formId]/[projectId]/[contractId]/page.tsx (renamed from app/[lng]/partners/(partners)/vendor-data/form/[packageId]/[formId]/page.tsx) | 32 |
1 files changed, 26 insertions, 6 deletions
diff --git a/app/[lng]/partners/(partners)/vendor-data/form/[packageId]/[formId]/page.tsx b/app/[lng]/partners/(partners)/vendor-data/form/[packageId]/[formId]/[projectId]/[contractId]/page.tsx index dc8df262..71a02ab3 100644 --- a/app/[lng]/partners/(partners)/vendor-data/form/[packageId]/[formId]/page.tsx +++ b/app/[lng]/partners/(partners)/vendor-data/form/[packageId]/[formId]/[projectId]/[contractId]/page.tsx @@ -1,11 +1,15 @@ import DynamicTable from "@/components/form-data/form-data-table"; -import { getFormData, getFormId } from "@/lib/forms/services"; +import { findContractItemId, getFormData, getFormId } from "@/lib/forms/services"; interface IndexPageProps { params: { lng: string; packageId: string; formId: string; + projectId: string; + contractId: string; + + }; searchParams?: { mode?: string; @@ -20,19 +24,35 @@ export default async function FormPage({ params, searchParams }: IndexPageProps) const resolvedSearchParams = await searchParams; // 3) 구조 분해 할당 - const { lng, packageId, formId: formCode } = resolvedParams; + const { lng, packageId, formId: formCode, projectId,contractId } = resolvedParams; // URL 쿼리 파라미터에서 mode 가져오기 (await 해서 사용) const mode = resolvedSearchParams?.mode === "ENG" ? "ENG" : "IM"; // 기본값은 IM // 4) 변환 - const packageIdAsNumber = Number(packageId); + let packageIdAsNumber = Number(packageId); + const contractIdAsNumber = Number(contractId); + + // packageId가 0이면 contractId와 formCode로 실제 contractItemId 찾기 + if (packageIdAsNumber === 0 && contractIdAsNumber > 0) { + console.log(`packageId가 0이므로 contractId ${contractIdAsNumber}와 formCode ${formCode}로 contractItemId 조회`); + + const foundContractItemId = await findContractItemId(contractIdAsNumber, formCode); + + if (foundContractItemId) { + console.log(`contractItemId ${foundContractItemId}를 찾았습니다. 이 값을 사용합니다.`); + packageIdAsNumber = foundContractItemId; + } else { + console.warn(`contractItemId를 찾을 수 없습니다. packageId는 계속 0으로 유지됩니다.`); + } + } // 5) DB 조회 - const { columns, data, projectId } = await getFormData(formCode, packageIdAsNumber); + const { columns, data } = await getFormData(formCode, packageIdAsNumber); + // 6) formId 및 report temp file 조회 - const { formId } = await getFormId(packageId, formCode); + const { formId } = await getFormId(String(packageIdAsNumber), formCode); // 7) 예외 처리 if (!columns) { @@ -50,7 +70,7 @@ export default async function FormPage({ params, searchParams }: IndexPageProps) formId={formId} columnsJSON={columns} dataJSON={data} - projectId={projectId} + projectId={Number(projectId)} mode={mode} // 모드 전달 /> </div> |
