2026-06-26 세션 — pfs 업체 휴가일정 사이드메뉴+신규 페이지
논의·대안
페페 요청: pfs 사이드메뉴 최하단에 "업체 휴가일정" 링크 + 신규 페이지. 테이블 3컬럼(업체/시작기간/종료기간). 업체는 mysql company 테이블 연결 인라인 입력, 날짜는 직관적 입력 추천안. 처음엔 "테스트배포만" → 작동 검증 후 페페가 "작동하면 운영배포"+"운영 RDS도 승인" 추가 지시.
날짜 입력 방식: 외부 datepicker 라이브러리 vs 네이티브 <input type=date> → 네이티브 채택(플랫폼 기본 달력, 의존성0, 직관적). 사이드메뉴는 DB 동적(menu_catalog) 렌더링이라 정적 추가 불가 → 기존 ensure_field_log_group 멱등 부트스트랩 패턴 차용해 앱서버 자동시드(SSM 불필요).
결정
- 신규 도메인 모듈
api/pfs/vacation/{dao,service,controller,model}— 기존 worklog/material-spec 스택 패턴 그대로. - 테이블
company_vacation(vacation_no PK, company_no/start_date/end_date nullable, reg/modify_date). 빈 행 추가 후 인라인 채우기 UX를 위해 nullable 필수. - 메뉴: menu_catalog
company_vacation(parent NULL 최상위 단일링크, display_order=900=최하단),ensure_vacation_menulatch 멱등,select_menu_catalog_all진입 시 자동시드. - 페이지 라우트
/vacation은 default 블루프린트(field 무관), 템플릿web/templates/default/vacation.html(base extends, content/javascript 블록).
산출물·커밋
- master:
5f12f82(feat 메뉴+페이지+API) →e309117(fix nullable 502) →3eb2c60(fix 날짜포맷 리터럴). - deploy-live:
8bb1f56(Merge master — 운영 반영). - 신규: vacation 모듈 4종+init, vacation.html. 변경: api/config.py(네임스페이스), permission_dao.py(ensure_vacation_menu), default_controller.py(/vacation 라우트).
- 버그 2건(작동검증서 발견·수정): ① 빈행 POST 502 — 컬럼 NOT NULL이라 IntegrityError → ensure_table에 ALTER nullable 승격(멱등). ② GET 날짜
%Y-%m-%d리터럴 노출 — MySQLUtil.fetchall이 param 없으면cursor.execute(sql)로 %-이스케이프 미적용 →DATE_FORMAT%%Y가 안 풀림 → SQL을%단일로.
후속(같은 날)
- 업체선택 드롭다운→인라인 검색창(페페 "드롭다운 말고 인라인검색"):
<select>제거, hiddencompany_no+text input(vac-co-search) — 입력 시VAC_COMPANIES(이미 로드된 company 목록) 클라이언트 필터,.vac-co-resultsabsolute 드롭다운onmousedown(blur보다 먼저) 클릭→coPick(hidden기록·검색칸갱신·saveRow),coBlur150ms 후 닫고 선택값 복구. master3fa7003→deploy-livefb7f2ca. - 드롭다운 잘림 수정(페페 "리스트가 행 높이만큼만 보임→구역 밖으로"): 원인=
.vac-table{overflow:hidden}이 absolute 드롭다운을 테이블 박스로 클리핑.overflow:hidden제거. masterf44b3d2→deploy-live8874dd6. - 검증: 테스트+운영 Playwright(poin01 로그인) — hasSelect:false·tableOverflow:visible·검색 결과 입력칸 아래 표시(boxHeight240·안 잘림)·coPick 저장·reload 업체명 복원·스크린샷 눈확인·잔여행 정리.
다음
- 후속 없음(완성·운영 배포·E2E PASS). 필요 시 정렬/검색·기간 겹침 표시 등 페페 추가 요청 대기.
관계
- 주제 그룹: pfs-vacation
- 관련 문서: pfs handoff.md NOW