2 Commits

48 changed files with 24 additions and 36 deletions

View File

@@ -1,30 +0,0 @@
# 📝 작업 보고서 (2026-06-15)
## 1. 서버 및 개발 환경 설정
- **백엔드 서버 구동**: 3000번 포트(DB 서버) 정상 구동 완료.
- **프론트엔드 서버 구동**: 8080번 포트 정상 구동 완료.
- **브랜치 전환**: \`db_setting\` 브랜치로 전환 및 최신 코드 Pull 완료.
## 2. 데이터베이스 정제 및 보강 (Surgical Update)
- **사용자 정보(system_users) 업데이트**:
- 엑셀(\`system_User (20260615).xlsx\`) 기반 987건 신규 입력.
- 기존 백업 데이터(212건)와 병합하여 총 1,199건의 사용자 DB 구축.
- **PC 자산(asset_pc) 데이터 입력**:
- 엑셀(\`asset_pc (2026.06.15).xlsx\`) 기반 1,030건 입력 완료.
- **용량 정제**: 괄호 제거 및 4자리 GB 단위를 TB로 자동 변환 (예: 1863GB -> 1.86TB).
- **구매일 보강**: 연도 데이터에 월/일 추가 (\`YYYY-12-01\` 형식으로 통일).
- **자산번호 재매핑**: \`PC-YYYY12-NNNN\` 형식으로 전수 재부여 및 기존 번호와의 연속성 유지.
## 3. 부서 및 자산 유형 정상화
- **부서명 통합**: '총괄기획실', '기술개발센터', '한맥', '장헌', 'PTC', '현타' 등을 제외한 1,045건의 부서명을 **'삼안'**으로 일괄 통합.
- **자산 유형 교정 (핵심)**:
- 엑셀의 오기입과 상관없이 **사번(emp_no) 존재 여부**를 기준으로 자산 유형을 재분류.
- 사번이 있는 991건 -> **개인PC**로 정상화.
- 사번이 없는 39건 -> **공용PC**로 지정 및 사용자명 '공용'으로 정리.
## 4. 운영 규칙 업데이트
- **README.md 수정**: 'DB 삭제 및 초기화 절대 엄금 (Rule 5)' 항목 추가.
---
**보고자**: Gemini CLI
**상태**: 소스 코드 수정 없음, 데이터베이스 정제 완료.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
label/LabelPrinter.exe Normal file

Binary file not shown.

BIN
label/Newtonsoft.Json.dll Normal file

Binary file not shown.

BIN
label/WebQuery.dll Normal file

Binary file not shown.

4
label/config.ini Normal file
View File

@@ -0,0 +1,4 @@
[PRINT]
FONT=8
LEFT=143
TOP=40

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

7
label/tmp/file_1.txt Normal file
View File

@@ -0,0 +1,7 @@
자산번호 : 210312
자산명 : 가을-PC(i5-12400F)
공급사 : (주)가을디에스
자산위치 : 지반부
관리부서 : 전산
사용자 : 박노석
취득일자 : 2024-08-05

Binary file not shown.

View File

@@ -1,6 +1,6 @@
import { state, saveAsset, deleteAsset } from '../../core/state';
import { ASSET_SCHEMA, UI_TEXT } from '../../core/schema';
import { calculatePcScoreDeductive, getPcGrade } from '../../core/utils';
import { calculatePcScoreDeductive, getPcGrade, API_BASE_URL } from '../../core/utils';
import {
generateOptionsHTML,
setFieldValue,
@@ -728,7 +728,7 @@ class HwAssetModal extends BaseModal {
private async fetchMapConfig() {
try {
const res = await fetch(`http://${location.hostname}:3000/api/maps`);
const res = await fetch(`${API_BASE_URL}/api/maps`);
this.dynamicMapConfig = await res.json();
} catch (err) { console.error('Failed to fetch map config:', err); }
}
@@ -925,7 +925,7 @@ class HwAssetModal extends BaseModal {
private async fetchMasterComponents(): Promise<void> {
try {
const res = await fetch(`http://${location.hostname}:3000/api/hardware-components`);
const res = await fetch(`${API_BASE_URL}/api/hardware-components`);
this.masterComponents = await res.json();
} catch (err) { console.error('Failed to fetch master components:', err); }
}

View File

@@ -537,6 +537,8 @@
background-color: var(--canvas-soft-2);
border-radius: 4px;
overflow: hidden;
max-width: 100%;
max-height: 100%;
}
.layout-map-container.readonly {
@@ -546,12 +548,15 @@
.image-marker-wrapper {
position: relative;
display: inline-block;
max-width: 100%;
max-height: 100%;
}
.layout-map-img {
display: block;
max-width: 100%;
max-height: 75vh;
max-height: 70vh;
object-fit: contain;
user-select: none;
-webkit-user-drag: none;
}

View File

@@ -1,17 +1,19 @@
import { defineConfig } from 'vite';
import { resolve } from 'path';
const proxyTarget = process.env.VITE_DEV_PROXY_TARGET || 'http://localhost:3000';
export default defineConfig({
server: {
port: 8080,
host: true, // Listen on all local IPs
proxy: {
'/api': {
target: 'http://localhost:3000',
target: proxyTarget,
changeOrigin: true,
},
'/uploads': {
target: 'http://localhost:3000',
target: proxyTarget,
changeOrigin: true,
}
}

Binary file not shown.

Binary file not shown.