From bbb13a1ea700f3be7ac12459b63804b843e93dc4 Mon Sep 17 00:00:00 2001
From: joonhoekim <26rote@gmail.com>
Date: Wed, 12 Nov 2025 11:07:00 +0900
Subject: (김준회) 업로드 파일명 파싱시 OWN_DOC_NO 로 검증하도록 변경
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 lib/swp/table/swp-upload-validation-dialog.tsx | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

(limited to 'lib/swp/table/swp-upload-validation-dialog.tsx')

diff --git a/lib/swp/table/swp-upload-validation-dialog.tsx b/lib/swp/table/swp-upload-validation-dialog.tsx
index 2d17e041..8e786c8b 100644
--- a/lib/swp/table/swp-upload-validation-dialog.tsx
+++ b/lib/swp/table/swp-upload-validation-dialog.tsx
@@ -12,7 +12,6 @@ import {
 import { Alert, AlertDescription } from "@/components/ui/alert";
 import { Badge } from "@/components/ui/badge";
 import { CheckCircle2, XCircle, AlertCircle, Upload } from "lucide-react";
-import { ScrollArea } from "@/components/ui/scroll-area";
 
 interface FileValidationResult {
   file: File;
@@ -39,7 +38,7 @@ interface SwpUploadValidationDialogProps {
 
 /**
  * 파일명 검증 함수 (클라이언트 사이드)
- * 형식: [DOC_NO]_[REV_NO]_[STAGE].[확장자] 또는 [DOC_NO]_[REV_NO]_[STAGE]_[자유-파일명].[확장자]
+ * 형식: [OWN_DOC_NO]_[REV_NO]_[STAGE].[확장자] 또는 [OWN_DOC_NO]_[REV_NO]_[STAGE]_[자유-파일명].[확장자]
  * 자유 파일명은 선택사항이며, 포함될 경우 언더스코어를 포함할 수 있음
  * @param fileName 검증할 파일명
  * @param availableDocNos 업로드 가능한 문서번호 목록 (선택)
@@ -76,15 +75,15 @@ export function validateFileName(
     // 언더스코어로 분리
     const parts = nameWithoutExt.split("_");
 
-    // 최소 3개 파트 필요: docNo, revNo, stage (fileName은 선택사항)
+    // 최소 3개 파트 필요: ownDocNo, revNo, stage (fileName은 선택사항)
     if (parts.length < 3) {
       return {
         valid: false,
-        error: `언더스코어(_)가 최소 2개 있어야 합니다 (현재: ${parts.length - 1}개). 형식: [DOC_NO]_[REV_NO]_[STAGE].[확장자]`,
+        error: `언더스코어(_)가 최소 2개 있어야 합니다 (현재: ${parts.length - 1}개). 형식: [OWN_DOC_NO]_[REV_NO]_[STAGE].[확장자]`,
       };
     }
 
-    // 앞에서부터 3개는 고정: docNo, revNo, stage
+    // 앞에서부터 3개는 고정: ownDocNo, revNo, stage
     const ownDocNo = parts[0];
     const revNo = parts[1];
     const stage = parts[2];
@@ -96,7 +95,7 @@ export function validateFileName(
     if (!ownDocNo || ownDocNo.trim() === "") {
       return {
         valid: false,
-        error: "문서번호(DOC_NO)가 비어있습니다",
+        error: "문서번호(OWN_DOC_NO)가 비어있습니다",
       };
     }
 
@@ -232,7 +231,7 @@ export function SwpUploadValidationDialog({
           )}
 
           {/* 파일 목록 */}
-          <ScrollArea className="h-[300px] rounded-md border p-4">
+          <div className="max-h-[400px] overflow-auto rounded-md border p-4">
             <div className="space-y-3">
               {/* 검증 성공 파일 */}
               {validFiles.length > 0 && (
@@ -310,7 +309,7 @@ export function SwpUploadValidationDialog({
                 </div>
               )}
             </div>
-          </ScrollArea>
+          </div>
 
           {/* 형식 안내 */}
           <div className="rounded-lg bg-blue-50 dark:bg-blue-950/30 border border-blue-200 dark:border-blue-800 p-3">
@@ -318,13 +317,13 @@ export function SwpUploadValidationDialog({
               올바른 파일명 형식
             </div>
             <code className="text-xs text-blue-700 dark:text-blue-300">
-              [DOC_NO]_[REV_NO]_[STAGE].[확장자]
+              [OWN_DOC_NO]_[REV_NO]_[STAGE].[확장자]
             </code>
             <div className="text-xs text-blue-600 dark:text-blue-400 mt-1">
               예: VD-DOC-001_01_IFA.pdf
             </div>
             <div className="text-xs text-blue-600 dark:text-blue-400 mt-1">
-              ※ 선택사항: [DOC_NO]_[REV_NO]_[STAGE]_[파일명].[확장자] (파일명 추가 가능)
+              ※ 선택사항: [OWN_DOC_NO]_[REV_NO]_[STAGE]_[파일명].[확장자] (파일명 추가 가능)
             </div>
             <div className="text-xs text-blue-600 dark:text-blue-400 mt-1">
               ※ 파일명에는 언더스코어(_)가 포함될 수 있습니다.
-- 
cgit v1.2.3

