3.4 KB · 수정 2026-06-25 16:27
목차

2026-06-25 세션 — field/worklog 전체펼침·기간제한·전체검색

논의·대안

pfs 현장 작업일지(field/worklog, 카톡/통화 수집 트래커) 3개 개선. 기록 누적으로 ① 펼침/접기 개별 클릭 번거로움 ② worklog/sites+items 무한 로드 낭비가 문제. 페페 지시 3건: 항목별/전체 펼침·접기 빠른 토글(완료현장·완료항목까지), 기본 노출 최근 2개월, 인라인 DB 전체 검색, 기간 직접설정(최대 1년).

대안 검토: - 기간 제한 위치 — (a) 현장 묶음 자체 필터 vs (b) 카드 펼침 시 항목만 필터. → (a) 채택(오래된 현장 카드 자체 비표시, 부하 절감 큼). DB는 WHERE work_date 대신 HAVING MAX(work_date) >= date_from — WHERE로 행을 자르면 펼친 카드의 과거 항목까지 사라지므로 집계 후 HAVING이 맞음. - 검색 결과 UI — 평면 리스트 vs 기존 카드 구조. → 기존 카드 구조 + 전체펼침(일관성). - 비동기 완료항목 폴딩 동기화 — MutationObserver vs setTimeout vs 플래그. → 전역 WL_EXPAND_ALL 플래그 1개로 renderItems가 자기 done그룹 open 결정(레이스 회피, 최소 장치). - 1년 클램프 — 프론트 <input type=date> min(1차) + 서버 _clamp_date_from(2차, 신뢰경계 — URL/콘솔 우회 차단).

사후 페페 질문: 미연결(field_no IS NULL) 항목이 기본/검색에 포함되는가? → 쿼리가 GROUP BY ... CASE WHEN field_no IS NULL THEN site_name로 미연결을 배제 안 함. 기간게이트·검색(site_name 포함 4컬럼 LIKE)·privacy 모두 동일 적용. 운영 실측으로 포함 확인(수정 불필요).

결정

산출물·커밋

검증

다음

관계