fix(M01): 자재표에 없는 품목 34건 — 재료 줄 검색어 비움(40줄) · 빈 검색어 = 후보 없음 · 결정 목록 절(PLAN 29-3)
- 로직 14 파일 재료 줄 40 검색어를 빈 글로(억지 연결 뗌) · 그 줄만 고침(다른 줄 · 모양 그대로)
- GC000432 메탈리밍쉘 {규격} 은 그대로 — BX 는 품목 있음 · NX 는 이미 후보 없음
- 엔진: 빈 검색어 = 자재표에 없는 품목 — candidates 빈 목록 · 계산 단가 없음 + 까닭 · 고름은 그대로 · 검사 틀림 안 셈(master_pick · master_material) · _틀.md 한 줄
- 결정 목록 맨 아래 「자재표에 없는 품목 — 사용자 결정」 34줄
- 시험 한 건 더함(test_masterdata_check)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BU9gbNE3aWFUvE61pS2WGt
This commit is contained in:
@@ -225,6 +225,7 @@
|
||||
- 이름 조건 = 구분·상세구분·규격이 같아도 품명이 갈리는 자재품목을 가를 때만 둠(예: 파형강관 커플링밴드 vs 접속티 — 둘 다 관경만 규격에 있어 규격 조건으로는 안 갈림). 규격과 같은 방식(낱말이 **모두** 이름에 든 줄) — 대소문자·빈칸은 안 가림.
|
||||
- **키를 못 박음** — 재료 줄은 늘 요소 묶음 + `검색어`(「합판(내수) 12t 서울」) · 줄에 자재품목 키를 바로 적지 않음 · 재료 입력에 키 목록(`고르기`)을 두지 않음.
|
||||
- 찾기 = 검색어 낱말(띄어쓰기로 나눔)이 **모두** 이름 또는 규격에 든 자재품목 줄 · 요소에 `구분` · `상세구분` 이 있으면 그 안에서만 · 단위는 같은 성격까지(아래 환산).
|
||||
- `검색어` 빈 글 = 자재표에 없는 품목(`docs/raw/M01_결정목록` 「자재표에 없는 품목」) — 후보 없음 · 단가 없음 · 까닭만 · 품목을 골라 넣으면 그 값 · 검사는 틀림으로 안 셈.
|
||||
- 자동값 차례 = 값 있는 줄 → 줄 단위와 똑같은 단위 → 검색어 안 지역 낱말(서울 등)과 맞는 줄 → 키 차례 · 그 첫째.
|
||||
- 고른 품목 = 계산 요청에만 실음(`_화면_계약.md` 10장 `고름`) · 로직 파일에 저장하지 않음 · 폐기 품목은 지움.
|
||||
- 단위 환산 = 같은 성격만 — 무게 g · kg · ton(톤 · Ton) / 길이 mm · cm · m · km / 넓이 ㎠ · ㎡ / 부피 ㎤ · ℓ · ㎥ · 단가를 줄 단위로 바꿔 계산.
|
||||
|
||||
@@ -143,7 +143,10 @@ def candidates(
|
||||
"""고르기 조건 안 자재품목 키 — 구분 · 상세구분 · 이름 · 규격 낱말이 모두 든 줄 · 파일 차례대로.
|
||||
`unit` 을 주면 그 단위(호표 줄 단위)와 같은 줄만 — 단위가 다르면 다른 물건.
|
||||
입력 `자재지역` 이 있으면 이름에 그 지역이 든 줄만(그런 줄이 없으면 조건 안 전부).
|
||||
조건에 `검색어` 가 있으면 기본 검색어 찾기(`master_pick`)."""
|
||||
조건에 `검색어` 가 있으면 기본 검색어 찾기(`master_pick`) ·
|
||||
빈 검색어 = 자재표에 없는 품목(후보 없음)."""
|
||||
if mp.empty_term(cond):
|
||||
return []
|
||||
if cond.get("검색어"):
|
||||
return mp.search(master, cond, env, unit)
|
||||
want = [plain_spec(w) for w in str(cond.get("규격") or "").split()]
|
||||
@@ -180,7 +183,7 @@ def pick(master: mf.Master, cond: dict, env: dict, unit: str | None = None) -> s
|
||||
def check_unit(master: mf.Master, where: str, cond: dict, unit: str | None) -> list[str]:
|
||||
"""단위 경고 — 호표 줄·품셈재료 줄 단위와 맞는 후보가 없거나 대표 줄 단위가 다름.
|
||||
틀린 데이터가 아니라 좁혀야 할 조건이라 `check_pick` 과 따로 봄(`check_master 단위`)."""
|
||||
if cond.get("검색어"):
|
||||
if "검색어" in cond: # 빈 검색어(자재표에 없는 품목)도 이 길 — 구분 안 후보로 경고하지 않음
|
||||
return mp.check_warn(master, where, cond, unit)
|
||||
cond = static(cond)
|
||||
rows = master.index.get(MARKET, {})
|
||||
|
||||
@@ -152,6 +152,8 @@ def priced(master, item: dict, ref, env: dict, index: int | None):
|
||||
def _priced(master, item: dict, ref, env: dict, index: int | None):
|
||||
unit = item.get("단위")
|
||||
picked = (CHOSEN.get() or {}).get(str(index)) if index is not None else None
|
||||
if not picked and empty_term(ref): # 자재표에 없는 품목 — 구분 안 첫 품목으로 잇지 않음
|
||||
return None, None, NO_ITEM, None
|
||||
try:
|
||||
if picked or (isinstance(ref, dict) and ref.get("검색어")):
|
||||
ref = picked or pick(master, ref, env, unit)
|
||||
@@ -170,19 +172,29 @@ def _priced(master, item: dict, ref, env: dict, index: int | None):
|
||||
return price, source, why, warn
|
||||
|
||||
|
||||
NO_ITEM = "자재표에 없는 품목 — 검색어 비움(결정 목록) · 품목을 골라 넣음"
|
||||
|
||||
|
||||
def empty_term(ref) -> bool:
|
||||
"""검색어 칸은 있고 비었음 = 자재표에 없는 품목(`M01_결정목록` 「자재표에 없는 품목」) —
|
||||
단가 없음 · 까닭만(고름으로 고를 수 있음) · 검사는 이 줄을 틀림으로 세지 않음."""
|
||||
return isinstance(ref, dict) and "검색어" in ref and not str(ref["검색어"] or "").strip()
|
||||
|
||||
|
||||
# ── 검사 ───────────────────────────────────────────────────────────────
|
||||
def check_zero(master, where: str, cond: dict) -> list[str]:
|
||||
"""검색어 후보 0 — `{입력}` 이 든 검색어는 계산 때 채워져 여기서 못 봄."""
|
||||
"""검색어 후보 0 — `{입력}` 이 든 검색어는 계산 때 채워져 여기서 못 봄 ·
|
||||
빈 검색어는 `empty_term`(틀림 아님)."""
|
||||
term = str(cond.get("검색어") or "")
|
||||
if not term.strip() or "{" in term or any("{" in str(v) for v in cond.values()):
|
||||
return [] if term.strip() else [f"{where} · 검색어 비어 있음"]
|
||||
return []
|
||||
return [] if search(master, cond) else [f"{where} · 검색어 「{term}」 후보 0"]
|
||||
|
||||
|
||||
def check_warn(master, where: str, cond: dict, unit: str | None) -> list[str]:
|
||||
"""단위 경고 줄 — 검색어 후보가 있으나 줄 단위와 같은 성격이 하나도 없음."""
|
||||
term = str(cond.get("검색어") or "")
|
||||
if not unit or "{" in term or "{" in str(cond.get("구분") or ""):
|
||||
if not unit or not term.strip() or "{" in term or "{" in str(cond.get("구분") or ""):
|
||||
return []
|
||||
keys = search(master, cond)
|
||||
rows = master.index.get(mm.MARKET, {})
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": "아세틸렌 98%"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": ""},
|
||||
"이름": "동 및 동합금용 용접봉",
|
||||
"규격": "BCUP3",
|
||||
"단위": "㎏",
|
||||
|
||||
@@ -203,7 +203,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": "아세틸렌 98%"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": ""},
|
||||
"이름": "잠호용접와이어",
|
||||
"단위": "㎏",
|
||||
"수량": "만약(용접방식 == '자동용접', 환산용접길이 * 찾기(QC001190, 재료='잠호용접와이어').자동용접, 0)",
|
||||
|
||||
@@ -2055,7 +2055,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "동바리·비계", "검색어": "안전발판(PSP대용) 250×3000"},
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "동바리·비계", "검색어": ""},
|
||||
"이름": "손잡이기둥",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000063, 구분='손잡이기둥').수량 * 찾기(QC000016, 공기=공기, 재료='강관, 비계기본틀, 비계장선틀, 가새').손율 / 100",
|
||||
|
||||
@@ -269,7 +269,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "콘크리트제품", "상세구분": "경계석·블록", "검색어": "주차라인블록 1000X300X150"},
|
||||
"요소": {"구분": "콘크리트제품", "상세구분": "경계석·블록", "검색어": ""},
|
||||
"이름": "치장벽돌",
|
||||
"단위": "매",
|
||||
"수량": "찾기(QC001213, 벽두께=벽두께).'벽돌(19×9×5.7㎝)'",
|
||||
|
||||
@@ -243,7 +243,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "방수·실링", "검색어": "방수석고보드 12.5t"},
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "방수·실링", "검색어": ""},
|
||||
"이름": "일체식 방수시트",
|
||||
"단위": "㎡",
|
||||
"수량": "찾기(QC000635, 구분='일체식 방수시트').수량",
|
||||
|
||||
@@ -3303,7 +3303,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "목재", "상세구분": "각재·판재", "검색어": "외송각재 30×30×3600mm 서울"},
|
||||
"요소": {"구분": "목재", "상세구분": "각재·판재", "검색어": ""},
|
||||
"이름": "각재 10㎝×10㎝",
|
||||
"단위": "㎥",
|
||||
"수량": "찾기(QC000245).각재",
|
||||
|
||||
@@ -2394,7 +2394,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "볼트·앵커·철물", "상세구분": "와이어로프·클램프", "검색어": "와이어로프(철심) 9㎜"},
|
||||
"요소": {"구분": "볼트·앵커·철물", "상세구분": "와이어로프·클램프", "검색어": ""},
|
||||
"이름": "P.P로프(9㎜)",
|
||||
"단위": "m",
|
||||
"수량": "찾기(QC000334, 구분='육상부설').'P.P로프(9㎜)' / 100",
|
||||
@@ -5339,7 +5339,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "매트·토목섬유", "상세구분": "부직포·토목섬유", "검색어": "직포 옥상방수용직포"},
|
||||
"요소": {"구분": "매트·토목섬유", "상세구분": "부직포·토목섬유", "검색어": ""},
|
||||
"이름": "지오콤포지트",
|
||||
"단위": "㎡",
|
||||
"수량": "만약(재료 == '지오콤포지트', 찾기(QC000399, 구분='지오콤포지트').수량, 0)",
|
||||
|
||||
@@ -957,7 +957,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "처마후레싱 C/S"},
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": ""},
|
||||
"이름": "테라조",
|
||||
"단위": "m",
|
||||
"수량": "만약(구분 == '석재류', 찾기(QC001266, 구분=구분).테라조, 0)",
|
||||
@@ -966,7 +966,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": "처마후레싱 C/S"},
|
||||
"요소": {"구분": "건축마감", "상세구분": "천장·바닥·마감재", "검색어": ""},
|
||||
"이름": "합성수지 걸레받이",
|
||||
"단위": "m",
|
||||
"수량": "만약(구분 == '합성수지류', 찾기(QC001266, 구분=구분).합성수지, 0)",
|
||||
|
||||
@@ -958,7 +958,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "방수·실링", "검색어": "방수석고보드 12.5t"},
|
||||
"요소": {"구분": "도료·방수·접착", "상세구분": "방수·실링", "검색어": ""},
|
||||
"이름": "벤토나이트방수재",
|
||||
"단위": "㎡",
|
||||
"수량": "만약(종류 == '벤토나이트 시트', 찾기(QC001307, 구분='벤토나이트방수재', 종류='시트', 부위=부위).수량, 0)",
|
||||
@@ -1021,7 +1021,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": "PVC코팅철선 #8"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": ""},
|
||||
"이름": "조인트테이프",
|
||||
"단위": "m",
|
||||
"수량": "만약(종류 == '벤토나이트 시트', 찾기(QC001307, 구분='조인트테이프', 종류='시트', 부위=부위).수량, 0)",
|
||||
|
||||
@@ -1272,7 +1272,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "거푸집", "검색어": "패널(K-SPAN PANEL) 0.6×305mm"},
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "거푸집", "검색어": ""},
|
||||
"이름": "강재거푸집 손료",
|
||||
"단위": "㎡",
|
||||
"수량": "(1 - 10 / 100) / 사용횟수",
|
||||
@@ -1583,7 +1583,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "거푸집", "검색어": "폼타이 D형"},
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "거푸집", "검색어": ""},
|
||||
"이름": "원형맨홀거푸집 ø740 손료",
|
||||
"단위": "조",
|
||||
"수량": "만약(규격 == 'ø740', 1 / 10, 0)",
|
||||
@@ -1592,7 +1592,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "거푸집", "검색어": "폼타이 D형"},
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "거푸집", "검색어": ""},
|
||||
"이름": "원형맨홀거푸집 ø900 손료",
|
||||
"단위": "조",
|
||||
"수량": "만약(규격 == 'ø900', 1 / 10, 0)",
|
||||
@@ -1601,7 +1601,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "거푸집", "검색어": "폼타이 D형"},
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "거푸집", "검색어": ""},
|
||||
"이름": "원형맨홀거푸집 ø1200 손료",
|
||||
"단위": "조",
|
||||
"수량": "만약(규격 == 'ø1200', 1 / 10, 0)",
|
||||
@@ -1610,7 +1610,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "거푸집", "검색어": "폼타이 D형"},
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "거푸집", "검색어": ""},
|
||||
"이름": "원형맨홀거푸집 ø1500 손료",
|
||||
"단위": "조",
|
||||
"수량": "만약(규격 == 'ø1500', 1 / 10, 0)",
|
||||
@@ -1619,7 +1619,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "거푸집", "검색어": "폼타이 D형"},
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "거푸집", "검색어": ""},
|
||||
"이름": "원형맨홀거푸집 ø1800 손료",
|
||||
"단위": "조",
|
||||
"수량": "만약(규격 == 'ø1800', 1 / 10, 0)",
|
||||
|
||||
@@ -447,7 +447,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "볼트·앵커·철물", "상세구분": "볼트·너트", "검색어": "작은나사(스크류) ø 4.2㎜"},
|
||||
"요소": {"구분": "볼트·앵커·철물", "상세구분": "볼트·너트", "검색어": ""},
|
||||
"이름": "AL리벳",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC001339, 구분='AL리벳', 규격='ø 4.2㎜').수량",
|
||||
|
||||
@@ -346,7 +346,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "치즐(0.2㎥)"},
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": ""},
|
||||
"이름": "샘플러",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000779, 종별='샘플러').수량",
|
||||
@@ -522,7 +522,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "치즐(0.2㎥)"},
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": ""},
|
||||
"이름": "베인 블레이드",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000780, 종별='재료비', 세목='vane blade(대형)').수량",
|
||||
@@ -1545,7 +1545,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "치즐(0.2㎥)"},
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": ""},
|
||||
"이름": "에어해머",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000794, 종별='에어해머').수량",
|
||||
@@ -1667,7 +1667,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "치즐(0.2㎥)"},
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": ""},
|
||||
"이름": "에어해머",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000795, 종별='에어해머').수량",
|
||||
@@ -1789,7 +1789,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "치즐(0.2㎥)"},
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": ""},
|
||||
"이름": "에어해머",
|
||||
"단위": "개",
|
||||
"수량": "찾기(QC000796, 종별='에어해머').수량",
|
||||
|
||||
@@ -6918,7 +6918,7 @@
|
||||
{ "종류": "재료", "요소": { "구분": "잡재료", "상세구분": "소모품", "검색어": "여과기 14\"×14〃" }, "이름": "여과기", "단위": "Sh", "수량": "3", "비목": "재료비", "출처": "건설품셈 기계설비 13-6-1" },
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": { "구분": "잡재료", "상세구분": "소모품", "검색어": "그리스(일반범용) CROWN" },
|
||||
"요소": { "구분": "잡재료", "상세구분": "소모품", "검색어": "" },
|
||||
"이름": "걸레",
|
||||
"단위": "㎏",
|
||||
"수량": "2.5",
|
||||
@@ -7200,7 +7200,7 @@
|
||||
{ "종류": "재료", "요소": { "구분": "잡재료", "상세구분": "용접·가스", "검색어": "용접봉 산소" }, "이름": "가스용접봉", "단위": "㎏", "수량": "0.146", "비목": "재료비", "출처": "건설품셈 기계설비 13-6-2" },
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": { "구분": "잡재료", "상세구분": "용접·가스", "검색어": "아세틸렌 98%" },
|
||||
"요소": { "구분": "잡재료", "상세구분": "용접·가스", "검색어": "" },
|
||||
"이름": "신주용접봉",
|
||||
"단위": "㎏",
|
||||
"수량": "0.073",
|
||||
@@ -7220,7 +7220,7 @@
|
||||
{ "종류": "재료", "요소": { "구분": "잡재료", "상세구분": "소모품", "검색어": "소창직" }, "이름": "소창직", "단위": "m", "수량": "0.134", "비목": "재료비", "출처": "건설품셈 기계설비 13-6-2" },
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": { "구분": "잡재료", "상세구분": "소모품", "검색어": "그리스(일반범용) CROWN" },
|
||||
"요소": { "구분": "잡재료", "상세구분": "소모품", "검색어": "" },
|
||||
"이름": "걸레",
|
||||
"단위": "㎏",
|
||||
"수량": "0.73",
|
||||
@@ -10333,7 +10333,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "치즐(0.2㎥)"},
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": ""},
|
||||
"이름": "Bite",
|
||||
"단위": "개",
|
||||
"수량": "2.5",
|
||||
@@ -10342,7 +10342,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": "빗자루 도로청소용"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": ""},
|
||||
"이름": "톱날",
|
||||
"단위": "개",
|
||||
"수량": "2.5",
|
||||
@@ -10351,7 +10351,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": "치즐(0.2㎥)"},
|
||||
"요소": {"구분": "기계·설비", "상세구분": "기계류", "검색어": ""},
|
||||
"이름": "Bite",
|
||||
"단위": "개",
|
||||
"수량": "3.2",
|
||||
@@ -13159,7 +13159,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": "그리스(일반범용) CROWN"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": ""},
|
||||
"이름": "가루비누",
|
||||
"단위": "㎏",
|
||||
"수량": "0.04",
|
||||
@@ -15685,7 +15685,7 @@
|
||||
"출처": "건설품셈 기계설비 13-10-2",
|
||||
"비고": "원문 규격 ø4㎜×ℓ350"
|
||||
},
|
||||
{ "종류": "재료", "요소": { "구분": "잡재료", "상세구분": "소모품", "검색어": "그리스(일반범용) CROWN" }, "이름": "걸레", "단위": "㎏", "수량": "2", "비목": "재료비", "출처": "건설품셈 기계설비 13-10-2" },
|
||||
{ "종류": "재료", "요소": { "구분": "잡재료", "상세구분": "소모품", "검색어": "" }, "이름": "걸레", "단위": "㎏", "수량": "2", "비목": "재료비", "출처": "건설품셈 기계설비 13-10-2" },
|
||||
{ "종류": "재료", "요소": { "구분": "잡재료", "상세구분": "소모품", "대표": "MT030665" }, "이름": "세유", "단위": "ℓ", "수량": "2", "비목": "재료비", "출처": "건설품셈 기계설비 13-10-2" },
|
||||
{ "종류": "재료", "요소": { "구분": "잡재료", "상세구분": "소모품", "대표": "MT030646" }, "이름": "Grease", "단위": "㎏", "수량": "0.2", "비목": "재료비", "출처": "건설품셈 기계설비 13-10-2" },
|
||||
{
|
||||
@@ -16505,7 +16505,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": "그리스(일반범용) CROWN"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "소모품", "검색어": ""},
|
||||
"이름": "걸레",
|
||||
"단위": "㎏",
|
||||
"수량": "(만약(공사 == '기기', 0.73, 만약(공사 == '철골', 0.1, 만약(공사 == '배관', 0.2, 만약(공사 == 'Belt & Conveyor', 0.3, 만약(공사 == 'Heater & Tank', 0.1, 만약(공사 == 'Pump & Fan', 0.73, 만약(공사 == 'Crane 류', 0.73, 0))))))))",
|
||||
@@ -16649,7 +16649,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": "팁(날) 노면파쇄기용"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": ""},
|
||||
"이름": "용접면",
|
||||
"단위": "개",
|
||||
"수량": "(만약(공사 == '기기', 0.01, 만약(공사 == '철골', 0.02, 만약(공사 == '배관', 0.02, 만약(공사 == 'Belt & Conveyor', 0.02, 만약(공사 == 'Heater & Tank', 0.02, 만약(공사 == 'Pump & Fan', 0.01, 만약(공사 == 'Crane 류', 0.02, 0))))))))",
|
||||
@@ -16658,7 +16658,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": "팁(날) 노면파쇄기용"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": ""},
|
||||
"이름": "용접홀다",
|
||||
"단위": "개",
|
||||
"수량": "(만약(공사 == '기기', 0.01, 만약(공사 == '철골', 0.02, 만약(공사 == '배관', 0.02, 만약(공사 == 'Belt & Conveyor', 0.02, 만약(공사 == 'Heater & Tank', 0.02, 만약(공사 == 'Pump & Fan', 0.01, 만약(공사 == 'Crane 류', 0.02, 0))))))))",
|
||||
@@ -16667,7 +16667,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": "팁(날) 노면파쇄기용"},
|
||||
"요소": {"구분": "잡재료", "상세구분": "용접·가스", "검색어": ""},
|
||||
"이름": "용접앞치마",
|
||||
"단위": "개",
|
||||
"수량": "(만약(공사 == '기기', 0.01, 만약(공사 == '철골', 0.05, 만약(공사 == '배관', 0.02, 만약(공사 == 'Belt & Conveyor', 0.05, 만약(공사 == 'Heater & Tank', 0.05, 만약(공사 == 'Pump & Fan', 0.01, 만약(공사 == 'Crane 류', 0.05, 0))))))))",
|
||||
|
||||
@@ -944,7 +944,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "거푸집", "검색어": "비탈형영구거푸집(KC-FORM) 450용"},
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "거푸집", "검색어": ""},
|
||||
"이름": "핀폴 손료",
|
||||
"단위": "개",
|
||||
"수량": "1 * (1 - 10 / 100) / 20",
|
||||
@@ -3198,7 +3198,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "거푸집", "검색어": "폼타이 D형"},
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "거푸집", "검색어": ""},
|
||||
"이름": "원형거푸집(PE 10회) 스라브 및 기초",
|
||||
"단위": "조",
|
||||
"수량": "1 / 10",
|
||||
@@ -3208,7 +3208,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "거푸집", "검색어": "폼타이 D형"},
|
||||
"요소": {"구분": "거푸집·가설재", "상세구분": "거푸집", "검색어": ""},
|
||||
"이름": "원형거푸집(PE 10회) 벽체",
|
||||
"단위": "조",
|
||||
"수량": "1 / 10",
|
||||
@@ -4656,7 +4656,7 @@
|
||||
},
|
||||
{
|
||||
"종류": "재료",
|
||||
"요소": {"구분": "교량·구조부속", "상세구분": "신축이음·받침", "검색어": "익스팬션조인트휠러 t=10mm"},
|
||||
"요소": {"구분": "교량·구조부속", "상세구분": "신축이음·받침", "검색어": ""},
|
||||
"이름": "탄성고무받침(150×150×15)",
|
||||
"단위": "㎡",
|
||||
"수량": "고무받침면적",
|
||||
|
||||
Reference in New Issue
Block a user