fix(master_data): ESTX 다섯 갈래 노임 파일 뺌 · 값 확인 못 한 직종은 모두 준용 — 인력_준용대상
- 인력_엔지니어링노임 · 측량노임 · 건설사업관리노임 · SW노임 · 산림노임 뺌(출처 모르는 105 줄 · 원문 확보 뒤에만) - 인력_미확보 → 인력_준용대상 49 직종(18 직종 되돌림) · 줄마다 준용 칸 null · 로직 참조 526 곳 되돌림 - M01 준용 고르기 — 준용대상 파일도 · 후보 = 건설노임·제조노임 공표 직종 · ref = 인력:원문:열쇠 - 로직 일괄 시험 계산: 통과 1011 · 인력 준용대상 값 없음 176 · check 틀·로직 0 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PAdA5ThqmtVSsbzjusk1cJ
This commit is contained in:
@@ -232,7 +232,7 @@ def elements(group: str, q: str, limit: int) -> dict:
|
||||
_PICK = {
|
||||
"procure": "재료_나라장터자재.json",
|
||||
"price": "재료_시중물가.json",
|
||||
"job": "인력_건설노임.json",
|
||||
"job": ("인력_건설노임.json", "인력_제조노임.json"),
|
||||
}
|
||||
|
||||
|
||||
@@ -251,12 +251,15 @@ def _lowest(value) -> object:
|
||||
|
||||
def pick(kind: str, q: str, limit: int) -> dict:
|
||||
"""고르기 창 — `procure` 나라장터자재(ref = 나라장터:<열쇠>) · `price` 시중물가(관급 조달 줄 포함 · ref = 열쇠)
|
||||
· `job` 값 있는 건설노임 직종(ref = 열쇠) · 이름·규격 낱말이 모두 들어간 줄."""
|
||||
· `job` 값 있는 건설노임·제조노임 직종(ref = 인력:원문:열쇠) · 이름·규격 낱말이 모두 들어간 줄."""
|
||||
if kind not in _PICK:
|
||||
raise StoreError(404, f"없는 고르기 「{kind}」")
|
||||
words = [_squash(w) for w in q.split()]
|
||||
hits = []
|
||||
for row in read(_PICK[kind])[0].get("줄") or []:
|
||||
names = _PICK[kind] if isinstance(_PICK[kind], tuple) else (_PICK[kind],)
|
||||
books = [read(n)[0] for n in names]
|
||||
rows = [(data.get("원문"), row) for data in books for row in data.get("줄") or []]
|
||||
for book, row in rows:
|
||||
if kind == "job" and row.get("값") is None:
|
||||
continue
|
||||
text = _squash(f"{row.get('이름')} {row.get('규격')}")
|
||||
@@ -264,7 +267,9 @@ def pick(kind: str, q: str, limit: int) -> dict:
|
||||
key = str(row.get("열쇠"))
|
||||
hits.append(
|
||||
{
|
||||
"ref": f"나라장터:{key}" if kind == "procure" else key,
|
||||
"ref": {"procure": f"나라장터:{key}", "job": f"인력:{book}:{key}"}.get(
|
||||
kind, key
|
||||
),
|
||||
**{k: row.get(k) for k in ("이름", "규격", "단위")},
|
||||
"값": _lowest(row.get("값")),
|
||||
"관급": kind == "price" and row["값"]["조달"].get("값") is not None,
|
||||
|
||||
Reference in New Issue
Block a user