2026-06-24 세션 — orderpaper 자재관리탭 마감 3건 + 운영배포
domain:orderpaper svc:pfs — field/orderpaper '📦 자재관리' 탭(첫 탭) 마감 작업.
논의·배경
페페 지시 3건으로 자재관리탭을 마감하고 운영배포까지:
1. 가로폭 와이드 확장 — 컬럼(자재분류·발주처·현장·품명·규격·발주량·재고량·출고처·비고·입고일)이 많아 .op-wrap 1180px 제한 안에서 가로 스크롤이 생김.
2. 비고 데이터 시작 기호 삭제 — 비고 셀 앞 동기화 표시 점(● mm-syncdot).
3. 블록 활성화 시 원자재/엣지/부자재 빠른토글 사용 불가 — 기존 설계(#6)가 "블록 모드면 자재토글 무시(전 자재 함께 표시)"라 토글이 비활성(mm-disabled, pointer-events:none)됐음. 블록 모드에서도 토글이 먹게 변경.
대안/결정
- 가로폭: 새 CSS 안 만들고 일정 탭의 기존 풀폭 패턴(
body.op-sched-active .op-wrap{max-width:none})을 재사용 →op-mm-activebody 클래스 도입. 자재관리탭은 일반 스크롤 테이블이라 일정탭과 달리 page-titles 숨김·overflow:hidden은 미적용(폭 해제만). - 4탭 상호배타: MM switchTab에서
op-mm-active추가, 타 탭(main/sched=opSch.switchTab, mat=opMat.switchTab) 전환 시 제거. - 블록 토글(근본수정):
rows()필터if(!(S.block||S.mat[mtOf(it)]))→if(!S.mat[mtOf(it)])로 블록 무관 적용.syncToolbar의mm-disabled토글·해당 CSS·죽은mm-syncdotCSS 제거. 블록 그룹은 필터된 행만 묶이므로 토글 OFF 자재분류 블록은 자연히 숨김. - 운영 DB 선행 ALTER: 자재관리탭 전체(+재고량 stock)가 이번이 운영 첫 배포 → 운영
orderpaper에stock컬럼 없으면select_all_items의o.stock이 깨져 발주서 페이지 전체 다운. 코드 배포 전 운영 DB ALTER 필수. probe(읽기전용)로 운영 stock 부재 확인 후 멱등 ALTER.
산출물
web/static/js/orderpaper_material_mgmt.js: rows() 필터·rowHtml 비고(● 제거)·syncToolbar(mm-disabled 제거)·switchTab(op-mm-active).web/static/css/orderpaper_material_mgmt.css:body.op-mm-active .op-wrap{max-width:none}추가, mm-disabled·mm-syncdot 규칙 제거.web/static/js/orderpaper_schedule.js·orderpaper_material.js: 탭 전환 시 op-mm-active 제거.- 운영 DB(
pfs):orderpaper.stock VARCHAR(50) NULL AFTER qty_user추가. - 스크립트(untracked):
scripts/_mm_stock_probe_prod.py(읽기전용 probe),scripts/_mm_stock_alter_prod.py(멱등 ALTER).
검증
- 테스트(
pfs-test.poin.co.kr:8001) Playwright: 풀폭 max-width:none·1643px·가로스크롤 없음 / syncdot 0·● 시작 없음 / 블록 ON pointer-events:auto·부자재 206↔641·원자재 206↔53 행 변동. - 운영(
pfs.poin.co.kr) Playwright: OP_ALL 498건·stock키 존재(백엔드 500 없음) / 풀폭·가로스크롤 없음 / syncdot 0 / 블록 ON 부자재토글 186↔596 변동. 3건+백엔드 전부 PASS.
커밋/다음
- master
0842082(테스트 자동배포) → deploy-livef8c1905(운영 배포, master merge). - 다음: 페페 추가 피드백 대기. 재고량/자재분류 운영 실사용 관찰.
관계
- 직전: [session-2026-06-24-orderpaper-material-mgmt-tab].
- 불변핵심 갱신: 운영
orderpaper.stock존재(handoff.md), SSM aws CLI=pfs/.venv/Scripts.