8.1 KB · 수정 2026-09-15 05:44
목차

2026-09-15 세션 — 부자재 발주서 신규(/field/sub-orderpaper) — 기록: [코디]

논의·대안

[페페] 지시 = 「Pfs에 부자재 발주서 기능 추가해줘. 기존 엑셀 발주서 및 자재관리 페이지 확인해서 추천안으로 구성해줘. 기본규칙은 입력시에는 해당 현장 업체를 사용자가 섞어서 입력 하고, 추후 정렬로 정리할수 있다. 발주서는 업체별로 분리 출력 가능하게. 개별 출력 가능하게. 운영배포」.

먼저 PFS 에 이미 있는 두 발주 자리를 확인했다. ① /field/orderpaper(자재관리·발주서 정리) = 하류다. NAS 발주서 엑셀을 파싱해 발주 추적·입고 관리만 한다. 자재분류 파생에 S = 부자재가 이미 있다. ② /field/al-orderpaper(AL발주서) = 상류다. 도어 스펙 → 계산 → AL업체·유리업체 발주서 엑셀. → 부자재는 상류가 통째로 비어 있었다. 지금까지는 NAS 원부자재발주서.xlsx 의 「발주서」 탭(기타자재 범용폼)을 탭 복제 → 업체명으로 rename → 수기로 채워 왔다. 이번 것이 그 수기를 대체한다.

하류 테이블(orderpaper)에 얹지 않고 새 테이블로 갔다. 그쪽은 item_key = sha1(파일,sheet,section,material_type) 로 NAS 파일과 묶여 있어서, 웹에서 만든 행을 끼워 넣으면 다음 동기화가 전 행을 새 행으로 만들어 사용자 편집·상태·사용이력이 통째로 끊긴다.

착수 전 상의 3갈래 — 코덱스(gptapp.py ask)·계획 서브에이전트(Fable)·web-designer. - 코덱스 3지적 중 「입력순서와 표시순서를 분리 보존」이 이 화면의 뼈대가 됐다. - Fable 계획이 치명적 결함을 잡아냈다 — 양식 24행이 품목행이 아니라 캡노트 행이라는 것(아래 함정). 내 자체검사는 그걸 통과했었다(B열 품명만 봤다). 11분 무응답이라 생존감시가 STALL 을 물었지만 스톨이 아니라 긴 추론이었다 — 끊지 않고 기다린 게 맞았다. - web-designer 는 코드 정독만 했다(테스트서버 미접속). 처방은 거의 그대로 반영했고, 미리보기·인쇄는 뺐다(아래 「뺀 것」).

결정

결정 고른 것 이유
정렬 입력순(seq)을 저장하고 화면 표시만 바꾼다 정렬을 저장에 반영하면 되돌릴 수단이 없다. 버튼은 업체별 정렬 ↔ 입력순으로 토글 하나
업체 경계 그룹 머리행(좌 4px 라인 + 연한 배경 + 건수) 발주서 정리 탭 tr.blocksep 과 같은 표기. 업체 칸은 지우지 않는다(오분류 검증용)
개별 출력 그룹 머리행 우측 「이 업체만 출력」 업체 목록 패널을 따로 두는 건 과설계. 정렬 전에는 버튼이 없다 = 「정렬해 확인하고 뽑아라」가 자연스러운 흐름
출력 시점 전체·개별 둘 다 저장 → 다운로드 화면과 엑셀이 어긋나지 않는다. 개별이 전체의 그 시트와 셀 단위로 같음을 검사로 박았다
자동완성 과거 부자재 이력(orderpaper 부자재 파생 S + 자기 저장분) 경첩·레일처럼 늘 같은 품목을 다시 타이핑하지 않는다. 품명을 고르면 규격이 비었을 때만 따라 들어온다
목록 UI droplist.js 한 벌 datalist·네이티브 select 금지. 공용 파일은 안 고치고 이 화면에서만 13px 로 덮었다(26.9.14 rules 선례 그대로)
붙여넣기 탭·개행 텍스트를 여러 행으로 분배 「섞어서 빠르게」의 절반은 엑셀에서 긁어오는 것이다

함정 (새로 확립)

구현

검증

뺀 것 · 남은 것