콘텐츠로 이동

task_summary 스키마 (자재/폐기물 월별 집계)

작업(tasks/{tid}) 하위의 자재 사용량(material_usage)과 폐기물 배출량(waste_amount) 서브컬렉션이 변경될 때 트리거가 자동으로 갱신하는 월별 집계 문서.

저장 위치

companies/{company_id}/sites/{site_id}/task_summary/{YYYYMM}
  • 문서 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로 계산됩니다.

예시 문서

{
  "material_usage": {
    "mat_cement": [0, 0, 0, 10, 15, 0, ...],
    "mat_rebar":  [0, 0, 0, 500, 300, 0, ...]
  },
  "waste_amount": {
    "waste_concrete": [0, 0, 0, 2.5, 0, 0, ...]
  }
}