세션 2026-06-14 — 처리부 현장별 1차분류 + pfs "현장 내용" 페이지 운영 통합
talklog 처리부(현장별 정리)를 멀티에이전트 워크플로로 1차분류하고, pfs 웹 "현장 내용" 페이지로 운영 통합·배포한 세션. 단일 출처 코드/데이터 =
C:\dev\kakao-collector\·C:\dev\kakao-inbox\·pfs 리포. 상세 NOW =projects/talklog/handoff.md·projects/pfs/handoff.md.
한 일 (시간순)
1. 현장별 1차분류 (멀티에이전트 워크플로)
- 현장 매핑 기준 확정: pfs
field가 진짜 현장 마스터(운영 2006행·field_no 2098=GS오산). 카톡 방↔현장은 업체+담당자 자동매핑. 현장사전 101개 =/api/field/search응답(kakao-inbox/pfs_fields_live.json). - 워크플로(
kakao-collector/_classify_workflow.js, 36에이전트·77초): 수집 35방을 동일 COMMON 지침으로 병렬 분류 → 메시지별 현장 판별(여러 현장 분리)·작업항목 추출(StructuredOutput)·GS오산 노션 중복대조(6.8 이후만) → 현장키 머지. 결과 18현장·112작업항목(_classify_sites.json). GS오산 9방 조각 33건 재조립.
2. 검토용 산출 (md + HTML 프리뷰)
kakao-inbox/sites/<field_no>_<현장>.md18개 +_PREVIEW_현장별정리.html(다크/라이트 토글·라이브현장 인라인검색) +_MOCKUP_개인필터링.html(개인 필터 시각 목업).
3. pfs 웹 통합 — "현장 내용" 페이지 (운영 배포)
- worklog 테이블(테스트+운영 RDS):
worklog_no·field_no NULL·site_name·source[kakao/call]·source_room·work_name·status·work_date·speaker·excerpt·note·dedup_status·review_status·is_private·remove_yn. 112건 적재(연결97·미연결15). - 백엔드
api/pfs/worklog/: GET count·sites, POST items, PATCH status/note/remove/field/site-field.site_summary=field_no 취합 + field/company JOIN(정식명·구분·상차일·업체·상태SUM). - 프론트
field_worklog.html: 본건/AS 섹션 → 업체별 그룹(🏢 업체명) → 업체내 상차일 내림차순, 항목 진행→대기→완료 정렬, 상태토글·비고, 완료현장 묶음 폴드, 현장 연결/변경(인라인 검색·중복 자동취합).field_list.html에 💬 카톡정리 버튼. - 사이드메뉴:
menu_catalogfield_worklog(현장목록 아래·"현장 내용"·order 215). 제목 "카톡정리"→"현장 내용" 통일.
검증
- 운영 Playwright: 메뉴 '현장 내용', 본건10·6업체/AS4·4업체, 업체명 표기, 상차일 내림차순(넵스 IS동서06-28→쌍용06-24), 완료폴드, 연결검색(본건/AS·상차일), 상태 PATCH 200.
함정 (재발 방지)
- MySQL
SUM(boolean)은 Decimal 반환 → flask_restplus JSON 직렬화 실패 →CAST(... AS UNSIGNED)필수. - shipping_date가 "Mon, 15 Jun 2026 GMT" 문자열 → JS
localeCompare는 요일 비교로 깨짐 →new Date().getTime()숫자 비교. - worklog
site_name은 field 미존재 시 NULL →COALESCE(f.name, a.site_name)폴백. - 테스트 RDS는 field_no 체계가 운영과 달라 worklog 연결·업체 검증 부정확 → 운영에서 직접 검증이 정답.
커밋 (pfs)
worklog 기능 8429469→6188f2b→f3b8d72(연결변경)→9a064af·6e562e4·8512402(정렬·Decimal·폴백)→40fa5c5·e2d2a7d(업체그룹·정렬버그)→deploy-live 2e246c1·76ee552·f942f17·e0af325·fdc4550.
다음 (페페 3단계 페이지)
1차=수집여부 pfs 통합 / 3차=직원별 통합+개인 접근제어(session.user_no·is_private·owner_user) / 통화녹음=source='call'.