package kr.itn.itnhub.dashboard; /** * 대시보드가 기관 1곳을 그리는 데 필요한 값을 한 줄로 모은 것. 칸반 카드와 "최근 진행 기관" * 표가 같은 행을 쓴다 - 두 곳이 같은 숫자를 보여야 하고, 기관 47곳을 그릴 때마다 기관별로 * 집계 쿼리를 다시 날리면 화면 한 번에 100번 넘게 조회하게 되기 때문이다. * * @param hasChannel 문정원/법률검토 채널 중 하나라도 만들어졌는지. 칸반의 "단계 미지정" * 컬럼은 이 값이 false인 기관만 담는다(요청자 확정). * @param stage 1..12, 채널 생성 전이면 null * @param stageChangedAt 현재 단계로 넘어온 시각(epoch ms). 카드의 D+n 계산용. 이력이 없으면 null * @param lastChangedAt 기관 관련 마지막 변동 시각(epoch ms). 단계변경·권리확인/처리 수정· * 업무메모·배정 변경 중 가장 최근 것. "최근 진행 기관" 정렬 기준이다 * @param reCount 미해결 RE 건수. RE 데이터 모델이 아직 없어 항상 0이다 */ public record DashboardOrgRow( Long id, String orgNo, String orgName, Integer stage, boolean hasChannel, String lawyerName, String mjName, String lawyerAssignedDate, int reviewTotal, int reviewDone, int processTotal, int processDone, Long stageChangedAt, Long lastChangedAt, int reCount) { }