From 89480735275ea976e3cc1fee1d7136bdc23e5f80 Mon Sep 17 00:00:00 2001 From: hjjeong Date: Thu, 6 Nov 2025 15:12:57 +0900 Subject: [PATCH] =?UTF-8?q?2D=20=ED=99=95=EC=9E=A5=EC=9E=90=20dxf=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WEB-INF/view/partMng/partMngList.jsp | 10 +++--- .../WEB-INF/view/partMng/partMngTempList.jsp | 10 +++--- .../view/partMng/structurePopupLeft.jsp | 14 ++++---- src/com/pms/controller/PartMngController.java | 32 +++++++++++++++++-- 4 files changed, 47 insertions(+), 19 deletions(-) diff --git a/WebContent/WEB-INF/view/partMng/partMngList.jsp b/WebContent/WEB-INF/view/partMng/partMngList.jsp index 8eb8a42..7dc7f6f 100644 --- a/WebContent/WEB-INF/view/partMng/partMngList.jsp +++ b/WebContent/WEB-INF/view/partMng/partMngList.jsp @@ -325,7 +325,7 @@ String connector = person.getUserId(); // 파일 분류 및 처리 var filesByType = { '3D': [], // stp 파일 - '2D': [], // dwg 파일 + '2D': [], // dwg, dxf 파일 'PDF': [] // pdf 파일 }; @@ -343,7 +343,7 @@ String connector = person.getUserId(); if(ext === 'stp' || ext === 'step') { filesByType['3D'].push(file); - } else if(ext === 'dwg') { + } else if(ext === 'dwg' || ext === 'dxf') { filesByType['2D'].push(file); } else if(ext === 'pdf') { filesByType['PDF'].push(file); @@ -353,14 +353,14 @@ String connector = person.getUserId(); // 업로드할 파일이 있는지 확인 var totalFiles = filesByType['3D'].length + filesByType['2D'].length + filesByType['PDF'].length; if(totalFiles === 0) { - Swal.fire('업로드 가능한 파일 형식이 없습니다. (stp, dwg, pdf만 가능)'); + Swal.fire('업로드 가능한 파일 형식이 없습니다. (stp, dwg, dxf, pdf만 가능)'); return; } // 확인 메시지 var msg = '총 ' + totalFiles + '개의 파일을 업로드하시겠습니까?\n'; msg += '- 3D (STP): ' + filesByType['3D'].length + '개\n'; - msg += '- 2D (DWG): ' + filesByType['2D'].length + '개\n'; + msg += '- 2D (DWG/DXF): ' + filesByType['2D'].length + '개\n'; msg += '- PDF: ' + filesByType['PDF'].length + '개'; Swal.fire({ @@ -495,7 +495,7 @@ String connector = person.getUserId(); - +
diff --git a/WebContent/WEB-INF/view/partMng/partMngTempList.jsp b/WebContent/WEB-INF/view/partMng/partMngTempList.jsp index bb031a6..649f637 100644 --- a/WebContent/WEB-INF/view/partMng/partMngTempList.jsp +++ b/WebContent/WEB-INF/view/partMng/partMngTempList.jsp @@ -430,7 +430,7 @@ ui-jqgrid tr.jqgrow td { // 파일 분류 및 처리 var filesByType = { '3D': [], // stp 파일 - '2D': [], // dwg 파일 + '2D': [], // dwg, dxf 파일 'PDF': [] // pdf 파일 }; @@ -448,7 +448,7 @@ ui-jqgrid tr.jqgrow td { if(ext === 'stp' || ext === 'step') { filesByType['3D'].push(file); - } else if(ext === 'dwg') { + } else if(ext === 'dwg' || ext === 'dxf') { filesByType['2D'].push(file); } else if(ext === 'pdf') { filesByType['PDF'].push(file); @@ -458,14 +458,14 @@ ui-jqgrid tr.jqgrow td { // 업로드할 파일이 있는지 확인 var totalFiles = filesByType['3D'].length + filesByType['2D'].length + filesByType['PDF'].length; if(totalFiles === 0) { - Swal.fire('업로드 가능한 파일 형식이 없습니다. (stp, dwg, pdf만 가능)'); + Swal.fire('업로드 가능한 파일 형식이 없습니다. (stp, dwg, dxf, pdf만 가능)'); return; } // 확인 메시지 var msg = '총 ' + totalFiles + '개의 파일을 업로드하시겠습니까?\n'; msg += '- 3D (STP): ' + filesByType['3D'].length + '개\n'; - msg += '- 2D (DWG): ' + filesByType['2D'].length + '개\n'; + msg += '- 2D (DWG/DXF): ' + filesByType['2D'].length + '개\n'; msg += '- PDF: ' + filesByType['PDF'].length + '개'; Swal.fire({ @@ -615,7 +615,7 @@ ui-jqgrid tr.jqgrow td { - +
diff --git a/WebContent/WEB-INF/view/partMng/structurePopupLeft.jsp b/WebContent/WEB-INF/view/partMng/structurePopupLeft.jsp index 6e58b9b..3d50a16 100644 --- a/WebContent/WEB-INF/view/partMng/structurePopupLeft.jsp +++ b/WebContent/WEB-INF/view/partMng/structurePopupLeft.jsp @@ -438,7 +438,7 @@ function fn_uploadDrawingFiles(files) { // 파일 분류 및 처리 var filesByType = { '3D': [], // stp 파일 - '2D': [], // dwg 파일 + '2D': [], // dwg, dxf 파일 'PDF': [] // pdf 파일 }; @@ -458,24 +458,24 @@ function fn_uploadDrawingFiles(files) { if(ext === 'stp' || ext === 'step') { filesByType['3D'].push(file); - } else if(ext === 'dwg') { + } else if(ext === 'dwg' || ext === 'dxf') { filesByType['2D'].push(file); } else if(ext === 'pdf') { filesByType['PDF'].push(file); } } - + // 업로드할 파일이 있는지 확인 var totalFiles = filesByType['3D'].length + filesByType['2D'].length + filesByType['PDF'].length; if(totalFiles === 0) { - Swal.fire('업로드 가능한 파일 형식이 없습니다. (stp, dwg, pdf만 가능)'); + Swal.fire('업로드 가능한 파일 형식이 없습니다. (stp, dwg, dxf, pdf만 가능)'); return; } - + // 확인 메시지 var msg = '총 ' + totalFiles + '개의 파일을 업로드하시겠습니까?\n'; msg += '- 3D (STP): ' + filesByType['3D'].length + '개\n'; - msg += '- 2D (DWG): ' + filesByType['2D'].length + '개\n'; + msg += '- 2D (DWG/DXF): ' + filesByType['2D'].length + '개\n'; msg += '- PDF: ' + filesByType['PDF'].length + '개'; Swal.fire({ @@ -597,7 +597,7 @@ function fn_processDrawingUpload(bomObjId, filesByType) { - +
diff --git a/src/com/pms/controller/PartMngController.java b/src/com/pms/controller/PartMngController.java index 4515630..aa4bf02 100644 --- a/src/com/pms/controller/PartMngController.java +++ b/src/com/pms/controller/PartMngController.java @@ -2242,6 +2242,19 @@ public class PartMngController { String fileExt = CommonUtils.checkNull((String)fileInfo.get("fileExt")); long fileSize = Long.parseLong(CommonUtils.checkNull(fileInfo.get("fileSize"), "0")); + // 파일 크기가 0이면 실제 저장된 파일에서 다시 확인 + // if(fileSize == 0) { + // try { + // File savedFile = new File(storagePath + File.separator + savedFileName); + // if(savedFile.exists()) { + // fileSize = savedFile.length(); + // System.out.println("파일 크기 재확인: " + fileSize + " bytes"); + // } + // } catch(Exception e) { + // System.out.println("파일 크기 재확인 실패: " + e.getMessage()); + // } + // } + // 확장자 대문자 변환 (이미 점 없이 저장됨) fileExt = fileExt.toUpperCase(); @@ -2249,6 +2262,7 @@ public class PartMngController { System.out.println("원본 파일명: " + originalFileName); System.out.println("저장 파일명: " + savedFileName); System.out.println("확장자: " + fileExt); + System.out.println("파일 크기: " + fileSize + " bytes"); System.out.println("==================================="); // 파일 확장자에 따른 문서 타입 결정 @@ -2258,7 +2272,7 @@ public class PartMngController { if("STP".equals(fileExt) || "STEP".equals(fileExt)) { docType = "3D_CAD"; docTypeName = "3D CAD 첨부파일"; - } else if("DWG".equals(fileExt)) { + } else if("DWG".equals(fileExt) || "DXF".equals(fileExt)){ docType = "2D_DRAWING_CAD"; docTypeName = "2D(Drawing) CAD 첨부파일"; } else if("PDF".equals(fileExt)) { @@ -2432,6 +2446,19 @@ public class PartMngController { String fileExt = CommonUtils.checkNull((String)fileInfo.get("fileExt")); long fileSize = Long.parseLong(CommonUtils.checkNull(fileInfo.get("fileSize"), "0")); + // 파일 크기가 0이면 실제 저장된 파일에서 다시 확인 + // if(fileSize == 0) { + // try { + // File savedFile = new File(storagePath + File.separator + savedFileName); + // if(savedFile.exists()) { + // fileSize = savedFile.length(); + // System.out.println("파일 크기 재확인: " + fileSize + " bytes"); + // } + // } catch(Exception e) { + // System.out.println("파일 크기 재확인 실패: " + e.getMessage()); + // } + // } + // 확장자 대문자 변환 fileExt = fileExt.toUpperCase(); @@ -2439,6 +2466,7 @@ public class PartMngController { System.out.println("원본 파일명: " + originalFileName); System.out.println("저장 파일명: " + savedFileName); System.out.println("확장자: " + fileExt); + System.out.println("파일 크기: " + fileSize + " bytes"); System.out.println("=========================================="); // 파일 확장자에 따른 문서 타입 결정 @@ -2448,7 +2476,7 @@ public class PartMngController { if("STP".equals(fileExt) || "STEP".equals(fileExt)) { docType = "3D_CAD"; docTypeName = "3D CAD 첨부파일"; - } else if("DWG".equals(fileExt)) { + } else if("DWG".equals(fileExt) || "DXF".equals(fileExt)) { docType = "2D_DRAWING_CAD"; docTypeName = "2D(Drawing) CAD 첨부파일"; } else if("PDF".equals(fileExt)) {