diff options
Diffstat (limited to 'lib/dolce/dialogs/b4-bulk-upload-dialog.tsx')
| -rw-r--r-- | lib/dolce/dialogs/b4-bulk-upload-dialog.tsx | 87 |
1 files changed, 55 insertions, 32 deletions
diff --git a/lib/dolce/dialogs/b4-bulk-upload-dialog.tsx b/lib/dolce/dialogs/b4-bulk-upload-dialog.tsx index 1be7f226..21647e63 100644 --- a/lib/dolce/dialogs/b4-bulk-upload-dialog.tsx +++ b/lib/dolce/dialogs/b4-bulk-upload-dialog.tsx @@ -30,9 +30,10 @@ import { } from "./b4-upload-validation-dialog"; import { checkB4MappingStatus, - editDetailDwgReceipt, + saveB4MappingBatch, type MappingCheckItem, type B4BulkUploadResult, + type B4MappingSaveItem, } from "../actions"; import { v4 as uuidv4 } from "uuid"; @@ -343,37 +344,54 @@ export function B4BulkUploadDialog({ console.log(`[B4 업로드] 그룹 ${groupKey} 파일 업로드 완료`); - // 3. 상세도면 등록 - await editDetailDwgReceipt({ - dwgList: [ - { - Mode: "ADD", - Status: "Draft", - RegisterId: 0, - ProjectNo: projectNo, - Discipline: "", - DrawingKind: "B4", - DrawingNo: drawingNo, - DrawingName: "", - RegisterGroupId: registerGroupId, - RegisterSerialNo: 0, - RegisterKind: registerKind, - DrawingRevNo: revNo, - Category: "TS", - Receiver: null, - Manager: "", - RegisterDesc: "", - UploadId: uploadId, - RegCompanyCode: vendorCode, - }, - ], - userId, - userNm: userName, - vendorCode, - email: userEmail, - }); + // 3. 매핑 현황 재조회 (MatchBatchFileDwg) + const mappingCheckResults = await checkB4MappingStatus(projectNo, [ + { + DrawingNo: drawingNo, + RevNo: revNo, + FileNm: files[0].fileName, + }, + ]); + + const mappingData = mappingCheckResults[0]; + if (!mappingData || mappingData.RegisterGroupId === 0) { + throw new Error(`매핑 정보를 찾을 수 없습니다: ${groupKey}`); + } + + console.log(`[B4 업로드] 그룹 ${groupKey} 매핑 정보 조회 완료`); + + // 4. 매핑 정보 저장 (MatchBatchFileDwgEdit) + const mappingSaveItem: B4MappingSaveItem = { + CGbn: mappingData.CGbn, + Category: mappingData.Category, + CheckBox: "0", + DGbn: mappingData.DGbn, + DegreeGbn: mappingData.DegreeGbn, + DeptGbn: mappingData.DeptGbn, + Discipline: mappingData.Discipline, + DrawingKind: "B4", + DrawingMoveGbn: "도면입수", + DrawingName: mappingData.DrawingName, + DrawingNo: drawingNo, + DrawingUsage: "입수용", + FileNm: files[0].fileName, + JGbn: mappingData.JGbn, + Manager: mappingData.Manager || "970043", + MappingYN: "Y", + NewOrNot: "N", + ProjectNo: projectNo, + RegisterGroup: 0, + RegisterGroupId: registerGroupId, + RegisterKindCode: registerKind, + RegisterSerialNo: mappingData.RegisterSerialNo, + RevNo: revNo, + SGbn: mappingData.SGbn, + UploadId: uploadId, + }; + + await saveB4MappingBatch([mappingSaveItem], userId); - console.log(`[B4 업로드] 그룹 ${groupKey} 상세도면 등록 완료`); + console.log(`[B4 업로드] 그룹 ${groupKey} 매핑 정보 저장 완료`); successCount += files.length; } catch (error) { @@ -685,7 +703,12 @@ export function B4BulkUploadDialog({ {/* 검증 다이얼로그 */} <B4UploadValidationDialog open={showValidationDialog} - onOpenChange={setShowValidationDialog} + onOpenChange={(open) => { + setShowValidationDialog(open); + if (!open) { + onOpenChange(false); // 검증 다이얼로그가 닫히면 메인 다이얼로그도 닫기 + } + }} validationResults={validationResults} onConfirmUpload={handleConfirmUpload} isUploading={isUploading} |
