summaryrefslogtreecommitdiff
path: root/lib/dolce/dialogs/b4-bulk-upload-dialog.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dolce/dialogs/b4-bulk-upload-dialog.tsx')
-rw-r--r--lib/dolce/dialogs/b4-bulk-upload-dialog.tsx87
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}