변동이력 관리로 전환: - 도면번호 기준 변경 추적 - 리비전 업로드 시 전체 자재 저장 (차이분만 저장 방식 폐지) - 구매신청 정보 수량 기반 상속 리비전 변경 감지: - 수량/재질/크기/카테고리 변경 감지 - 변경 유형: specification_changed, quantity_changed, added, removed - 도면별 변경사항 추적 누락 도면 처리: - 리비전 업로드 시 누락된 도면 자동 감지 - 3가지 선택 옵션: 일부 업로드 / 도면 삭제 / 취소 - 구매신청 여부에 따라 다른 처리 (재고품 vs 숨김) 자재 상태 관리: - revision_status 컬럼 추가 (active/inventory/deleted_not_purchased/changed) - 재고품: 연노랑색 배경, '재고품' 배지 - 변경됨: 파란색 테두리, '변경됨' 배지 - 삭제됨: 자동 숨김 구매신청 정보 상속: - 수량 기반 상속 (그룹별 개수만큼만) - Rev.0에서 3개 구매 → Rev.1에서 처음 3개만 상속, 추가분은 미구매 - 도면번호 정확히 일치하는 경우에만 상속 기타 개선: - 구매신청 관리 페이지 수량 표시 개선 (3 EA, 소수점 제거) - 도면번호/라인번호 파싱 및 저장 (DWG_NAME, LINE_NUM 컬럼) - SPECIAL 카테고리 도면번호 표시 - 마이그레이션 스크립트 추가 (29_add_revision_status.sql)
21 lines
1.1 KiB
SQL
21 lines
1.1 KiB
SQL
-- 리비전 관리 개선: 자재 상태 추적
|
|
-- 리비전 업로드 시 삭제된 자재의 상태를 추적
|
|
|
|
-- materials 테이블에 revision_status 컬럼 추가
|
|
ALTER TABLE materials ADD COLUMN IF NOT EXISTS revision_status VARCHAR(20) DEFAULT 'active';
|
|
-- 가능한 값: 'active', 'inventory', 'deleted_not_purchased', 'changed'
|
|
|
|
-- revision_status 설명:
|
|
-- 'active': 정상 활성 자재 (기본값)
|
|
-- 'inventory': 재고품 (구매신청 후 리비전에서 삭제됨 - 연노랑색 표시)
|
|
-- 'deleted_not_purchased': 구매신청 전 삭제됨 (숨김 처리)
|
|
-- 'changed': 변경된 자재 (추가 구매 필요)
|
|
|
|
-- 인덱스 추가 (성능 최적화)
|
|
CREATE INDEX IF NOT EXISTS idx_materials_revision_status ON materials(revision_status);
|
|
CREATE INDEX IF NOT EXISTS idx_materials_drawing_name ON materials(drawing_name);
|
|
CREATE INDEX IF NOT EXISTS idx_materials_line_no ON materials(line_no);
|
|
|
|
COMMENT ON COLUMN materials.revision_status IS '리비전 자재 상태: active(활성), inventory(재고품), deleted_not_purchased(삭제됨), changed(변경됨)';
|
|
|