🔧 볼트 재질 정보 개선 및 A320/A194M 패턴 지원
Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled
Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled
- bolt_classifier.py: A320/A194M 조합 패턴 처리 로직 추가 - material_grade_extractor.py: A320/A194M 패턴 추출 개선 - integrated_classifier.py: SPECIAL, U_BOLT 카테고리 우선 분류 - 데이터베이스: 492개 볼트의 material_grade를 완전한 형태로 업데이트 - A320/A194M GR B8/8: 78개 - A193/A194 GR B7/2H: 414개 - 프론트엔드: BOLT 카테고리 전용 UI (길이 표시) - Excel 내보내기: BOLT용 컬럼 순서 및 재질 정보 개선 - SPECIAL, U_BOLT 카테고리 지원 추가
This commit is contained in:
@@ -1160,6 +1160,50 @@ CREATE INDEX IF NOT EXISTS idx_user_activity_logs_activity_type ON user_activity
|
||||
CREATE INDEX IF NOT EXISTS idx_user_activity_logs_created_at ON user_activity_logs(created_at);
|
||||
CREATE INDEX IF NOT EXISTS idx_user_activity_logs_target ON user_activity_logs(target_type, target_id);
|
||||
|
||||
-- ================================
|
||||
-- SPECIAL 카테고리 지원 테이블
|
||||
-- ================================
|
||||
|
||||
-- SPECIAL 키워드 패턴 테이블
|
||||
CREATE TABLE IF NOT EXISTS special_classification_patterns (
|
||||
id SERIAL PRIMARY KEY,
|
||||
pattern_type VARCHAR(20) NOT NULL, -- 'KEYWORD', 'REGEX', 'EXACT'
|
||||
pattern_value VARCHAR(200) NOT NULL,
|
||||
description TEXT,
|
||||
priority INTEGER DEFAULT 1, -- 우선순위 (낮을수록 높은 우선순위)
|
||||
is_active BOOLEAN DEFAULT TRUE,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- SPECIAL 자재 상세 정보 테이블 (도면 업로드 관련)
|
||||
CREATE TABLE IF NOT EXISTS special_material_details (
|
||||
id SERIAL PRIMARY KEY,
|
||||
material_id INTEGER REFERENCES materials(id) ON DELETE CASCADE,
|
||||
file_id INTEGER REFERENCES files(id) ON DELETE CASCADE,
|
||||
|
||||
-- 도면 정보
|
||||
drawing_number VARCHAR(100), -- 도면 번호
|
||||
drawing_revision VARCHAR(20), -- 도면 리비전
|
||||
drawing_uploaded BOOLEAN DEFAULT FALSE, -- 도면 업로드 여부
|
||||
drawing_file_path TEXT, -- 도면 파일 경로
|
||||
|
||||
-- 특수 요구사항
|
||||
special_requirements TEXT, -- 특수 제작 요구사항
|
||||
manufacturing_notes TEXT, -- 제작 참고사항
|
||||
approval_required BOOLEAN DEFAULT TRUE, -- 승인 필요 여부
|
||||
approved_by VARCHAR(100), -- 승인자
|
||||
approved_at TIMESTAMP, -- 승인 일시
|
||||
|
||||
-- 분류 정보
|
||||
classification_confidence FLOAT DEFAULT 1.0,
|
||||
classification_reason TEXT, -- 분류 근거
|
||||
|
||||
-- 관리 정보
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- ================================
|
||||
-- 추가 성능 최적화 인덱스 (16_performance_indexes.sql)
|
||||
-- ================================
|
||||
@@ -1181,6 +1225,25 @@ CREATE INDEX IF NOT EXISTS idx_materials_quantity_desc ON materials(quantity DES
|
||||
CREATE INDEX IF NOT EXISTS idx_materials_unverified ON materials(classified_category, classification_confidence) WHERE is_verified = false;
|
||||
CREATE INDEX IF NOT EXISTS idx_materials_low_confidence ON materials(file_id, classified_category) WHERE classification_confidence < 0.8;
|
||||
|
||||
-- SPECIAL 카테고리 전용 인덱스
|
||||
CREATE INDEX IF NOT EXISTS idx_materials_special_category ON materials(classified_category) WHERE classified_category = 'SPECIAL';
|
||||
CREATE INDEX IF NOT EXISTS idx_special_patterns_type ON special_classification_patterns(pattern_type);
|
||||
CREATE INDEX IF NOT EXISTS idx_special_patterns_active ON special_classification_patterns(is_active);
|
||||
CREATE INDEX IF NOT EXISTS idx_special_details_material ON special_material_details(material_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_special_details_drawing_uploaded ON special_material_details(drawing_uploaded);
|
||||
|
||||
-- ================================
|
||||
-- SPECIAL 카테고리 기본 데이터 삽입
|
||||
-- ================================
|
||||
|
||||
-- 기본 SPECIAL 키워드 패턴 삽입
|
||||
INSERT INTO special_classification_patterns (pattern_type, pattern_value, description, priority) VALUES
|
||||
('KEYWORD', 'SPECIAL', '영문 SPECIAL 키워드', 1),
|
||||
('KEYWORD', '스페셜', '한글 스페셜 키워드', 1),
|
||||
('KEYWORD', 'SPEC', '영문 SPEC 축약어', 2),
|
||||
('KEYWORD', 'SPL', '영문 SPL 축약어', 2)
|
||||
ON CONFLICT DO NOTHING;
|
||||
|
||||
-- 분류 관련 인덱스 (05_add_classification_columns.sql)
|
||||
CREATE INDEX IF NOT EXISTS idx_materials_subcategory ON materials(subcategory);
|
||||
CREATE INDEX IF NOT EXISTS idx_materials_standard ON materials(standard);
|
||||
|
||||
Reference in New Issue
Block a user