feat: complete 5 GAP requirements — auto counters, inspection alarms, machine specs, responsive CSS
All checks were successful
Deploy to Production / deploy (push) Successful in 1m8s
All checks were successful
Deploy to Production / deploy (push) Successful in 1m8s
- GAP 2+4: auto_time/date counter auto-computation with manual update blocking - GAP 3: auto-generate alarms on inspection completion for failed items - GAP 1: machine spec fields (manufacturer, location, capacity, power, description) - GAP 5: enhanced mobile responsive CSS (768px/480px breakpoints) - Alembic migration for new columns, seed data enriched with specs and date-type parts
This commit is contained in:
@@ -78,12 +78,30 @@ MACHINES = {
|
||||
"name": "CVD Chamber #1",
|
||||
"equipment_code": "SF-CVD-001",
|
||||
"model": "AMAT Centura 5200",
|
||||
"manufacturer": "Applied Materials",
|
||||
"location": "클린룸 Bay 3",
|
||||
"rated_capacity": "200mm 웨이퍼",
|
||||
"power_rating": "30kW",
|
||||
"description": "화학기상증착 장비. SiO2, Si3N4 박막 증착용.",
|
||||
},
|
||||
{
|
||||
"name": "Etcher DRY-A",
|
||||
"equipment_code": "SF-ETCH-001",
|
||||
"model": "LAM 9600",
|
||||
"manufacturer": "Lam Research",
|
||||
"location": "클린룸 Bay 5",
|
||||
"rated_capacity": "200mm 웨이퍼",
|
||||
"power_rating": "25kW",
|
||||
"description": "건식 식각 장비. Poly-Si, Metal 식각용.",
|
||||
},
|
||||
{"name": "Etcher DRY-A", "equipment_code": "SF-ETCH-001", "model": "LAM 9600"},
|
||||
{
|
||||
"name": "Sputter MC-200",
|
||||
"equipment_code": "SF-SPT-001",
|
||||
"model": "Ulvac SH-450",
|
||||
"manufacturer": "ULVAC",
|
||||
"location": "클린룸 Bay 7",
|
||||
"rated_capacity": "Ti/TiN 300mm",
|
||||
"power_rating": "20kW",
|
||||
},
|
||||
],
|
||||
"enkid": [
|
||||
@@ -91,16 +109,29 @@ MACHINES = {
|
||||
"name": "CNC 선반 #1",
|
||||
"equipment_code": "EK-CNC-001",
|
||||
"model": "두산 LYNX 220",
|
||||
"manufacturer": "두산공작기계",
|
||||
"location": "1공장 A라인",
|
||||
"rated_capacity": "최대 가공경 220mm",
|
||||
"power_rating": "15kW (주축 모터)",
|
||||
"description": "2축 CNC 선반. 알루미늄/스틸 가공용.",
|
||||
},
|
||||
{
|
||||
"name": "프레스 500T",
|
||||
"equipment_code": "EK-PRS-001",
|
||||
"model": "현대위아 HF-500",
|
||||
"manufacturer": "현대위아",
|
||||
"location": "1공장 B라인",
|
||||
"rated_capacity": "500톤",
|
||||
"power_rating": "37kW",
|
||||
},
|
||||
{
|
||||
"name": "용접 로봇 #1",
|
||||
"equipment_code": "EK-WLD-001",
|
||||
"model": "화낙 ARC Mate 120",
|
||||
"manufacturer": "FANUC",
|
||||
"location": "2공장 용접 셀 1",
|
||||
"rated_capacity": "6축 120kg 가반하중",
|
||||
"power_rating": "6kVA",
|
||||
},
|
||||
],
|
||||
"alpet": [
|
||||
@@ -108,16 +139,29 @@ MACHINES = {
|
||||
"name": "반응기 R-101",
|
||||
"equipment_code": "AP-RCT-101",
|
||||
"model": "Custom Reactor 5000L",
|
||||
"manufacturer": "한화솔루션 엔지니어링",
|
||||
"location": "1플랜트 반응 구역",
|
||||
"rated_capacity": "5,000L (SUS316L)",
|
||||
"power_rating": "22kW (교반기)",
|
||||
"description": "교반식 배치 반응기. HCl 합성 공정.",
|
||||
},
|
||||
{
|
||||
"name": "증류탑 D-201",
|
||||
"equipment_code": "AP-DST-201",
|
||||
"model": "Sulzer Packed Tower",
|
||||
"manufacturer": "Sulzer",
|
||||
"location": "1플랜트 분리 구역",
|
||||
"rated_capacity": "처리량 2,000 kg/h",
|
||||
"power_rating": "리보일러 150kW",
|
||||
},
|
||||
{
|
||||
"name": "열교환기 E-301",
|
||||
"equipment_code": "AP-HEX-301",
|
||||
"model": "Alfa Laval M10-BW",
|
||||
"manufacturer": "Alfa Laval",
|
||||
"location": "1플랜트 유틸리티",
|
||||
"rated_capacity": "열전달 500kW",
|
||||
"power_rating": "펌프 7.5kW",
|
||||
},
|
||||
],
|
||||
}
|
||||
@@ -183,6 +227,16 @@ PARTS = {
|
||||
"auto_time",
|
||||
5000,
|
||||
),
|
||||
(
|
||||
"교정 인증서",
|
||||
"CAL-SPT-01",
|
||||
"인증",
|
||||
"date",
|
||||
365,
|
||||
80,
|
||||
"manual",
|
||||
0,
|
||||
),
|
||||
],
|
||||
},
|
||||
"enkid": {
|
||||
@@ -262,6 +316,16 @@ PARTS = {
|
||||
"auto_time",
|
||||
1500,
|
||||
),
|
||||
(
|
||||
"안전 검사 인증",
|
||||
"CERT-WLD-01",
|
||||
"인증",
|
||||
"date",
|
||||
180,
|
||||
85,
|
||||
"manual",
|
||||
0,
|
||||
),
|
||||
],
|
||||
},
|
||||
"alpet": {
|
||||
@@ -323,6 +387,16 @@ PARTS = {
|
||||
15000,
|
||||
),
|
||||
("압력 센서", "PS-HEX-01", "계측", "hours", 5000, 90, "auto_time", 2000),
|
||||
(
|
||||
"내압 검사 인증",
|
||||
"CERT-HEX-01",
|
||||
"인증",
|
||||
"date",
|
||||
730,
|
||||
85,
|
||||
"manual",
|
||||
0,
|
||||
),
|
||||
],
|
||||
},
|
||||
}
|
||||
@@ -654,6 +728,7 @@ async def seed():
|
||||
machine_map[(tenant_id, m["name"])] = row.id
|
||||
continue
|
||||
machine_id = uuid.uuid4()
|
||||
install_date = NOW - timedelta(days=365 * 2)
|
||||
db.add(
|
||||
Machine(
|
||||
id=machine_id,
|
||||
@@ -661,6 +736,12 @@ async def seed():
|
||||
name=m["name"],
|
||||
equipment_code=m["equipment_code"],
|
||||
model=m["model"],
|
||||
manufacturer=m.get("manufacturer"),
|
||||
installation_date=install_date,
|
||||
location=m.get("location"),
|
||||
rated_capacity=m.get("rated_capacity"),
|
||||
power_rating=m.get("power_rating"),
|
||||
description=m.get("description"),
|
||||
)
|
||||
)
|
||||
machine_map[(tenant_id, m["name"])] = machine_id
|
||||
|
||||
Reference in New Issue
Block a user