2026-10-14 세션 — 한샘 소요 한남 2차 MH 견적 #803 → 한샘 양식 엑셀 V1 (fold · 마감 종류만 · 판번호 자동)
기록: [코디] (총괄 배정 작업자 · worker). PFS = GET 만 · NAS = 새 파일 1개 · PFS 쓰기 0.
논의·대안
- [페페] 결정(총괄 전달): ①추가금액(sub)·부가비는 별도 칸 없이 해당 위치행(장세트) 금액에 합산 · 위치 없는 기타 부가비는 합리적으로 넣고 방식은 설정으로 · 합계 = PFS 견적 총액 ②마감 = 종류만(무늬목·PET·도장·멤브레인 — 품번·색상·스펙 없음) ③C-3 안 함 · 발행일 = 견적일 · NAS = 기존 현장 폴더 · 단가군 = 규칙표 · 위치도 없음.
- 🔴총액 불일치 — 지시문 총액 23,585,000 은 옛 값. 26.10.13 17:56·18:01 KST 다른 세션(
C:\dev\_work\sohan-dagak-matcost-1013\dagak_put.py·dagak_put2.py)이 [페페] 「우리가 다각형에 줘야 할 금액, 부가세 뺀 총금액」으로 기타 부가비 2,636,000(추정 자리표) → 12,911,900(다각형 실견적 PDF 14,200,000 − VAT 1,288,100) 교체, 총액 33,860,900 으로 바꿨다. 이 변경은 seedchain 어디에도 기록이 없었다. → PFS 지금 값(33,860,900)을 정본으로 변환했다(도구 원칙 = 견적 총액 일치). - 견적이 주방(K) 5행 + 수납(F) 11행 혼합(99A 1평형) —
trim_storage(수납 3평형 전용) 못 씀 → 운영 form 8(「1평형 주방+수납 기타행」) 로컬 사본을use+ 탭 이름 바꾸기로. 갑지 행 변경 없음(L4 아님). - 기타 부가비 넣는 법 대안 = 대표 1행 합산 · 행총액 비례 · sub(INEK10 패널 가공) 금액 비례 → 다각형 자재비가 INEK10 무늬목 판넬·엣지라 sub 비례를 채택(sub 없는 4행 = 0).
- 마감 칸(C{b+3})은 한샘 단가 LOOKUP 키라 「무늬목」을 쓰면 단가가 깨진다 → 단가 LOOKUP 안의 마감 참조를 한샘 마감명 문자열
"PUR(시트별도)"로 고정하고 칸엔 종류 단어만.
결정
- 도구 옵션 추가(기본값 = 옛 동작 · 골든 바이트 동일):
rules.addon_mode(separate | fold) ·rules.extra_alloc{mode prorata_sub | prorata_row | to, rows, align_10000} ·rules.finish_label(hansem | type_only) +rules.finish_types· NAS 이름{V}판번호 자동(+ 같은 내용 판 있으면 게이트 실패 ·nas.rev고정) · 양식use에s6_sheets·cover_nums「수납!O22」 ·print_scale· fetch 가/api/estimate/extra/list/<no>도 받음(지문엔 부가비 있을 때만 포함 → 옛 견적 지문 불변) · 혼합 견적 주방 갑지 참고칸 자동 검사. - 단가군 배치(금액 영향 0 — 적용률이 흡수): 주방 W1 유리장 → 18(하부 FIX ×0.5) · 주방 G1 포켓도어장 → 46(공틀 ×0.7) · 수납 A4 거실 수납장 → 신발장 4(정본 「신발장·장식장·수납장」 행에 A4 추가).
- 마감: INEK10 행 = 무늬목(14) · 37460 세탁실 세탁장 B · 37461 워시타워 상부장 = PET(GY01DMT). 37454 주방 상부 유리장 = 무늬목(몸통 기준 · 확인요).
- NAS 폴더 = playbook §8 추천안
…\2026현장\견적\10월\한샘\소요 한남 2차\(다각형 견적 PDF 있는 곳 · 다른 한샘 견적과 같은 자리). 현장 진행 폴더…\2026현장\진행중\10월\한샘 소요 한남 2차\엔 안 올림.
금액 대조(VAT 별도 · 원)
| detail | 품명 | 마감 | PFS 본체(행−sub) | sub 합산 | 부가비 안분 | 목표 | 엑셀 블록합계 |
|---|---|---|---|---|---|---|---|
| 37450 | 주방 키큰장 | 무늬목 | 578,450 | 242,550 | 509,680 | 1,330,680 | 1,330,694.40 |
| 37451 | 주방 냉장고장 | 무늬목 | 341,950 | 127,050 | 266,975 | 735,975 | 735,981.12 |
| 37452 | 주방 포켓도어장 | 무늬목 | 1,313,300 | 1,316,700 | 2,763,206 | 5,393,206 | 5,393,290.45 |
| 37453 | 주방 하부장 | 무늬목 | 688,550 | 219,450 | 461,139 | 1,369,139 | 1,369,153.50 |
| 37454 | 주방 상부 유리장 | 무늬목 | 841,000 | 0 | 0 | 841,000 | 841,022.91 |
| 37455 | 거실 수납장 | 무늬목 | 604,300 | 161,700 | 339,787 | 1,105,787 | 1,105,832.00 |
| 37456 | 현관 신발장 C | 무늬목 | 1,725,700 | 762,300 | 1,605,482 | 4,093,482 | 4,093,570.00 |
| 37457 | 현관 신발장 D | 무늬목 | 1,228,300 | 392,700 | 825,197 | 2,446,197 | 2,446,268.24 |
| 37458 | 복도 버틀러장 | 무늬목 | 999,700 | 531,300 | 1,116,442 | 2,647,442 | 2,647,510.12 |
| 37459 | 복도 스타일러 상부장 | 무늬목 | 226,000 | 0 | 0 | 226,000 | 226,015.86 |
| 37460 | 세탁실 세탁장 B | PET | 734,000 | 0 | 0 | 734,000 | 734,051.50 |
| 37461 | 세탁실 워시타워 상부장 | PET | 315,000 | 0 | 0 | 315,000 | 315,018.48 |
| 37462 | 세탁실 도어(공틀) | 무늬목 | 419,800 | 508,200 | 1,067,902 | 1,995,902 | 1,995,918.01 |
| 37463 | 드레스룸 A벽 | 무늬목 | 2,524,750 | 635,250 | 1,334,877 | 4,494,877 | 4,495,043.80 |
| 37464 | 드레스룸 C벽 | 무늬목 | 1,632,750 | 635,250 | 1,334,877 | 3,602,877 | 3,602,913.60 |
| 37465 | 드레스룸 아일랜드 | 무늬목 | 630,850 | 612,150 | 1,286,336 | 2,529,336 | 2,529,379.44 |
| 합 | 14,804,400 | 6,144,600 | 12,911,900 | 33,860,900 | 33,861,663.44 |
- 안분 = 다각형 12,911,900 × (행 sub ÷ sub 합 6,144,600), 원 단위 최대잉여법 → 합 정확 ·
align_10000이 37452(주방) → 37456(수납)로 3,630원 옮겨 주방 목표를 만원 단위(9,670,000)로. - 갑지: 주방 9,670,000(절사 −142) · 수납 24,190,000(절사 −1,521 · 목표 24,190,900 대비 −900) → 합계 33,860,000 = #803 33,860,900 대비 −900(D-2 갑지 만원 절사 — 원 단위 일치는 규칙상 불가 · 최소치). 운반비·시공비 0 · 「합 계 (VAT 별도)」 표기.
- 표 원본 =
C:\dev\_work\sohan2-hansem-261014\대조표_행별금액.csv.
검증
python hc.py sites\sohan2-803.json run→ verify ALL OK (353항목) (마감 칸 종류 단어 16건 · LOOKUP 마감 키 고정 · 혼합 참고칸 생산비 총 33,860,000 · PDF 내역서 3쪽 · sfcheck/xlcheck 0 · soffice 잔류 0).- PNG 육안
C:\dev\_work\sohan2-hansem-261014\lo\out\png\p01 주방 갑지 · p02 내역서-주 · p04 수납 갑지 · p05~06 내역서-수 — 칸 잘림·블록 갈림 없음. p03 빈 세로 쪽 = form 8 원본·GS 대전 v3 납품본에도 있는 LO 렌더 잔재(내역서 쪽 아님). - 자체검사
python test_hansem_convert.pyALL OK (9 — 새 test_fold_alloc · test_finish_key) · 회귀python regress.pyexit 0(hk·v2·ansan 파트 바이트 동일 · 셀 diff 0 · PNG 동일). - NAS
--putALL OK(5) · 되읽기 sha256 일치 · 폴더 변화 = 새 1개뿐. 재 dry-run = 「V2 자동 · 같은 내용 V1 있음 → 게이트 실패」 확인.
산출물·커밋
- NAS:
\\192.168.0.101\공유폴더\2026현장\견적\10월\한샘\소요 한남 2차\한샘 소요 한남 2차 MH 가구제작 견적서(26.10.13) V1.xlsx(93,111 bytes · sha2560dcea4d961dd3d1964bacad508d3cdcaa23235de52cc8a0225af45da5ff72757) - 설정
C:\dev\tools\hansem-convert\sites\sohan2-803.json· 산출C:\dev\_work\sohan2-hansem-261014\(snap.json · plan.json · run.json · 로그_run.log·_regress.log) - 도구 수정
C:\dev\tools\hansem-convert\hclib\{config,core,pfsget,planner,builder,verify,formprep,nas}.py·test_hansem_convert.py(도구 폴더는 git 아님) - playbook §8 3줄 · devplan
C:\dev\devplan\hansem-convert-rules.htmlT 절 옵션 1줄(백업.bak-20261014)
다음
- ⏳[페페] V1 확인 → 수정 지시 시: PFS 를 고쳤으면
fetch --refresh, 설정만이면 바로run→nas-put→nas-put --put(V2 자동). - 확인요: ①총액 33,860,900(다각형 실견적 반영) 기준이 맞는지(지시문 23,585,000 은 옛 값) ②부가비 안분 = sub 비례(대안 prorata_row · 대표행 to) ③37454 상부 유리장 마감 「무늬목」 ④단가군 3건(주방 W1 유리장 18 · 주방 G1 46 · 수납 A4 4) ⑤NAS 폴더(견적\10월\한샘 vs 진행중) ⑥마감 칸 행 라벨이 양식 그대로 「에지」.
2차 — V2 (26.10.14 [페페] 수정) [코디]
- [페페] 원문: 「다각형 비용 원가에서 15프로 올리고 주방 거래명세서에 별도금액으로 올려. 항목별 금액에 포함하지 않는다. 그리고 무늬목 목대 금액 현재 단가에서 15.5 적용된것 35프로 적용으로 변경해서 수정해. 포인 운임비 50만원 추가. 시공비 800만원 잡는다.」 → 그릴링 답(채팅 「추천」): 목대 = A안 월드 무늬목 sub 58줄 전부(sub margin_percent 15.5 → 35 · B 띠류 34줄 · C 30T 4줄 기각) · 다각형 자리 = 주방 갑지 「기타 · 자재비」 칸.
- 15.5 근거 = sub 58줄
margin_percent15.5(amount = qty × price × 1.155, 화면C:\dev\pfs\web\static\js\estimate_regist_v2.jscalcSubItemAmount). 견적 마스터 company_margin_rate 15.5(행 자당 마진)는 그대로. - PFS 운영 #803 수정(스크립트
C:\dev\_work\sohan2-hansem-261014\pfs_v2\v2_put.py· 직전 GET 스냅샷…\pfs_v2\before\est_803.json= 지금 GET 동일 확인 →PUT /api/estimate/8031회 →POST /api/estimate/extra/bulk-save1회 → 독립 세션 GET 대조…\pfs_v2\after\est_803.json). 행 총액 = 화면 calcItemTotal 그대로 재현(16행 전부 옛 값 재현 확인 후 계산).
| 항목 | 전 | 후 |
|---|---|---|
| 행 합(16행 · sub 포함) | 20,949,000 | 21,986,000 |
| sub 58줄(월드 · 마진 15.5 → 35) | 6,144,600 | 7,182,000 |
| 기타 부가비(다각형 자재비 · 원가 × 1.15) | 12,911,900 | 14,848,685 입력 → 읽기 14,848,700 |
| 운반비 | 0 | 500,000 |
| 시공비 | 0 | 8,000,000 |
| 총액 | 33,860,900 | 45,334,685 입력 → 읽기 45,334,700 |
- 대조 = 행 16·sub 58 전부 일치. 다른 점 4개(부가비 price·amount, 총액 2칸)는 FLOAT 컬럼 읽기 = 유효숫자 6자리라 100원 단위로 보이는 것(+15원). 한샘 파일은 PFS 읽은 값 14,848,700 을 쓴다(PFS 화면과 같은 값).
- 행별 후 금액: 37450 862,000 · 37451 490,000 · 37452 2,852,000 · 37453 945,000 · 37454 841,000 · 37455 793,000 · 37456 2,616,000 · 37457 1,688,000 · 37458 1,621,000 · 37459 226,000 · 37460 734,000 · 37461 315,000 · 37462 1,014,000 · 37463 3,267,000 · 37464 2,376,000 · 37465 1,346,000.
- 도구 옵션 추가(기본값 = 옛 동작):
rules.extra_place: "cover_material"= 기타 부가비를 첫 갑지(주방) 「기타 · 자재비」 칸 별도 금액으로(항목 금액·만원 절사 밖) ·rules.cover_fill: true= 갑지 자재비·운반비·참고칸 시공비를 라벨로 찾아 PFS 값으로 채움. verify 가 자재비·운반비·소계·합계·혼합 참고칸을 검사. - 갑지 표기값(V2): 주방 본오더 5,990,087 → 절사 −87 → 소계 5,990,000 · 기타 자재비 14,848,700 · 운반비 500,000 · 기타 소계 15,348,700 · 주방 합계 21,338,700 / 수납 본오더 15,996,379 → 절사 −6,379 → 수납 합계 15,990,000 / 주방 참고칸 = 수납 15,990,000 · 생산비 총 37,328,700 · 시공비 8,000,000 · 생산비+시공비 45,328,700(PFS 45,334,700 대비 −6,000 = 수납 만원 절사).
- 검증:
runverify ALL OK (353) · PNG 육안 p01 주방 갑지(자재비·운반비 칸) · p02 내역서-주 · p04 수납 갑지 · p05 내역서-수 ·test_hansem_convert.pyALL OK (9) ·regress.pyexit 0(bytes_same 4건 true · soffice 잔류 0) · NAS --put ALL OK(6) · soffice 잔류 0. - NAS V2:
\\192.168.0.101\공유폴더\2026현장\견적\10월\한샘\소요 한남 2차\한샘 소요 한남 2차 MH 가구제작 견적서(26.10.13) V2.xlsx(93,117 bytes · sha256c77cd82790239ab12b831bbaef26aaa1e3845f0853b1872d235b81a6254648ea· 되읽기 일치 · V1 보존). 카톡 발송용 사본C:\dev\_work\sohan2-hansem-261014\send\sohan2_hansem_V2.xlsxsha256 동일. - 확인요: 부가비 +15원(FLOAT 읽기) · 수납 만원 절사 −6,000(다각형을 안분 안 하니 align 없음) · 발행일 그대로 26.10.13(견적일) · 「에지」 행 라벨.
3차 — 무늬목 sub 보강 (26.10.14(수) 18:40~19:00 KST · V3) [코디]
- [페페] 원문: 「pfs 소요한남2차 견적서에 내가 패널이라고만 해서 ep류만 추가금액에 들어간거 같다. 도어 등 모든 무늬목 제품 네스팅 한 내용이 들어가야한다. 네스팅에서 제외한 항목은 제외 유지. 금액대 확인해서 빠진 항목들 추가해줘. 그리고 추가항목에 x자는 특수기호 말고 * 기호로 통일해라. 운영배포」 (총괄 배정 · 채팅 「운영배포」 = 운영 견적 쓰기 승인)
- 대조(운영 GET · 스냅샷
C:\dev\_work\sohan2-sub-fill-1014\before\): 도어 네스팅 #28 = 155행(job.parts = rows 동일 · 10.13 10:08 이후 변경 0) · INEK10 133행 중 제외(exc='1') 15 · 몸통 #27 = 무늬목 없음(N445·N239·N251 SC · 70-115 · 「효산 무늬목유사 LPM」 = LPM). 기존 sub 58줄(rid 60개) 대비 빠진 제외 아닌 INEK10 = 53행 59장(도어 18 · 포켓도어 6 · 서랍앞판 14 · 오픈장 6 · 목대 30T 12 · 벤치·진열칸 3 = 59장). PET(GY01DMT) 25장은 무늬목 아님 → 안 넣음. - 🔴발견: 기존 sub 58줄 중 7줄이 네스팅 제외 행(rid 30·31 주방 목찬넬 1200·830 · 114·115·125·126 드레스룸 끝판 562265030 · 145 진열칸 내측 E.P(앞) 130029) = 마진 포함 1,525,500. 원인 = 10.13 스크립트가
ok=='0'만 보고exc를 안 봄(rules.md 🆕). 지시 범위(추가)만 하고 안 뺐다* → ⏳[페페] 결정. 제외 유지된 나머지 8행 = 신발장 C 목대 30T 5(rid 62~66) · 외부복도 목대선반 3(151~153). - 위치 배정: plan.py SETS 위치 그대로 + 540740 도어(rid 80, 네스팅 pos 「복도버틀러장」) = 도면 메모대로 복도 스타일러 상부장(37459)*.
- 단가(기존 58줄과 같은 월드 기준 · 자체검사 = 기존 대표 11줄 단가 재현 OK): ① 도어류(도어·포켓도어·서랍앞판) = 1차 소요한남 월드 시트 무늬목 도어 실단가 — 긴 변 ±10% · 짧은 변 252~794 → 그 행 단가(키큰장도어 2650 = 200,000 · 하부도어 690 = 60,000 · 플랩도어 924 = 60,000) ② 판(짧은 변 ≥252) = 9,409+69,586L(m) · 하한 60,000 ③ 좁은 판(161~251) = 타현장 무늬목 이웃 중앙 × 0.738 + 상한 = 가로·세로 모두 더 큰 1차 소요 판의 단가(기존 「360595 보다 작으면 60,000 상한」의 일반형 — 서랍앞판 209~220폭이 70,000 → 60,000) · 25T↑ ×1.333(추정) · 반올림 37,500 미만 5천 · 이상 1만.
- 추가 32줄(위치별 마진 포함): 키큰장 243,000 · 냉장고장 270,000 · 포켓도어장 1,215,000 · 하부장 243,000 · 거실 수납장 985,500 · 신발장 C 810,000 · D 810,000 · 버틀러장 540,000 · 스타일러 상부장 81,000 · 세탁실 도어 540,000 · 드레스룸 A 1,012,500 · C 769,500 · 아일랜드 1,053,000 = 매입 Σ 6,350,000 · 마진 35% 포함 8,572,500(근거 ① 12줄 22장 3,280,000 · ② 8줄 9장 1,010,000 · ③ 12줄 28장 2,060,000 · 추정 7줄). 전체 표 =
C:\dev\_work\sohan2-sub-fill-1014\추가분_803_무늬목sub.csv. - 금액대 점검(
…\금액대점검.csv): 1차 소요한남 37장 Σ 2,830,000(장당 76,486) · 기존 58줄 74장 Σ 5,320,000(71,892) · 추가 59장 Σ 6,350,000(107,627 — 도어 비중). 도어 긴것 장당 181,250(1차 200,000 · 200폭 포켓도어 50,000 이 끌어내림) · 중간 130,000(1차 150,000 — 1616·1842 가 2177 보다 짧음) · 짧은것 60,000(1차 60,909) · 후판 25/30T 88,571. 이상치 = ①200폭 포켓도어 22T 50,000(좁은 판 ③ · 같은 폭 FIX 190 기존 50,000 과 같은 길) ②포켓도어 22T 를 18T 단가(두께계수는 25T↑만) ③396*2430 도어 ① 200,000(판 산식이면 180,000) ④오픈장 뒤판 700폭 = 1차 판 폭 밖(추정). - 텍스트: sub 90줄 품명·규격·비고의 「×」·숫자 사이 x/X → 「*」(기존 58줄 비고 산식 표기 포함) · 사후 잔존 0.
- 운영 쓰기 =
PUT /api/estimate/8031회(스크립트C:\dev\_work\sohan2-sub-fill-1014\fill_put.py· 직전 GET == 스냅샷 확인 · 16행 전부 subList 동봉 · 기존 sub_no 유지 · 행 본체·부가비·운반·시공 불변 · 행 총액 = 화면 calcItemTotal 재현) → 응답 0000 → 독립 세션 GET 대조 ALL MATCH → 별도 재GET(…\after_get\) +s5_verify.pyALL OK.
| 항목 | 전 | 후 |
|---|---|---|
| sub 줄 | 58 | 90 |
| sub 합(마진 포함) | 7,182,000 | 15,754,500 |
| 행 합(16행) | 21,986,000 | 30,558,000 |
| 부가비·운반·시공 | 14,848,700 · 500,000 · 8,000,000 | 불변 |
| 총액 | 45,334,700 | 53,906,700 |
- 한샘 V3:
hc.py fetch --refresh(옛 스냅샷snap.1857.34bd3001.json) →runverify ALL OK (353) →nas-put→--putALL OK(7) · 되읽기 일치 · 폴더 변화 = 새 V3 1개(V1·V2 보존). NAS\\192.168.0.101\공유폴더\2026현장\견적\10월\한샘\소요 한남 2차\한샘 소요 한남 2차 MH 가구제작 견적서(26.10.13) V3.xlsx(93,117 bytes · sha2563ba12e47f4412586fb3853a30430f14162c294c556691b3c38b7e4e819e50178). 갑지 = 주방 본오더 7,961,132 → 소계 7,960,000 · 자재비 14,848,700 · 운반비 500,000 · 주방 합계 23,308,700 / 수납 합계 22,590,000(본오더 22,597,407 절사) / 생산비 총 45,898,700 · 시공비 8,000,000 · 생산비+시공비 53,898,700(PFS 53,906,700 대비 −8,000 = 갑지 만원 절사 2곳). PNG 육안 p01·p04·p05 이상 없음. 로그C:\dev\_work\sohan2-hansem-261014\_run_v3.log. - devplan:
C:\dev\devplan\hannam2-nesting.html맨 위 26.10.14 문단 + 카드 desc(projects.jsonhannam2-nesting) · 허브 재빌드. 표 절(E)은 web-designer 상담(처방: t wide · class n · 32행 details 접기) 받았으나 ruleguard 가 서브에이전트 상담을 못 봐 구조 편집이 막힘 → 글 문단만 넣고 표 HTML 은C:\dev\_work\sohan2-sub-fill-1014\section_est803.html에 준비. - ⏳[페페] ①제외 7행(1,525,500) 뺄지 ②22T 포켓도어 두께 할증 여부 ③200폭 포켓도어 50,000 ④25T·30T 14장(목대 12 · 오픈장 선반 2) ×1.333 추정 ⑤카톡 발송본(PDF) 필요하면 V2 와 같은 방식으로.
4차 — 네스팅 제외 줄 삭제 · × 전부 * (26.10.14(수) 19:10~19:20 KST · V4) [코디]
- [페페] 답(총괄 전달): ①기존 sub 중 네스팅 제외 행 줄 → 뺀다 ②포켓도어 22T 단가 = 페페 직접 조정(손대지 않음) ③25·30T 추정 단가 = 페페 직접 확인·수정(손대지 않음) ④행 비고 등 #803 안 남은 「×」 전부 「*」(견적 전체 텍스트 칸 × 0).
- 🔑정정: 3차 보고의 「제외 7줄」은 7장 = sub 5줄이다(끝판은 줄마다 ×2). 그래서 sub 는 90 → 85줄(총괄 기대 83 아님 · 빠진 부재·금액은 페페가 승인한 그대로).
- 삭제 5줄(7장 · 마진 포함 1,525,500): 37453 주방 하부장 목찬넬 1200*46*18 ×1 40,500(sub 8271 · rid 30) · 목찬넬 830*46*18 ×1 40,500(8272 · rid 31) · 37463 드레스룸 A 끝판 562*2650*30 ×2 702,000(8302 · rid 114·115) · 37464 드레스룸 C 끝판 562*2650*30 ×2 702,000(8304 · rid 125·126) · 37465 아일랜드 진열칸 내측 E.P(앞) 1300*29*18 ×1 40,500(8311 · rid 145).
- × → *: 견적 전체(마스터·행·sub·부가비) 스캔 = 행 비고 5곳에 × 7개(37451·37457·37458·37459·37462) → 0. 부가비 테이블엔 × 없음(PUT 이 안 건드림).
- 운영 쓰기 =
PUT /api/estimate/8031회(C:\dev\_work\sohan2-sub-fill-1014\fill_put2.py· 스냅샷…\before2\== 직전 GET 확인 · 16행 전부 subList · 남은 sub 번호·숫자 불변) → 0000 → 독립 세션 GET 대조 ALL MATCH → 재GET…\after2_get\점검: sub 85줄 · 합 14,229,000 · 제외 rid 0 · × 0 · 부가비·운반·시공 불변. - 행 변화: 37453 1,188,000 → 1,107,000 · 37463 4,279,000 → 3,577,000 · 37464 3,145,000 → 2,443,000 · 37465 2,399,000 → 2,358,000 · 행 합 30,558,000 → 29,032,000 · 총액 53,906,700 → 52,380,700.
- 한샘 V4:
fetch --refresh(옛snap.1916.47225490.json) →runverify ALL OK (353) · PNG p01 육안 →nas-put --putALL OK(8) · 되읽기 일치 · 폴더 변화 = 새 V4 1개(V1~V3 보존). NAS\\192.168.0.101\공유폴더\2026현장\견적\10월\한샘\소요 한남 2차\한샘 소요 한남 2차 MH 가구제작 견적서(26.10.13) V4.xlsx(93,119 bytes · sha25681536b9270ead2bcc05eb1bd2c1557250bb343f077f46a685d9e9735cd0eba2c). 갑지 = 주방 합계 23,228,700(본오더 7,880,000 + 자재비 14,848,700 + 운반비 500,000) · 수납 합계 21,150,000 · 생산비 총 44,378,700 · 시공비 8,000,000 · 생산비+시공비 52,378,700(PFS 52,380,700 대비 −2,000 = 만원 절사). 로그C:\dev\_work\sohan2-hansem-261014\_run_v4.log. - ⏳[페페] 포켓도어 22T(512폭 ×4 200,000 · 200폭 ×2 50,000) · 25/30T 추정(목대 12장 90,000 · 오픈장 선반 2장 80,000) 직접 조정 → PFS 고친 뒤
hc.py fetch --refresh→run→nas-put --put(V5 자동).
5차 — 단가 근거 페이지 (26.10.14(수) 19:25~19:40 KST) [코디]
- [페페] 「월드산업 단가표 소요한남 1차, 2차 비교를 근거로 무늬목 패널·도어 등 모든 품목의 단가 근거가 어떻게 나왔는지 정리해서 devplan 페이지 만들어줘.」(총괄 배정 · web-designer 상담 = 총괄 세션) →
C:\dev\devplan\sohan2-world-price-basis.html(http://100.108.234.45:8799/sohan2-world-price-basis.html · 카드sohan2-world-price-basisub=pfs · pagelinks up = hannam2-nesting · also = hansem-convert-rules·hansem-estimate). 운영 쓰기 0(GET 만). 숫자 = #803 sub 85줄 126장 · 월드 원가 10,540,000 · 마진 35% 가산 후 14,229,000(calcSubItemAmount= qty × price × (1 + 35/100)) · 상태 ✔확정 59줄 74장 · △추정 12줄 24장 · ?확인요 4줄 6장(손잡이판 4.5T) · ✎페페 조정 10줄 22장(포켓도어 22T 2 · 25/30T 8) · 규칙별 줄 = 1차 같은 품명 11 · 도어 1차 실단가 12(매칭 성공 13줄 23장 / 실패 8줄 16장) · 띠 21 · 판 산식 27 · 좁은 판 ③ 10 · 손잡이판 4 · 1차 = 「소요한남」 시트 58행 · 무늬목 37장 2,830,000. 조정 영향 = 25/30T 계수 빼면 마진 후 −459,000 · 포켓도어 단가 1만원당 +81,000 · 손잡이판 0원이면 −81,000. 생성C:\dev\_work\sohan2-sub-fill-1014\s7_basis.py(→basis.json·조각) · 검산s8_verify_page.py(운영 #803 GET 과 행별 품명·규격·수량·단가·금액 1원 대조 + 소계·배지·필터 건수 + 스타일 규칙) 파일·서빙본 둘 다 ALL OK · Playwright 1280px(콘솔 오류 0 · 가로 넘침 0 ·#r43·#r68앵커 → details 열림·행 노출 · 필터 「확정」 끔 → 26행) 후 browser_close · 허브 selftest OK ·_verify_pagelinks.pyOK 142/NG 0. 🔑정정 반영: sticky 머리행은 border-collapse 표에서 아래 행이 비쳐 이 표만 separate 테두리.
6차 — 2년 단가 재조사 (26.10.14(수) 19:45~20:25 KST · V5) [코디]
- [페페] 원문(총괄 전달): 「단가 조사 좀 더 해봐. 무늬목 자재비는 월드에서 지출하지 않기 때문에 도장작업과 1:1로 매칭해도 괜찮다. 도장비용은 보드 비용이 들어가긴 하나 사실 무늬목 단가가 보드 비용이 안들어감에도 계산편의를 위해 월드에서 보드가격 포함 단가로 한것이기 때문에 이 기준으로 매칭이 가능하다. 최근 2년간 월드 발송한 견적자료를 토대로 추가 조사를 하고 소요한남2차 단가를 업데이트해라. 그리고 단가 페이지에 자료조사분을 갱신하고 같은 규격인데 다른 단가 편차가 얼마인지도 표시해줘. 운영배포」
- 자료 범위: NAS 파일명 전수 훑기 8,336건(
2024·2025·2026현장\견적·…\진행중·자료(사무실)·사장님·이창재부장·Users·자재소요· 루트월드산업) → 월드·헤움 견적 엑셀 14개 내려받음(C:\dev\_work\sohan2-price-2y-1014\src\·manifest.tsvsha256) → 공급자 「헤움디자인」 확인 → 사용 10파일(2025.4~2026.7: 롯데 D2 수주관 최종판 · 25.5월 · 25.6월 · 25.10~11월 · 25.12월 · 26.1월 · 26.4월(소요 1차) · 26.5월 · 26.5월 수정본(학동 키큰매장 9행만) · 26.7월(8월 마감)) · 제외 4 = 롯데 5/20판(최종판 대체) ·2025현장\견적\월드산업\1011월(001 과 sha 같음) · 2024.1~6 내역서·견적 2개(2년 범위 밖). 항목 1,448행 → 중복 빼고 1,086행 → 쓸 수 있는 행 955 → 단가 근거 = 무늬목 236 + 도장 293 = 529행 · 11건(마감 미상 426행 = 참고). 2024.10~2025.3 · 2025.7~9 · 2026.2~3 · 2026.8~10 월 마감 엑셀은 NAS 에 없음. Gmail(헤움·월드산업·포인 견적서 · 2024.9~) 월드 견적 첨부 0건. 파일별 행수 =C:\dev\_work\sohan2-price-2y-1014\자료목록.csv. - 추출(
n5_extract.py= 26.10.13analyze.pyextract() 재사용 + 보정 3): ①🔑롯데 양식 H열 숫자 = ㄱ·ㄷ 성형의 3번째 치수(60행 — 옛 엔진은 평판 띠로 읽어 「40×2615 = 250,000」 같은 가짜 띠가 생김) ②두께는 묶음 첫 줄에만 적힘 → 품명승계 행만 위 행 두께 승계(17행) ③색명·KCC 색번호·펜톤 = 도장. 블록 서명 중복(같은 현장·같은 항목열) 제외. - 규칙 변화: ①무늬목 = 같은 규격 도장 1:1(옛 ×2.0 환산 폐기) ②건별 수준 보정 — 건(현장)마다 「다른 건 이웃 중앙값 대비 배수」(중앙 1.00): 학동 키큰장 ×1.32 · 일레븐 MH(주방·추가·도어 MH 합침) ×1.19 · 소요 1차 ×1.07 · 롯데 수주관 ×0.93 · 판교 ×0.82 · 한남 소요 MH(도장) ×0.50. → 옛 「타현장 × 0.738」 = 소요를 일레븐(가장 비싼 건)과만 비교한 값 · 옛 「무늬목/도장 2.0」 = 한남 소요 MH 견적 수준이 절반이라 생긴 값(1:1 규칙과 모순 없음) ③이웃 = 판(폭 두 칸 161~300 / 301↑) · 띠(폭 ±60mm) · 긴 변 ±10% · 같은 두께군 · 3행·2건↑(A) → 안 되면 ±30%(B) · 손잡이판 = 품명 「손잡이판」만(1건뿐 = S) · 목찬넬(플랜지) = ㄴ자 성형 이웃 ÷2 · 22T·9T = 18T 실적 ④값 = 수준 보정 단가의 건별 중앙값의 중앙값(= 월드 2년 평균 수준) → 반올림(37,500 미만 5천 · 이상 1만). 방법 선택 = LOO-건 행 중앙 오차 20%(보정 없음 30% · 행 중앙값 25% · 긴 변 ±15/20% 는 25%).
- 같은 규격 다른 단가(품목 묶음 + 짧은·긴 변 mm + 두께군, 미상 포함): 2행↑ 117묶음(280행) 중 단가 다름 29묶음(81행) · 범위 중앙 40% · 변동계수 중앙 16% · 여러 현장 걸친 17묶음 중 12개 다름. 큰 편차 5 = 라인 인천검단 아일랜드 EP 785×850 20,000~150,000 · 식세기 마이다 561×594 · 하부도어 256×668 · 서랍마이다 318×496 · 하부도어 296×668 각 20,000~80,000(25.10~11월 「몰딩」 vs 26.1월 첫 줄 「3T」 = 다른 공정으로 보임 · 미상) · 근거 풀 안 최대 = 띠 60×2440 20,000~70,000(롯데·일레븐 MH) · 150×2700 40,000~70,000(소요 1차·일레븐 MH). 표 =
C:\dev\_work\sohan2-price-2y-1014\같은규격_편차.csv. - 운영 쓰기 =
PUT /api/estimate/8031회(20:10:03 KST ·C:\dev\_work\sohan2-price-2y-1014\n7_put.py· 직전 GET == before6 == 5차 basis_get(페페 수정 0) · 16행 전부 subList · sub price·amount 만 · margin_percent 35·품명·규격·수량·비고·업체·in_base·행 본체·부가비·운반·시공 불변 · 조정 10줄 불변) → 0000 → 독립 세션 대조 ALL MATCH → 별도 프로세스 GET(…\after6_get\) +n8_verify_put.pyALL OK(diff 111칸 전부 허용 범위 · 바뀐 sub 46 = 계획 46 · × 0).
| 항목 | 전 | 후 |
|---|---|---|
| 월드 원가 Σ(85줄) | 10,540,000 | 10,000,000 |
| sub 합(마진 35% 후) | 14,229,000 | 13,500,000 |
| 행 합(16행) | 29,032,000 | 28,303,000 |
| 총액 | 52,380,700 | 51,651,700 |
- 단가 바뀐 46줄(올림 20 · 내림 26) · 그대로 39줄(조정 10 포함). 큰 변화 = 키큰 도어·EP·FIX 2.6m 200,000 → 170,000(13줄 · 2년 평균) · 도어 5951616 120,000 → 140,000 · 6111842 140,000 → 170,000 · 오픈장 측판·뒤판 130,000 → 170,000 · 좁은 2.6m 판 190~200폭 50,000 → 60,000 · 서랍앞판 209*655 ×6 60,000 → 35,000. 손잡이판 10,000 그대로(근거 = 같은 현장 도장 5,000 ÷ 수준 0.50). 전후표 =
C:\dev\_work\sohan2-price-2y-1014\전후표_803_6차_운영반영.csv. - 민감도(원가 합 · 조정 줄 고정): 채택 10,000,000 · 보정 없음 10,680,000 · 행 중앙값 10,350,000 · 미상 포함 8,310,000 · 소요 1차 수준(×1.07) 10,535,000 · 이전 10,540,000.
- 조정 줄 제안(운영 미반영): 포켓도어 5122615 ×4 200,000 → 170,000 · 2002615 ×2 50,000 → 60,000 · 목대 30T 12장 90,000 → 60,000(B · 40,000~150,000 · 2건) · 오픈장 선반 25T 80,000 → 70,000 · 천판EP 30T 200,000(같음) · 걸레받이 30T = 실적 없음. 전부 넣으면 원가 −480,000.
- 한샘 V5:
hc.py fetch --refresh(옛snap.2010.911df709.json) →runverify ALL OK (353) · PNG p01 육안 →nas-put --putALL OK(9) · 폴더 변화 = 새 V5 1개(V1~V4 보존). NAS\\192.168.0.101\공유폴더\2026현장\견적\10월\한샘\소요 한남 2차\한샘 소요 한남 2차 MH 가구제작 견적서(26.10.13) V5.xlsx(93,118 bytes · sha2560452123b671a64d0dee181b53a6609b42f27306b55c30c9fc8df7617949e93fc). 갑지 = 주방 합계 23,208,700(본오더 7,860,000 + 자재비 14,848,700 + 운반비 500,000) · 수납 합계 20,430,000 · 생산비 총 43,638,700 · 시공비 8,000,000 · 생산비+시공비 51,638,700(PFS 51,651,700 대비 −13,000 = 만원 절사 2곳). 로그C:\dev\_work\sohan2-hansem-261014\_run_v5.log. - devplan
C:\dev\devplan\sohan2-world-price-basis.html6차 재작성(n9_page.py· 5차 사본C:\dev\_work\sohan2-price-2y-1014\page_backup_5cha.html· 스타일 블록·스크립트 그대로 · 85줄 표 품목군 열 → data-g · 단가 이전→새 한 칸 · 실적 범위 열 · nth-child(6)→(5) min-width) · CSV 3개C:\dev\devplan\data\sohan2-803\· 검산n10_verify_page.py파일·서빙본 ALL OK · Playwright 1280px 콘솔 0 · 가로 넘침 0(scrollW 1265 ≤ 1280) ·#r43앵커·필터(✔ 끔 → 29행) 확인 후 browser_close · 카드 desc 갱신 ·build_hub.pyOK ·_verify_pagelinks.pyOK 142/NG 0. - 🔑함정(신규): 월드 견적 엑셀 롯데 양식은 H열(머리 빈칸)에 ㄱ·ㄷ 성형 3번째 치수를 숫자로 적는다 · 두께(가공 칸)는 같은 부재 묶음 첫 줄에만 적힌다 → 추출기가 둘 다 봐야 한다.
- ⏳[페페] ①포켓도어 22T·25/30T 제안값 확인 후 직접 조정 →
hc.py fetch --refresh→run→nas-put --put(V6) ②sub 비고(옛 근거 문구 「소요 무늬목 띠류 산식 … = 30,000」 등)는 지시대로 안 바꿨다 — 새 단가와 문구가 다른 줄 46 → 정리할지 ③방법(수준 보정 = 월드 평균 수준)이 소요 1차 수준(×1.07)보다 원가 535,000 낮음 — 1차 수준으로 맞출지.
7차 — 1차 우선 재조정 (26.10.14(수) 20:55~21:30 KST · V6) [코디]
- [페페] 원문(총괄 전달): 「소요한남 단가는 라인 현장, 일레븐 현장은 빼고 진행한다. 소요 한남 1차를 1순위로 보고 없는 유사 규격은 타현장 참고. 최소 금액이나 평균 금액을 후순위로. 물가 상승을 고려해서 최근 단가 위주로 보고 재조정해라.」 + 「운영배포」.
- 표본: 6차와 같은 2년치 10파일 · 쓸 수 있는 955행 − 「라인」·「일레븐」 현장 전부 486행(라인 VIP 82 · 라인 인천검단 59 · 에넥스라인 동탄 18 · AS라인 동탄 12 · 일레븐 MH 150 · AS 일레븐 유엔사 45 · 일레븐시스템 39 · 일레븐 주방 38 · 일레븐도어 MH 17 · 일레븐파크사이드 17 · 일레븐추가 9 / 마감 무늬목 150 · 도장 65 · 미상 271) → 남은 469행 = 1차 무늬목(「소요한남」 블록) 24 · 1차 도장 「한남 소요 MH」 22 · 타현장 무늬목·도장 268(롯데 수주관 230 · 25.5 · AS롯데 3 · 25.6 · 판교 내수 16 · 청담르엘 5 · 25.12 · DSD 삼호 사무실 3 · 신세계마포 1 · 포스코 대구 1 · 25.5 · 학동 키큰장 9 · 26.5) · 미상 155(참고).
- 규칙(이 순서 ·
C:\dev\_work\sohan2-price-2y-1014\n11_price7.py): ①1차 실단가 그대로(현장 수준 보정 폐지) — 같은 형태·두께 + [긴 변 ±10% · 판 폭 칸 ≤300/301↑ · 띠 폭 ±60mm] 또는 [같은 품명 키(휠라·걸레받이/TK·목찬넬·도어류) · 짧은·긴 변 ±30%] → 가장 가까운 행 · 목찬넬(플랜지) = 1차 ㄴ자 40,000 ÷ 2 ②타현장 = 같은 창 · 가장 최근 견적 달의 행(여러 행 중앙값) · 2026.1 이전 달뿐 = 「구단가(YYYY.M)」 표시(인상률 미적용) ③후순위 = 긴 변 ±30% 평균 → 없으면 최소(판 60,000 · 띠 20,000 · 손잡이판 5,000) ④조정 10줄 = 운영값 그대로 · 제안만. 🔑판단: 같은 1차 시트의 「한남 소요 MH」 도장 블록은 6차 수준 ×0.50(같은 크기 도어 30,000~50,000 = 무늬목 블록의 반값) → 1차·타현장에 넣으면 「최근 우선」이 오히려 반값을 고르게 돼 [페페] 「물가 고려」와 반대 → 1차 무늬목 단가가 공란인 손잡이판에만 1:1(5,000). 마감 미상 2026 견적(is 동서 26.6 · 신영광주 26.7 · DSD 업성 26.1~4)은 1:1 범위 밖이라 참고만(넣으면 원가 10,000,000). - 등급(조정 줄 빼고 75줄): 1차 실단가 43(무늬목 39 · 1차 도장 MH 손잡이판 4) · 타현장 29 = 전부 구단가(25.5 롯데 · 25.6 AS롯데 · 25.12 판교) — 2026 타현장 무늬목·도장 중 2차 규격 창에 맞는 행 0 · 후순위 평균 3(진열칸 내측 E.P · 벤치 상판·등판) · 최소 0.
- 운영 쓰기 =
PUT /api/estimate/8031회(21:18:05 KST ·n12_put7.py· 직전 GET == before7 == 6차 after6_get · 페페 수정 0 · sub price + comment 만 · margin_percent·품명·규격·수량·업체·in_base·행 본체·부가비·운반·시공 = GET 값 그대로 · 조정 10줄 단가·비고 불변) → 0000 → 독립 세션 대조 ALL MATCH → 별도 프로세스 GET(…\after7_get\) +n13_verify_put7.pyALL OK(diff 218칸 전부 허용 · 단가 59 = 계획 59 · 비고 75 = 계획 75 · 마진 불변 · × 0). 비고 새 형식 = 「INEK10 양면 · 월드 단가 7차(26.10.14) = 1차 실단가 소요한남!52 키큰장도어 410*2650 200,000 · 도어재 네스팅 #28 rid N」.
| 항목 | 6차 | 7차 |
|---|---|---|
| 월드 원가 Σ(85줄) | 10,000,000 | 10,540,000 |
| sub 합(마진 35% 후) | 13,500,000 | 14,229,000 |
| 행 합(16행) | 28,303,000 | 29,032,000 |
| 총액 | 51,651,700 | 52,380,700 |
- 합계가 5차와 같은 값이 된 건 우연(줄별 단가는 다름). 단가 바뀐 59줄(올림 28 · 내림 31). 큰 변동 = 프레임EP 7952438 ×4 170,000 → 200,000(+120,000 · 1차 키큰장도어 4102650) · 도어 3962430 ×3 · 3522647 ×3 170,000 → 200,000(각 +90,000) · 도어 5951616 140,000 → 200,000(판교 25.12 구단가) · FIX 5952690 ×2 → 200,000 · 내림 = 걸레받이 2801200 60,000 → 20,000(AS롯데 25.6) · 진열칸 내측 E.P ×2 60,000 → 40,000(후순위 평균) · 서랍앞판 595195·600*220 60,000 → 40,000(롯데 25.5). 전후표 =
C:\dev\_work\sohan2-price-2y-1014\전후표_803_7차_운영반영.csv. - 조정 줄 제안(운영 미반영): 포켓도어 5122615 200,000(= 1차) · 2002615 50,000 → 80,000(롯데 25.5) · 천판EP 30T 200,000 → 170,000 · 오픈장 선반 25T 80,000 → 40,000(판교 25.12) · 목대 30T 12장 90,000 → 70,000(롯데 25.5) · 걸레받이 30T 40,000 → 20,000(최소). 전부 넣으면 원가 −310,000.
- 기간별 추세(인상률 미적용 · 7차 표본 18T 중앙값): 판 2.5m↑ 180,000(25.4~6 · 17행) → 200,000(26.1~4 · 1차 2행) → 220,000(26.5~7 · 학동 4행) · 판 1m 미만 50,000 → 70,000 → 60,000 → 80,000 · 띠 20,000 → 15,000 → 30,000. 같은 규격이 여러 달 = 띠 602400 25,000(롯데 25.5) → 15,000(판교 25.12) · 도어 461720 50,000(롯데 25.5) → 40,000(AS롯데 25.6).
- 같은 규격 다른 단가(7차 표본 · 미상 포함): 47묶음 중 8개 다름 · 범위 중앙 25%(6차 전체 표본 = 117묶음 중 29 · 40% — 라인 인천검단이 빠지며 큰 편차 사라짐).
- 한샘 V6:
fetch --refresh(옛snap.2118.077208e3.json) →runverify ALL OK (353) · PNG p01 육안 →nas-put --putALL OK(10) · 폴더 변화 = 새 V6 1개(V1~V5 보존). NAS\\192.168.0.101\공유폴더\2026현장\견적\10월\한샘\소요 한남 2차\한샘 소요 한남 2차 MH 가구제작 견적서(26.10.13) V6.xlsx(93,123 bytes · sha2568a9f26fc238a909112fde2d45e51f45dc201226a097b04357f90e6f9893e2990). 갑지 = 주방 합계 23,518,700(본오더 8,170,000 + 자재비 14,848,700 + 운반비 500,000) · 수납 합계 20,850,000 · 생산비 총 44,368,700 · 시공비 8,000,000 · 생산비+시공비 52,368,700(PFS 52,380,700 대비 −12,000 = 만원 절사 2곳). 로그C:\dev\_work\sohan2-hansem-261014\_run_v6.log. - devplan
C:\dev\devplan\sohan2-world-price-basis.html7차 재작성(n14_page7.py· 6차 사본C:\dev\_work\sohan2-price-2y-1014\page_backup_6cha.html· 스타일 그대로 · 필터 4등급 ✔1차/◇타현장/▽후순위/✎조정) · CSVC:\dev\devplan\data\sohan2-803\before-after-7.csv·same-spec-spread-7.csv· 검산n15_verify_page7.py파일·서빙본 ALL OK(줄별 근거 문구 = 운영 비고 포함 확인) · Playwright 1280px 콘솔 0 · 가로 넘침 0(scrollW 1265) ·#r31앵커 · 필터(✔ 끔 → 42행) 확인 후 browser_close · 카드 desc ·build_hub.pyOK ·_verify_pagelinks.pyOK 142/NG 0. - ⏳[페페] ①구단가 29줄(롯데 25.5 등 · 인상률 미적용) 그대로 둘지 ②조정 10줄 제안 확인 → 직접 조정 시
hc.py fetch --refresh→run→nas-put --put(V7) ③한남 소요 MH 도장 블록을 1차에서 뺀 판단(손잡이판만 1:1) 맞는지 ④마감 미상 2026 견적을 근거에 넣을지.
8차 — 전 행 몸통 옵션 (26.10.14(수) ~22:20 KST · PUT 22:11 · V7) [코디]
- [페페] 원문(총괄 전달): 「소요한남2차 항목을 모두 몸통 옵션으로 바꿔줘. 무늬목 마감 금액이 별도로 빠져서 그게 맞다. 나머지 펫 등 소재는 직접보고 전체로 복원할게. 일단은 모두 몸통옵션으로 단가조정한다.」 + 「운영배포」.
- 코드 확인(
C:\dev\pfs_deploy_wt\web\static\js\estimate_regist_v2.js): 행 최종합계 =calcPartAdjustedTotal= ⌈round(자당 × 비율 × (1+마진/100) + Σsub) / 1000⌉ × 1000 · 비율 전체 1 / 몸통 0.65 / 도어 0.35 ·margin_amount는 전체 기준 그대로 · 마스터 총액 = Σ행 + 시공 + 운반 + 부가비. 서버update_estimate는 받은 값 저장만(재계산 없음) +part_mode저장 → 화면식 값을 계산해 보냄. 쓰기 전 지금 「전체」 16행 값이 같은 식(비율 1)으로 1원까지 재현됨을 assert. - 운영 쓰기 =
PUT /api/estimate/8031회(22:11:18 KST ·C:\dev\_work\sohan2-price-2y-1014\n16_body8.py· 직전 GET =before8\· 페페 수정분 보존) — 16행part_mode= body ·margin_total_amount= 몸통식 · 단가·sub 85줄·마진·부가비·운반·시공 = GET 그대로 → 0000 → 별도 프로세스 GET(after8_get\) +n17_verify_body8.pyALL OK(diff 34칸 = 16행 × 2 + 마스터 총액 2 · 수정자/일시 외 0 · 행 금액 = 몸통식 1원 · sub 85줄 합 14,229,000 불변 · × 0). - 행 합 29,032,000 → 23,855,000(−5,177,000) · #803 총액 52,380,700 → 47,203,700(VAT 별도). 행별 = 키큰장 1,199,000 → 997,000 · 냉장고장 801,000 → 681,000 · 포켓도어장 4,256,000 → 3,797,000 · 하부장 1,080,000 → 839,000 · 상부 유리장 841,000 → 547,000 · 거실 수납장 2,008,000 → 1,797,000 · 신발장 C 3,345,000 → 2,742,000 · 신발장 D 2,471,000 → 2,041,000 · 버틀러장 2,194,000 → 1,845,000 · 스타일러 상부장 307,000 → 228,000 · 세탁장 B(PET) 734,000 → 477,000 · 워시타워 상부장(PET) 315,000 → 205,000 · 세탁실 도어 1,534,000 → 1,387,000 · 드레스룸 A벽 3,537,000 → 2,654,000 · C벽 2,403,000 → 1,831,000 · 아일랜드 2,007,000 → 1,787,000. 전후표 =
C:\dev\_work\sohan2-price-2y-1014\전후표_803_8차_몸통.csv. - 운영 화면(
n18_screen8.py· Playwright 헤드리스 · 로그인 =page.request.post· 가드 = 비GET 은 로그인·search 만 통과 · 저장 안 누름): https://pfs.poin.co.kr/estimate/modify-v2/803 K·F 16행 토글 전부 「몸통」 · 행 최종합계 = DB · 가구 총액 23,855,000 · 소계·총합계 47,203,700 = DB · 막은 요청 0 · 통과한 search POST 5 · 페이지 오류 0 · browser.close. 캡처C:\dev\_work\sohan2-price-2y-1014\shots\est803_body8_K.png·_F.png. - 한샘 V7:
hc.py는 행margin_total_amount를 목표값으로 쓰므로 몸통 금액이 그대로 반영됨(도구 수정 0 · 주방 가구 6,861,000 = K행 합 · 수납 16,994,000 = F행 합).fetch --refresh→runverify ALL OK (353) →nas-put --putALL OK(11) · 폴더 변화 = 새 V7 1개(V1~V6 보존). NAS\\192.168.0.101\공유폴더\2026현장\견적\10월\한샘\소요 한남 2차\한샘 소요 한남 2차 MH 가구제작 견적서(26.10.13) V7.xlsx(93,117 bytes · sha256af8c98c297a1549c76726ea807faef62dc1f0b8c171dc5433411959c0f9eb7ee). 갑지 = 주방 합계 22,208,700(본오더 6,860,000 + 자재비 14,848,700 + 운반비 500,000) · 수납 합계 16,990,000 · 생산비 총 39,198,700 · 시공비 8,000,000 · 생산비+시공비 47,198,700(PFS 47,203,700 대비 −5,000 = 절사). 로그C:\dev\_work\sohan2-hansem-261014\_run_v7.log. - devplan
C:\dev\devplan\sohan2-world-price-basis.html결론 맨 위 8차 1줄 + 메타 총액·기준시각만 갱신(본문 표·근거는 7차 그대로) · 검산n15_verify_page7.py(8차 문구 추가: 7차 총액 = after7_get 고정 · 행 합·총액 = 지금 GET · 16행 body) 파일·서빙본 ALL OK · 카드 desc ·build_hub.pyOK ·_verify_pagelinks.pyOK 142/NG 0. - ⏳[페페] PET 등 소재 행(세탁장 B 37460 · 워시타워 상부장 37461 등)은 페페가 화면에서 직접 「전체」로 되돌림 → 되돌린 뒤 한샘 양식 다시 뽑을 땐
hc.py fetch --refresh→run→nas-put --put(V8).
관계
- 주제 그룹: pfs-estimate (domain 견적 · 한샘 · svc pfs-estimate)
- 관련 문서: pfs-session-2026-10-13-sohan2-estimate-803
- [코디] 26.10.14(수) 3차 — [페페] 「카톡 엑셀 수식 깨져 안 읽힘 → PDF로 다시」 → V2 렌더 PDF(
lo\out\conv\out.pdf14쪽)에서 주방 갑지·내역서-주·수납 갑지·내역서-수 5쪽만 추림(빈 쪽 p3·단가기준 p7~ 제외) →C:\dev\_work\sohan2-hansem-261014\send\sohan2_hansem_V2.pdf· 노트20 카톡 「신동승」 발송(71초). 🔑 카톡 발송본은 엑셀 말고 PDF가 기본(폰 뷰어가 수식 재계산 못 함).