knowledge(관·이음관): 커플링밴드-접속티 안 갈리는 까닭 분석 — 규격 낱말 매칭 vs 이름 칸 추가 견주기
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V1MKKZKpUHTPKb513FneU8
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
# 커플링밴드 · 접속티 — 왜 안 갈리나 (2026-09-22)
|
||||
|
||||
일감: 커플링밴드가 자재품목에서 접속티와 안 갈리는 문제 검토. 앞서 `_품셈재료_삭제조건.md`(GF000176)가 「이름 칸을 더하자」고 적었는데, 「규격으로 갈라야 하지 않나」를 다시 봄. 코드·데이터는 안 고침 — 분석만.
|
||||
|
||||
## ① 자재품목에 실제로 들어 있는 줄
|
||||
|
||||
같은 구분(관·이음관) · 상세구분(파형강관) 아래 세 갈래가 섞여 있음.
|
||||
|
||||
| 갈래 | 이름 | 규격(보기) | 단위 | 줄 수 | 관경 범위 |
|
||||
|---|---|---|---|---|---|
|
||||
| A | 파형강관 커플링밴드(관급) | `Φ800mm` (품명 없음) | 개 | 16 | D300~D1800 |
|
||||
| B | 파형강관이음관(관급)-거양 | `커플링밴드, Φ800mm, 아연도금` | 개 | 22 | D150~D2400 |
|
||||
| C | 파형강관이음관(관급)-거양 | `커플링밴드, Φ800mm, PE양면피복` | 개 | 14 | D300~D1800 |
|
||||
| D | 파형강관이음관(관급)-거양 | `접속티, Φ800mm, 아연도금` | 개 | 23 | D150~D2400 |
|
||||
| E | 파형강관이음관(관급)-거양 | `접속티, Φ800mm, PE내면피복` | 개 | 19 | D300~D2400 |
|
||||
| F | 파형강관이음관(관급)-거양 | `접속티, Φ800mm, PE양면피복` | 개 | 16 | D300~D1800 |
|
||||
|
||||
(그 밖에 이름이 아예 다른 「커플링밴드(편형식)」·「커플링밴드(파형식)」(MT015210~239, 규격 `D…`, 단위 「조」)도 있으나 구분·상세구분이 같아 후보 풀에 늘 같이 들어옴 — 다만 단위가 「조」 라 이번 혼선의 주 원인은 아님.)
|
||||
|
||||
로직 GF000176(파형강관 부설, 12-11-3)의 커플링밴드 호표는 아직 옛 방식 그대로(`요소: "MP:커플링밴드 ∅{관경}㎜"`) — 품셈재료 `MP000027·32·37`이 관경별로 A 갈래 키(MT015309·311·313)를 손으로 직접 연결해 지금은 값이 맞게 나옴. `_품셈재료_삭제조건.md` 일감24가 이 옛 방식을 고르기 조건으로 옮기려다 못 옮긴 자리가 이 문제.
|
||||
|
||||
## ② 규격 칸만으로 가를 수 있는가 — 지금은 못 가름
|
||||
|
||||
고르기 조건 매칭(`master_material.candidates`)은 조건의 `규격`을 빈칸으로 쪼갠 낱말마다 `자재품목 규격 문자열에 그 낱말이 들었는가`로 봄(부분 문자열 포함, `plain_spec`이 대소문자·공백·Φ/∅ 기호만 다듬고 나머지 글자는 그대로 둠).
|
||||
|
||||
지금 관경만 넣은 조건(`Φ{관경}mm` 한 낱말)을 쓰면:
|
||||
|
||||
- B·C·D·E·F 는 규격에 관경 표기가 들어 있어 다 걸림 — **커플링밴드 갈래(B·C)와 접속티 갈래(D·E·F)가 똑같이 걸림**(예: `Φ800mm` 는 「접속티, Φ800mm, 아연도금」 안에도 부분 문자열로 들어 있음).
|
||||
- A 는 규격이 관경뿐이라 걸리긴 하나, 위와 같은 이유로 접속티까지 같이 걸림.
|
||||
|
||||
**갈리지 않는 진짜 까닭** — 규격 글자 자체는 커플링밴드/접속티를 구별하는 낱말(「커플링밴드」·「접속티」)을 이미 담고 있음(B·C·D·E·F). 다만 지금 조건이 그 낱말을 안 쓰고 관경만 써서 못 가름 — A 는 그 낱말 자체가 규격에 없어(이름에만 있음) 낱말을 넣어도 안 걸림. 즉 문제는 「규격 매칭 방식」이 아니라 **A 갈래만 품명이 규격 밖(이름)에 있는 것**.
|
||||
|
||||
## ③ 규격 칸을 다듬으면 가를 수 있는가 — 가능하나 A 16줄을 고쳐야 하고 딸린 자리가 있음
|
||||
|
||||
조건에 `커플링밴드 Φ{관경}mm`(낱말 둘)를 쓰면 B·C 만 걸리고 D·E·F 는 「커플링밴드」 낱말이 없어 빠짐 — 접속티와는 바로 갈림. 문제는 A: 규격이 `Φ800mm` 뿐이라 「커플링밴드」 낱말이 없어 **A 가 오히려 후보에서 빠짐**(지금 실제로 쓰는 값이 A 줄인데도).
|
||||
|
||||
가르려면 A 16줄의 규격을 B·C 와 같은 서식(`커플링밴드, Φ{관경}mm` 류)으로 고쳐 써야 함. 그러면 딸리는 자리:
|
||||
|
||||
- `update_관급단가_느슨.py` 가 이미 규격 **머리말**로 갈래를 가름(`re.match(r"(커플링밴드|접속티)", 규격)`, `resources/master_data/scripts/update_관급단가_느슨.py:315`) — A 는 지금 이 정규식을 안 타는 줄이라 무관했는데, 규격에 「커플링밴드」를 붙이면 새로 이 갈래를 타게 됨. 그 뒤 로직이 A 를 접속티처럼 오판하지 않는지 다시 봐야 함.
|
||||
- `update_관급단가.py` 의 `CORR_WORDS`(`:270`)에도 「커플링밴드」·「접속티」가 낱말로 있어, 원문 규격 짝짓기 때 이 낱말로 후보를 좁힘 — A 규격이 바뀌면 이 짝짓기 결과(이미 채워진 관급 값)가 같은 줄을 계속 고르는지 다시 확인해야 함.
|
||||
- `build_자재품목_분류.py:225` 의 구분 분류 정규식(`파형강관|파형관|커플링밴드|수밀벨트`)은 이름도 같이 봐서 A 는 지금도 이 정규식에 걸림 — 규격을 고쳐도 이쪽은 영향 없음.
|
||||
- 규격은 자재품목(조달청·원문 사본 성격) 원자료 칸이라, 고치면 원자료를 다시 받을 때(판 갱신) 같은 문구를 또 맞춰 써야 함 — `_품셈재료_삭제조건.md` 가 이름 칸 추가를 미룬 것과 같은 이유의 위험.
|
||||
|
||||
## ④ 이름 칸을 더하기 vs 규격을 다듬기 — 견주기(고르지 않음)
|
||||
|
||||
| | 이름 칸을 고르기 조건에 더함 | 규격을 다듬음(A 16줄) |
|
||||
|---|---|---|
|
||||
| 자재품목 원자료 | 안 건드림 | A 16줄의 규격 문구를 고쳐 씀(조달청 사본 성격 훼손) |
|
||||
| 손댈 코드 | 고르기 스키마·엔진(`PICK_KEYS`·`candidates`) 한 곳에 「이름」 조건 지원을 더함 | 원자료 16줄 + 그 규격 문구를 이미 쓰는 스크립트 둘(`update_관급단가.py`·`update_관급단가_느슨.py`)의 갈래 판정을 다시 확인 |
|
||||
| 가르는 힘 | 이름이 갈래마다 다 다르므로(A·B~F 이름 자체가 서로 다름) 확실히 가름 | 가능은 하나 A 서식을 나머지와 맞춰야만 가름 — 서식이 어긋나면 다시 안 갈림 |
|
||||
| 다른 갈래(예: 흄관·PVC 관 이음부속)에도 같은 문제가 또 생기면 | 스키마에 이름 조건이 이미 있어 바로 씀 | 그 갈래 규격도 매번 사람이 다시 다듬어야 함 |
|
||||
|
||||
규격은 지금도 B~F 사이에서는 「커플링밴드/접속티」 낱말로 실제로 갈리고 있음(다른 스크립트가 이미 그 낱말에 기대고 있음) — A 하나만 예외. 그 예외를 규격 쪽에서 고치면 손댈 스크립트가 둘 늘고, 이름 쪽에서 고르면 엔진 한 곳만 늘어남.
|
||||
Reference in New Issue
Block a user