Merge pull request '2D 확장자 dxf 추가' (#55) from feature/20251104-hj into main

Reviewed-on: #55
This commit was merged in pull request #55.
This commit is contained in:
2025-11-06 06:21:21 +00:00
4 changed files with 47 additions and 19 deletions

View File

@@ -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();
<input type="button" value="도면 다중 업로드" class="plm_btns" id="btnDrawingUpload">
<input type="button" value="조회" class="plm_btns" id="btnSearch">
<input type="button" value="Excel Download" class="plm_btns" id="btnExcel">
<input type="file" id="drawingFiles" multiple style="display:none;" accept=".stp,.step,.dwg,.pdf">
<input type="file" id="drawingFiles" multiple style="display:none;" accept=".stp,.step,.dwg,.dxf,.pdf">
</div>
</div>
<div id="plmSearchZon">

View File

@@ -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 {
<input type="button" value="등록(Excel Upload)" class="plm_btns" onclick="openExcelPopup();">
<input type="button" value="도면 다중 업로드" class="plm_btns" id="btnDrawingUpload">
<input type="button" value="조회" class="plm_btns" id="btnSearch">
<input type="file" id="drawingFiles" multiple style="display:none;" accept=".stp,.step,.dwg,.pdf">
<input type="file" id="drawingFiles" multiple style="display:none;" accept=".stp,.step,.dwg,.dxf,.pdf">
</div>
</div>

View File

@@ -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) {
</span>
<input type="button" value="Excel Download" class="plm_btns structure_btn" id="btnExcel" style="float:right;">
<input type="button" value="도면 다중 업로드" class="plm_btns structure_btn" id="btnDrawingUpload" style="float:right; margin-right:5px;">
<input type="file" id="drawingFiles" multiple style="display:none;" accept=".stp,.step,.dwg,.pdf">
<input type="file" id="drawingFiles" multiple style="display:none;" accept=".stp,.step,.dwg,.dxf,.pdf">
</div>
<div id="structureGrid"></div>
</div>

View File

@@ -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)) {