tbm (작업 위험성 평가) 스키마
TBM(Tool Box Meeting) 용도로 사용되는 작업 단위 위험성 평가 스키마. 안전 관리의 독립 위험성 평가(
risk_assessment)와 달리, 개별 작업(task) 문서 하위에 저장됩니다.
저장 위치
이름만
risk_assessment이지만, 실제 관리 화면에서는 TBM(작업 단위 위험성 평가)으로 사용됩니다. 안전 관리 전체 문서인risk_assessment(risk_assessment.md)와 혼동하지 않도록 주의.
연관 문서: 근로자 의견
근로자 의견은 별도 컬렉션이 아니라 부모 작업 문서(tasks/{task_id})의 opinion 필드에 직접 저장됩니다.
문서 필드
| 필드 | 타입 | 설명 |
|---|---|---|
place |
string | 작업 장소 |
supervisor_name |
string | 담당자 (감독자) 이름 |
type |
string | 공종 |
work |
string | 세부 작업명 |
danger_level |
string | 위험도 등급 ("상" | "중" | "하") |
frequency |
string | 발생빈도 ("상" | "중" | "하") |
source |
string | 유해·위험 요인 |
preventive_measures |
string | 예방 대책 |
created_at |
timestamp | 생성 시각 |
created_by |
string | 작성자 UID |
빈도/위험도는 문자열 등급(상/중/하)입니다. 숫자 기반의
risk_assessmentitems와 형식이 다릅니다.
항목 복사 (이전 작업에서)
_copy_task_risk_assessment_from_previous 호출 시:
- 현재 작업의
created_at기준, 같은 현장에서 그 이전에 작성된 가장 최근 작업 1건을 찾음 - 해당 작업의
risk_assessment서브컬렉션 전체를 현재 작업으로 복사 - 복사 시
created_at/created_by는 복사 시점의 값으로 재설정, 나머지 필드는 그대로 유지
복사할 이전 작업이 없거나 이전 작업에 평가가 없으면 VALIDATION_011 에러.
권한
- 추가/수정/삭제/복사 모두
check_company_permission으로 회사 관리자(owner/admin/manager) 권한 필요.
예시 문서
// tasks/{task_id}/risk_assessment/{id}
{
"place": "A동 3층",
"supervisor_name": "박감독",
"type": "철근공사",
"work": "배근 작업",
"danger_level": "중",
"frequency": "중",
"source": "철근 날카로운 단면에 의한 베임",
"preventive_measures": "작업용 장갑 착용, 단부 보호캡 사용",
"created_at": "2026-04-20T08:00:00Z",
"created_by": "uid_manager"
}
// 부모 task 문서
{
"task_name": "3층 배근 작업",
"opinion": "오전에 비 예보 있어 동바리 고정 재확인 필요"
}