Commit Graph

11 Commits

Author SHA1 Message Date
hyungi
64fd9ad3d2 feat: BOM 관리 시스템 대폭 개선 및 Docker 배포 가이드 추가
Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled
- 🎨 UI/UX 개선: 데본씽크 스타일 모던 디자인 적용
- 📁 컴포넌트 구조 개선: 폴더별 체계적 관리 (common/, bom/, materials/)
- 🔧 BOM 관리 페이지 리팩토링: NewMaterialsPage → BOMManagementPage + 카테고리별 컴포넌트 분리
- 💾 구매신청 기능 개선: 선택된 자재 비활성화, 제목 편집, 엑셀 다운로드
- 📊 자재 표시 개선: 타입/서브타입 컬럼 정리, 상세 정보 복원
- 🐛 CSS 빌드 오류 수정: NewMaterialsPage.css 문법 오류 해결
- 📚 문서화: PAGES_GUIDE.md 추가, README에 Docker 캐시 문제 해결 가이드 추가
- 🔄 API 개선: 구매신청 자재 조회, 제목 수정 엔드포인트 추가
2025-10-16 12:45:23 +09:00
Hyungi Ahn
e27020ae9b feat: 구매신청 기능 완성 및 SUPPORT/SPECIAL 카테고리 개선
- 모든 카테고리 구매신청 기능 완성 (PIPE, FITTING, VALVE, FLANGE, GASKET, BOLT, SUPPORT, SPECIAL, UNKNOWN)
- 구매신청 완료 항목: 회색 배경, 체크박스 비활성화, '구매신청완료' 배지 표시
- 전체 선택/구매신청 시 이미 구매신청된 항목 자동 제외
- 구매신청 quantity 타입 에러 수정 (문자열 -> 정수 변환)

SUPPORT 카테고리 (구 U-BOLT):
- U-BOLT -> SUPPORT로 카테고리명 변경
- 클램프, 유볼트, 우레탄블럭슈 분류 개선
- 테이블 헤더: 선택-종류-타입-크기-디스크립션-추가요구-사용자요구-수량
- 크기 정보 main_nom 필드에서 가져오기 (배관 인치)
- 엑셀 내보내기 형식 조정

SPECIAL 카테고리:
- SPECIAL 키워드 자재 자동 분류 (SPECIFICATION 제외)
- 파일 업로드 시 SPECIAL 카테고리 처리 로직 추가
- 도면번호 필드 추가 (drawing_name, line_no)
- 타입 필드: 크기/스케줄/재질 제외한 핵심 정보 표시
- 엑셀 DWG_NAME, LINE_NUM 컬럼 파싱 및 저장

FITTING 카테고리:
- 테이블 컬럼 너비 조정 (선택 2%, 종류 8.5%, 수량 12%)

구매신청 관리:
- 엑셀 재다운로드 형식 개선 (BOM 페이지와 동일한 형식)
- 그룹화된 자재 정보 포함하여 저장 및 다운로드
2025-10-14 12:39:25 +09:00
Hyungi Ahn
e468663386 🔧 User 모델 ID 필드명 수정
Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled
- id → user_id (실제 User 모델의 primary key)
- 모든 참조를 user_id로 통일
- 회원가입 완전 수정 완료
2025-10-14 07:43:56 +09:00
Hyungi Ahn
745ecaf3a3 🔧 거부 쿼리 user_id 컬럼명 수정
Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled
- id → user_id
- access_level='pending' → is_active=FALSE
- 모든 쿼리가 실제 DB 스키마에 맞춤
2025-10-14 07:42:51 +09:00
Hyungi Ahn
5a3ee33e9b 🔧 승인 대기 로직 수정 - is_active=False 사용
Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled
- access_level='pending' 대신 is_active=False 사용
- access_level='worker'로 설정 (승인 시 변경 가능)
- 승인 대기 쿼리: is_active=FALSE로 조회
- 승인 쿼리: user_id 컬럼명 수정
- 거부 쿼리도 user_id 기준으로 수정 필요

로그인 제한:
- 로그인 API에서 이미 is_active 체크 중
- 비활성 계정은 로그인 불가
- 관리자 승인 후에만 로그인 가능
2025-10-14 07:42:14 +09:00
Hyungi Ahn
b1bfd1a4c0 🔧 User 모델 필드명 수정
Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled
- hashed_password → password
- User 모델의 실제 필드명에 맞춤
- 회원가입 기능 최종 수정
2025-10-14 07:38:58 +09:00
Hyungi Ahn
39917be585 🔧 create_user 파라미터를 딕셔너리로 변경
Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled
- create_user(user_data: Dict) 형식에 맞춤
- 키워드 인자 → 딕셔너리로 변경
- 회원가입 기능 정상 작동
2025-10-14 07:37:02 +09:00
Hyungi Ahn
50eab5ac5f 🔧 비밀번호 해싱을 bcrypt로 직접 처리
Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled
- AuthService.hash_password() 메서드가 없어서 직접 bcrypt 사용
- bcrypt.hashpw()로 비밀번호 해싱
- 회원가입 기능 정상 작동
2025-10-14 07:35:15 +09:00
Hyungi Ahn
fb46902b85 🔧 AuthService db 파라미터 추가
Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled
- AuthService() → AuthService(db)
- 회원가입 기능 정상 작동
2025-10-14 07:33:20 +09:00
Hyungi Ahn
e50f0887ad 🔧 UserRepository 메서드명 수정
Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled
- get_user_by_username → find_by_username
- 실제 models.py의 메서드명에 맞춤
- 회원가입 기능 정상 작동
2025-10-14 07:30:56 +09:00
Hyungi Ahn
e14f8b69c7 회원가입 신청 기능 완성 (간소화)
Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled
백엔드:
- signup_routes.py 신규 생성
- POST /auth/signup-request: 회원가입 신청
- GET /auth/signup-requests: 승인 대기 목록 (관리자)
- POST /auth/approve-signup/{id}: 승인 (관리자)
- DELETE /auth/reject-signup/{id}: 거부 (관리자)
- main.py에 signup_router 등록

프론트엔드:
- SimpleLogin에 회원가입 폼 추가
- 필수 항목만: 사용자명, 비밀번호, 비밀번호 확인, 이름
- 간단하고 깔끔한 UI
- 비밀번호 일치 검사 및 최소 길이 검사
- 제출 후 승인 대기 안내 메시지
2025-10-14 07:28:06 +09:00