[Upload] 엑셀 대량 업로드 워크플로우 및 자산코드 자동 생성 #14

Open
opened 2026-04-23 20:44:38 +09:00 by JooWangi · 1 comment
Collaborator

주요 변경 사항

  • 통합 엑셀 업로드 시스템
    • 9개 자산 카테고리(HW, SW, 클라우드, 도메인)를 아우르는 통합 엑셀 양식 파싱 엔진 구현
  • 업로드 데이터 검토 프로세스 (UploadPreviewModal)
    • 업로드 전 데이터를 미리 확인하고 검증할 수 있는 중간 검토 모달 도입
    • 시트별 데이터 요약 및 상세 내역 확인 기능 제공
  • 자산코드 일괄 생성 기능
    • 하드웨어 자산 대상, 카테고리별 접두사 및 구매연월 기반 자동 번호 부여 시스템 구축
    • 서버 API와 연동된 중복 방지 및 자동 증분 로직 적용
  • 안정성 및 네트워크 최적화
    • 대량 데이터 처리를 위한 배치 저장 API(Port 3000) 연동 및 절대 경로 통신 적용
### 주요 변경 사항 - **통합 엑셀 업로드 시스템** - 9개 자산 카테고리(HW, SW, 클라우드, 도메인)를 아우르는 통합 엑셀 양식 파싱 엔진 구현 - **업로드 데이터 검토 프로세스 (`UploadPreviewModal`)** - 업로드 전 데이터를 미리 확인하고 검증할 수 있는 중간 검토 모달 도입 - 시트별 데이터 요약 및 상세 내역 확인 기능 제공 - **자산코드 일괄 생성 기능** - 하드웨어 자산 대상, 카테고리별 접두사 및 구매연월 기반 자동 번호 부여 시스템 구축 - 서버 API와 연동된 중복 방지 및 자동 증분 로직 적용 - **안정성 및 네트워크 최적화** - 대량 데이터 처리를 위한 배치 저장 API(Port 3000) 연동 및 절대 경로 통신 적용
Owner

🚀 작업 내용 요약 (엑셀 양식 고도화 및 DB/UI 연동 최적화)

최신 엑셀 양식 체계 구축 및 데이터 정합성 보장을 위한 전면 수정을 완료하였습니다.

1. 엑셀 양식 고도화 (exceljs 도입)

  • 실제 드롭다운 구현: 엑셀 파일 내에서 '법인', '조직', '설치위치' 등을 목록에서 선택할 수 있도록 데이터 유효성 검사 적용.
  • 종속 드롭다운 적용: 건물을 선택하면 해당 건물의 상세위치(호수) 목록만 나타나도록 INDIRECT 함수와 이름 정의(Named Range) 연동.
  • 시트별 맞춤 설정:
    • 각 시트별로 선택 가능한 '유형' 목록(예: 서버 시트는 서버/PC만) 차별화.
    • 전산비품/모바일 시트는 '보관위치'를 자유롭게 타이핑할 수 있도록 드롭다운 제외.

2. DB 스키마 확장 및 마이그레이션 자동화

  • 필드 보강: user_name (사용자), mainboard (메인보드), detail_location (상세위치) 컬럼 추가.
  • 자동 마이그레이션: server.js 실행 시 실제 DB 구조를 직접 조회하여 누락된 컬럼을 ALTER TABLE로 강제 생성하도록 로직 보강.

3. 업로드 프리뷰 모달 UI/UX 최적화

  • 스마트 편집: 위치/상세위치 셀을 실제 웹 Select Box로 교체하여 실시간 동기화 연동.
  • 시각적 가이드:
    • 수정 가능 텍스트 폰트 색상을 #FF3D00 (다홍색)으로 고정.
    • 자산번호 수정 불가 처리 (contenteditable="false", #111111).
    • 지능형 레드 박스: 초기 로딩 시에는 클린 상태 유지, '일괄 생성' 실행 후에도 번호가 비어있는 항목만 빨간 테두리로 강조.

4. 데이터 무결성 로직

  • 서버 시트 특수 처리: 서버 시트에서 업로드된 데이터는 유형 선택과 관계없이 상세유형(상세용도)을 '서버'로 강제 고정하여 저장.
  • 누락 필드 보강: 담당자(부), 모델명, 용도, 상세, 시작일 등 모든 하드웨어/소프트웨어 필드 엑셀-DB 1:1 매칭 완료.

해당 내용은 Upload 브랜치에 커밋 및 푸시 완료되었습니다. (Commit: d711af7)

### 🚀 작업 내용 요약 (엑셀 양식 고도화 및 DB/UI 연동 최적화) 최신 엑셀 양식 체계 구축 및 데이터 정합성 보장을 위한 전면 수정을 완료하였습니다. #### **1. 엑셀 양식 고도화 (exceljs 도입)** * **실제 드롭다운 구현**: 엑셀 파일 내에서 '법인', '조직', '설치위치' 등을 목록에서 선택할 수 있도록 데이터 유효성 검사 적용. * **종속 드롭다운 적용**: 건물을 선택하면 해당 건물의 상세위치(호수) 목록만 나타나도록 `INDIRECT` 함수와 이름 정의(Named Range) 연동. * **시트별 맞춤 설정**: * 각 시트별로 선택 가능한 '유형' 목록(예: 서버 시트는 서버/PC만) 차별화. * 전산비품/모바일 시트는 '보관위치'를 자유롭게 타이핑할 수 있도록 드롭다운 제외. #### **2. DB 스키마 확장 및 마이그레이션 자동화** * **필드 보강**: `user_name` (사용자), `mainboard` (메인보드), `detail_location` (상세위치) 컬럼 추가. * **자동 마이그레이션**: `server.js` 실행 시 실제 DB 구조를 직접 조회하여 누락된 컬럼을 `ALTER TABLE`로 강제 생성하도록 로직 보강. #### **3. 업로드 프리뷰 모달 UI/UX 최적화** * **스마트 편집**: 위치/상세위치 셀을 실제 웹 Select Box로 교체하여 실시간 동기화 연동. * **시각적 가이드**: * 수정 가능 텍스트 폰트 색상을 `#FF3D00` (다홍색)으로 고정. * 자산번호 수정 불가 처리 (`contenteditable="false"`, #111111). * **지능형 레드 박스**: 초기 로딩 시에는 클린 상태 유지, '일괄 생성' 실행 후에도 번호가 비어있는 항목만 빨간 테두리로 강조. #### **4. 데이터 무결성 로직** * **서버 시트 특수 처리**: 서버 시트에서 업로드된 데이터는 유형 선택과 관계없이 상세유형(상세용도)을 '서버'로 강제 고정하여 저장. * **누락 필드 보강**: 담당자(부), 모델명, 용도, 상세, 시작일 등 모든 하드웨어/소프트웨어 필드 엑셀-DB 1:1 매칭 완료. 해당 내용은 `Upload` 브랜치에 커밋 및 푸시 완료되었습니다. (Commit: `d711af7`)
Sign in to join this conversation.
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Taehoon/ITAM#14