feat(schedule): 공정표 제품유형 + 표준공정 자동생성 백엔드

- product_types 참조 테이블 + projects.product_type_id FK (tkuser 마이그레이션)
- schedule_entries에 work_type_id, risk_assessment_id, source 컬럼 추가
- schedule_phases에 product_type_id 추가 (phase 오염 방지)
- generateFromTemplate: tksafety 템플릿 기반 공정 자동 생성 (트랜잭션)
- phase 매칭 3단계 우선순위 (전용→범용→신규)
- 간트 데이터 NULL 날짜 guard 추가
- system1 startup 마이그레이션 러너 추가

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Hyungi Ahn
2026-03-26 15:39:12 +09:00
parent 7abf62620b
commit d6dd03a52f
10 changed files with 264 additions and 27 deletions

View File

@@ -0,0 +1,22 @@
-- 제품유형 참조 테이블
CREATE TABLE IF NOT EXISTS product_types (
id INT AUTO_INCREMENT PRIMARY KEY,
code VARCHAR(20) NOT NULL UNIQUE,
name VARCHAR(100) NOT NULL,
display_order INT DEFAULT 0,
is_active BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 초기 데이터
INSERT IGNORE INTO product_types (code, name, display_order) VALUES
('PKG', 'Package', 1),
('VESSEL', '압력용기', 2),
('HX', '열교환기', 3),
('SKID', 'Skid', 4);
-- projects에 product_type_id FK 추가
ALTER TABLE projects ADD COLUMN product_type_id INT NULL;
ALTER TABLE projects ADD CONSTRAINT fk_project_product_type
FOREIGN KEY (product_type_id) REFERENCES product_types(id)