2026-09-17 세션 — 견적서 「미등록 현장 임시기재 → 현장 진행」 — 기록: [코디]
논의·대안
[페페] 「견적서 등록시 미등록 현장을 임시로, 추후 현장 진행시 현장목록에 등록되게」 + 결정 4건
(발주처 포함 · 버튼 대신 「임시견적」 라디오가 출발점 · 프리필 · 동명이면 이름 고쳐야 등록).
실사 + Plan(fable) + 코덱스 3자 결론 일치. 전문·화면흐름·함정 = devplan pfs-estimate-temp-site.html.
- 🔑안B(field 에 임시 플래그 행)는 탈락 —
insert_field가production_status행까지 만들고,orderpaper-sync/orderpaper_sync.py가 현장명 토큰으로 발주서를 자동 연결한다(임시 현장에 실물 발주서가 붙는다). field 참조 SQL 51곳/14파일 실측. ✅채택 =estimate.temp_site_name/temp_company_name(수정 SQL 8개/2파일, 누수 0). 선례 =hansem_estimate.site_name(patch47) ·worklog.site_name.
결정
- 흐름 = 견적구분 임시견적 → 현장명은 직접 입력 · 업체담당자·유형은 목록에서 고른다(patch53, 페페 26.9.17)
→ 본견적으로 바꾸면 그게 「현장 진행」 →
/field/regist?estimate_no=N프리필(현장명·유형·담당자까지) → 저장 시 한 트랜잭션(선점검 FOR UPDATE → field → production_status → 견적 연결·temp_*NULL·estimate_div=1→ 추가건 승계) → 견적서로 복귀. 동명 현장이면 이름 고치기 전 저장 차단. - 🔑발주처는 저장하지 않는다 —
temp_company_member_no(업체담당자)를 타고 그 담당자의 업체가 발주처·마진율· 견적참조 기준이 된다(patch52 의temp_company_name은 폐기, 컬럼만 남음 → DROP 은 별도 승인). 목록·자동완성은 자체droplist.js만(크롬 양식 금지) — ES module 이라 템플릿 module 스크립트가window.pfsDropOpen만 내보낸다. 팝업 12/11px 은 이 화면에서만 13px 로 올린다(공용 파일 고치면 pncad·네스팅 회귀). - 불변식 =
field_no있으면(더미 0 제외)temp_*3개가 전부 NULL — service·dao 두 겹.
산출물·커밋
- 운영배포
e860647완료 → QA 반영분까지 운영배포 완료 —e860647→398eacd(QA 2건) →6a134dd(web-designer 3차 처방). - DDL
patch52+patch53= 테스트·운영 양쪽 반영 완료(페페 승인, INSTANT). 검증 = 자체검사 72/72 · 테스트 실측 24/24(발주처·담당자·유형이 조인으로 나온다 · 누수 0 = 현장 1973건 불변 · 이중연결 거부 · 원상복구) · 운영 읽기전용 17/17(쓰기 0건 · 견적 636건 조회 정상 · 기존 견적 회귀 0) · 사이트맵 미반영 19→1. 배포는 선별 포워드(master 에 남의 세션 작업 20여 커밋이 쌓여 있어 cherry-pick 3개만). - QA 2건 반영(운영배포 완료) = ①
.pickable에 devplan 테마색(크림·테라코타)이 들어가 반려 → 이 화면:root팔레트(흰 배경 +--primary테두리·화살표, 대비 3.9:1)로 교체 ②업체담당자 = 드롭리스트 → 인라인 검색(타이핑하며 좁히고 ↑↓ · Enter = 최상위 후보 확정 = 앞글자 일치 우선 → 부분일치 · 한글 조합 중 Enter 는 확정 아님 · 못 고른 상태는 테두리로 표시). 유형은 드롭리스트 그대로. 🔑담당자 「최대 유사」 규약 = 부자재발주서 업체칸과 «같은 것»(web/pncad/droplist.jsbest) — 공백무시 정확일치 > 접두 > 포함 > 낱말AND, 동률이면 짧은 이름이 위. 새로 만들지 말고 이 규약을 쓴다. 이름만 쳐 놓고 확정 안 한 채 저장하면 그 텍스트가 조용히 버려지므로 저장을 막는다(isl-unset). 검증 = 자체검사 81/81 · 운영 읽기전용 18/18(쓰기 0건) · 사이트맵 미반영 1(화면 밖 파일, 정상).
함정
- ⚠배포 함정(이번에 밟음) =
deploy-live는 worktreeC:\dev\pfs_deploy_wt가 점유하고 있어 본체에서 checkout 이 안 된다.git checkout … | tail로 파이프를 물리면 실패해도 exit 0 이라&&뒤 cherry-pick 이 master 위에서 돌아 충돌났다(abort 로 복구). → 운영 배포는 그 worktree 에서git reset --hard origin/deploy-live→cherry-pick→push.
다음
- ⏳[페페] 육안 1회 — 라디오 눌렀을 때 세 칸 상태 · 담당자 Enter 확정 느낌 · 긴 업체명 말줄임(390px 폰).
- 🔵미적용 3 = 목록 「미등록 N건」 카운터 · 최근 쓴 담당자 상단 고정 ·
temp_company_name컬럼 DROP. - 🔵미적용 제안 2 = 목록 「미등록 N건」 카운터 · 발주처 직접입력 유사매칭 힌트(web-designer 선제).
관계
- 주제 그룹: pfs-estimate
- 관련 문서: devplan
pfs-estimate-temp-site.html