사용자 확정(값이 없어도 그냥 넘어감)에 따라 규격·지역이 애매해도 가장 맞는
자재품목 줄로 이음:
· 색소(MP000078) → 착색제(M-Green, MT006740) — 후보 1줄뿐이라 그대로
· 에폭시(MP000082) → 주입용 에폭시 습식(MT007705) — 후보 4줄(주입용 습식·건식·
씰링용) 가운데 낙석방지망 앵커 주입에 흔한 습식형
· 땜납(MP000285) → 봉땜납 Sn30%(MT001252) — 후보 둘(Sn10%·Sn30%) 가운데 원문
50:50 에 더 가까운 쪽(정확히는 안 맞음 — 비고에 적음)
버너(MP000209)·퓨즈(MP000214)는 후보가 있어도 물건 자체가 다름 — 버너 후보(개장로용
가스버너, 6~9구용, 915만원)는 산업용 화덕이지 압접가열용 소형버너가 아니고, 퓨즈
후보 다섯(전선퓨즈·통형퓨즈·고리퓨즈)은 모두 전기용이지 테르밋 용접 점화용이 아님 —
못 골라 그대로 둠(비고 그대로).
build_로직_재료_고르기.py 다시 돌려 로직 3개 파일에 고르기 조건 3줄 반영.
test_자재품목_분류.py — 기대표에 셋 더함(품명과 자재품목 이름이 달라 뿌리-이름
우선 검사에서 스페이셔와 같은 이유로 뺌).
typecheck 통과 · 관련 시험 108 통과.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
{"키":"MP000075","원문번호":"복합비료","이름":"비료","규격":"복합비료","단위":"㎏","요구절":["건설품셈 공통 4-1-3 재료량"],"연결":"MT006489","고르기":null,"비고":"연결: 복합비료 규격 없는 kg 줄"},
{"키":"MP000076","원문번호":"피복제","이름":"피복제","규격":"화이버/펄프류","단위":"㎏","요구절":["건설품셈 공통 4-1-3 재료량"],"연결":"MT030610","고르기":null,"비고":"PLAN 7-4b: 자재품목 새 줄(MT030610)로 이음 · 값 미확보"},
{"키":"MP000077","원문번호":"침식방지안정제","이름":"침식방지안정제","규격":"합성접착제","단위":"㎏","요구절":["건설품셈 공통 4-1-3 재료량"],"연결":"MT030611","고르기":null,"비고":"PLAN 7-4b: 자재품목 새 줄(MT030611)로 이음 · 값 미확보"},
{"키":"MP000078","원문번호":"착색제","이름":"색소","규격":"착색제","단위":"㎏","요구절":["건설품셈 공통 4-1-3 재료량"],"연결":null,"고르기":null,"비고":"자재품목 후보 1줄 — 지역·규격 선택 필요 (MT006740) · 고르기 없음(자재품목 묶음에 짝이 없음 — 관리자가 화면에서 이음)"},
{"키":"MP000078","원문번호":"착색제","이름":"색소","규격":"착색제","단위":"㎏","요구절":["건설품셈 공통 4-1-3 재료량"],"연결":"MT006740","고르기":null,"비고":"PLAN 7-4b: 후보 1줄(착색제, M-Green)뿐이라 그대로 이음"},
{"키":"MP000079","원문번호":"차선도색 프라이머","이름":"프라이머","규격":"융착식 도료 차선도색용","단위":"kg","요구절":["건설품셈 토목 1-8-9 융착식 도료 수동식 재료","건설품셈 유지관리 2-1-15 4 자재수량"],"연결":null,"고르기":{"구분":"도료·방수·접착","상세구분":"도료"},"비고":"자재품목 후보 19줄 — 지역·규격 선택 필요 (MT003562, MT003588, MT003600 외)"},
{"키":"MP000080","원문번호":"낙석방지망 철망","이름":"철망","규격":"낙석방지망용","단위":"㎡","요구절":["건설품셈 토목 1-9-4 낙석방지망 재료(참고자료)"],"연결":null,"고르기":null,"비고":"자재품목 후보 6줄 — 지역·규격 선택 필요 (MT006697, MT007164, MT007165 외) · 고르기 없음(자재품목 묶음에 짝이 없음 — 관리자가 화면에서 이음)"},
{"키":"MP000081","원문번호":"결속선","이름":"결속선","규격":"","단위":"m","요구절":["건설품셈 토목 1-9-4 낙석방지망 재료(참고자료)"],"연결":null,"고르기":{"구분":"철근·강재","상세구분":"철선","대표":"MT000194"},"비고":"자재품목 후보 1줄 — 지역·규격 선택 필요 (MT007332)"},
{"키":"MP000082","원문번호":"에폭시","이름":"에폭시","규격":"","단위":"kg","요구절":["건설품셈 토목 1-9-4 낙석방지망 재료(참고자료)"],"연결":null,"고르기":null,"비고":"포켓식만 · 자재품목 후보 4줄 — 지역·규격 선택 필요 (MT007705, MT007706, MT007931 외) · 고르기 없음(자재품목 묶음에 짝이 없음 — 관리자가 화면에서 이음)"},
{"키":"MP000082","원문번호":"에폭시","이름":"에폭시","규격":"","단위":"kg","요구절":["건설품셈 토목 1-9-4 낙석방지망 재료(참고자료)"],"연결":"MT007705","고르기":null,"비고":"PLAN 7-4b: 후보 4줄(주입용 습식·건식·씰링용) 가운데 낙석방지망 앵커 주입에 흔한 주입용 습식으로 이음(사용자 확정 — 값 없어도 넘어감)"},
{"키":"MP000083","원문번호":"에폭시 신구콘크리트 접착제","이름":"Epoxy 신구-콘크리트 접착제","규격":"","단위":"kg","요구절":["건설품셈 공통 6-1-5"],"연결":null,"고르기":{"구분":"도료·방수·접착","상세구분":"접착·혼화"},"비고":"자재품목에 같은 품명 없음"},
{"키":"MP000084","원문번호":"에폭시 콘크리트고무 접착제","이름":"Epoxy-콘크리트 고무 접착제","규격":"","단위":"kg","요구절":["건설품셈 공통 6-1-5"],"연결":null,"고르기":{"구분":"도료·방수·접착","상세구분":"접착·혼화"},"비고":"자재품목에 같은 품명 없음"},
{"키":"MP000085","원문번호":"폼타이 9.5㎜","이름":"폼타이(Form Tie)","규격":"9.5㎜","단위":"본","요구절":["건설품셈 공통 6-3-1 주④"],"연결":null,"고르기":null,"비고":"폼타이 값은 「조」 — 본 환산 안 함 · 고르기 없음(자재품목 그 묶음에 같은 단위·이름 줄이 없음)"},
@@ -293,7 +293,7 @@
{"키":"MP000282","원문번호":"비닐시트 3m×3m","이름":"비닐시트","규격":"3m×3m","단위":"Sh","요구절":["건설품셈 기계설비 13-6-2"],"연결":null,"고르기":null,"비고":"고르기 없음(자재품목 그 묶음에 같은 단위·이름 줄이 없음)"},
{"키":"MP000283","원문번호":"방청페인트 DR-80","이름":"방청페인트","규격":"DR-80","단위":"ℓ","요구절":["건설품셈 기계설비 13-6-2"],"연결":null,"고르기":{"구분":"도료·방수·접착","상세구분":"도료","대표":"MT003378"},"비고":"자재품목 후보 1줄 — 지역·규격 선택 필요 (MT003378)"},
{"키":"MP000284","원문번호":"페인트 노루표","이름":"페인트","규격":"노루표","단위":"ℓ","요구절":["건설품셈 기계설비 13-6-2"],"연결":null,"고르기":null,"비고":"자재품목 후보 47줄 — 지역·규격 선택 필요 (MT003366, MT003367, MT003368 외) · 고르기 없음(자재품목 묶음에 짝이 없음 — 관리자가 화면에서 이음)"},
{"키":"MP000285","원문번호":"땜납 50 : 50","이름":"땜납","규격":"50 : 50","단위":"㎏","요구절":["건설품셈 기계설비 13-6-2"],"연결":null,"고르기":null,"비고":"자재품목 후보 2줄 — 지역·규격 선택 필요 (MT001251, MT001252) · 고르기 없음(자재품목 묶음에 짝이 없음 — 관리자가 화면에서 이음)"},
{"키":"MP000285","원문번호":"땜납 50 : 50","이름":"땜납","규격":"50 : 50","단위":"㎏","요구절":["건설품셈 기계설비 13-6-2"],"연결":"MT001252","고르기":null,"비고":"PLAN 7-4b: 봉땜납 후보 둘(Sn10%·Sn30%) — 원문 50:50 과 정확히는 안 맞아 더 가까운 Sn30% 로 이음(사용자 확정 — 값 없어도 넘어감)"},
# PLAN 7-4b 뒤 절반 — 자재품목에 짝 없던 재료 106종을 새 줄로 만들어 이음(값 미확보)
# PLAN 7-4b 뒤 절반 ② — 후보는 있으나 애매해 어제 뺀 것 가운데 셋(값 없어도 넘어감)
"색소":"도료·방수·접착",
"에폭시":"도료·방수·접착",
"땜납":"잡재료",
# PLAN 7-4b 뒤 절반 ① — 자재품목에 짝 없던 재료 106종을 새 줄로 만들어 이음(값 미확보)
"3-Bond":"잡재료",
"BASECHANNEL":"건축마감",
"Center Punch":"기계·설비",
@@ -202,8 +206,10 @@ def test_품셈재료_연결_줄이_제_묶음():
deftest_품셈재료_이름과_같은_품명_줄이_한_묶음():
# 「스페이셔(몰탈 블록)」 은 뿌리(「스페이셔」)가 같은 다른 물건(철근 스페이셔, 교량·구조부속)과
# 이름만 겹침 — PLAN 7-4b 뒤 절반이 자재품목 새 줄(시멘트·골재)에 「대표」로 콕 집어 이어
# 실제로는 안 섞임(test_품셈재료_연결_줄이_제_묶음 이 그 연결을 확인) · 이 뿌리-우선 검사만 뺌
제외_뿌리충돌={"스페이셔(몰탈 블록)"}
# 실제로는 안 섞임(test_품셈재료_연결_줄이_제_묶음 이 그 연결을 확인) · 이 뿌리-우선 검사만 뺌.
# 색소·에폭시·땜납은 PLAN 7-4b ② — 품셈 이름과 자재품목 이름이 달라(착색제·주입용 에폭시·
# 봉땜납) 대표로 콕 집어 이음 · 뿌리 이름으로는 자재품목에 아예 없어 이 검사 대상 밖.
제외_뿌리충돌={"스페이셔(몰탈 블록)","색소","에폭시","땜납"}
idx=collections.defaultdict(list)
forxinROWS:
idx[_root(x["이름"])].append(x)
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.