task_summary 스키마 (자재/폐기물 월별 집계)
작업(
tasks/{tid}) 하위의 자재 사용량(material_usage)과 폐기물 배출량(waste_amount) 서브컬렉션이 변경될 때 트리거가 자동으로 갱신하는 월별 집계 문서.
저장 위치
- 문서 ID:
YYYYMM(예:202604)
문서 필드
| 필드 | 타입 | 설명 |
|---|---|---|
material_usage |
object | { material_id: number[31] } — 자재별 일별 사용량 배열 (인덱스 = day-1) |
waste_amount |
object | { waste_id: number[31] } — 폐기물별 일별 배출량 배열 (인덱스 = day-1) |
각 배열은 31칸이며, 트리거가 트랜잭션으로 해당 일자 칸에만 증감을 반영합니다. 값은 max(0, 기존 + delta)로 음수가 되지 않습니다.
갱신 주체 (트리거)
| 트리거 경로 | 소스 | 갱신 필드 |
|---|---|---|
tasks/{task_id}/material_usage/{daily_usage_id} |
task_material._task_material_update |
material_usage |
tasks/{task_id}/waste_amount/{daily_amount_id} |
task_management._task_waste_update |
waste_amount |
일자 인덱스는 상위 작업 문서(tasks/{tid})의 task_start_datetime을 KST로 정규화한 뒤 day - 1로 계산됩니다.