실시간 인사이트
현장에서 의사결정이 멈추지 않게
보고서를 따로 열고 기간을 입력하고 차량번호를 검색하는 흐름이 사라집니다. 이미 보고 있던 화면에서 행 하나 클릭하면 끝납니다.
- ✓차량/거래처: 이번주·지난주·이번달·지난달 4기간 통계 (건수·청구·지급·이익·미마감)
- ✓최근 7일 작업내역 3건 (정산 완료 + 미정산 배차 합본)
- ✓운전원: 담당 차량 톤수·차종·소속·사업자번호 즉시 표시
- ✓행 재선택 시 5분 캐시로 즉시 표시 (Wings 호출 0)
기본정보 — 차량 / 111111
차량 #14559변경 0
▲ 실적
이번주05/03~05/03
건수1청구200,000이익+50,000
지난주05/03~05/03
건수0청구0이익0
이번달05/03~05/03
건수1청구200,000이익+50,000
지난달05/03~05/03
건수3청구850,000이익+220,000
▣ 최근 7일 작업내역 (1)
2026-05-03완료
상차 → 하차
거래처: 씨제이대한통운(임시) · 차량: 111111 · 청구 200,000
3가지 도메인, 같은 손맛
차량 · 거래처 · 운전원 — 어느 행을 클릭해도 일관된 정보 흐름.
NEW · 기본정보 인스펙터
클릭 한 번으로 차량별 실적 즉시 확인
차량/거래처를 클릭만 하면 인스펙터 패널에 이번주·지난주·이번달·지난달 실적과 최근 7일 작업이 자동으로 뜹니다. 기존 화면에서 빠져나가 별도 보고서를 열 필요가 없습니다.
📊
건수 / 청구 / 지급 / 이익
기간별 운행 횟수와 매출/매입/이익을 한눈에. 미마감 건수도 함께 표시.
📅
최근 7일 작업내역
정산 완료된 results와 미정산 dispatchinfo를 합쳐서 dcode 중복 제거 후 최신 3건.
🚛
운전원의 담당 차량
운전원 행을 클릭하면 연락처와 매칭된 차량의 톤수·차종·소속·사업자번호를 즉시 표시.
UNDER THE HOOD
현장에서 막히지 않게 — 매칭·데이터·에러 처리
차량 매칭
공백/하이픈 정규화 → 숫자만 추출 → 부분포함 (3단계 fallback)
데이터 결합
results 60일치 + dispatchinfo 7일치 (Wings 일별 병렬 fetch)
에러 격리
Wings 미응답 시 회로 차단기 60s + 빈 결과 fallback
캐싱
행 재선택 시 module 캐시 5분 (즉시 표시)
UNDER THE HOOD
현장에서 막히지 않게 — 매칭·데이터·에러 처리
차량 매칭 룰
공백/하이픈 정규화 → 숫자만 추출 → substring 3단계 fallback. '111111' ↔ '보안11가1111'도 자동 매칭.
데이터 소스
results 60일치 + dispatchinfo 7일치 합본 (오늘 배차가 result로 안 넘어가도 표시). dcode 기준 중복 제거.
ddate 정규화
ISO string · epoch ms · 숫자 string 모두 yyyy-MM-dd로. Wings 배포별 응답 형식 차이를 백엔드에서 흡수.
성능 보호
1년치 600MB 응답 회피, 60일 fetch만으로 통계 계산. 회로 차단기 60s + 5분 module 캐시.
에러 격리
Wings 미응답 시 throw가 아닌 빈 응답 반환 → 인스펙터는 0건 표시, dev 오버레이 노출 0.
모바일 동등 적용
Flutter 폼 화면 최상단 MasterStatsCard로 동일한 정보. tenantId는 모바일 JWT에서 추출해 백엔드에 전달.