From aaf5a433f93d7c7891c82e2ea1b7b92cda3747d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=ED=98=9C=EC=9D=B8?= Date: Wed, 4 Mar 2026 11:25:51 +0900 Subject: [PATCH] Update cost-pdf.html: Refined POOL A logic and UI improvements. --- cost-pdf.html | 37 ++++++++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/cost-pdf.html b/cost-pdf.html index 0c90172..7448d0b 100644 --- a/cost-pdf.html +++ b/cost-pdf.html @@ -149,7 +149,7 @@ } } catch(e) { console.warn("Firebase not available."); } - const POOL_A_PROJECTS = ['총무 [26-관리-03]', '부서 공통 [26-관리-06]', '공통']; + const POOL_A_PROJECTS = ['총무 [26-관리-03]', '부서 공통 [26-관리-06]']; const POOL_B_PROJECTS = ['관리', '생산', '인사 [26-관리-02]']; const TEAM_RATIOS = { '일반경비': { '철근팀': 0.45, '제작팀': 0.30, '공무팀': 0.25 } }; const NON_MANAGED_FORMS = ['가족사지원', '공통', '기타', '시설관리', '연구개발', '현장자재', '현장지원', '공통(거더)', '공통(데크,가로보)', '품질']; @@ -558,8 +558,6 @@ fEx.forEach(e => { if (isB(e.projectName)) poolBVal += e.amount; else if (isA(e.projectName)) poolAVal += e.amount; - else if (e.team === '관리팀' && !mgmtPoolAAccounts.some(acc => e.account.includes(acc))) poolBVal += e.amount; - else if (e.team === '관리팀') poolAVal += e.amount; else { if (!projectMap[e.projectName]) projectMap[e.projectName] = { name: e.projectName, direct: 0, hours: 0, byAccount: {}, byTeam: {}, byForm: {} }; projectMap[e.projectName].direct += e.amount; @@ -630,12 +628,7 @@ formMap[fName].breakdown[p.name] = (formMap[fName].breakdown[p.name] || 0) + val; formMap[fName].allocTrace.push({ projectName: p.name, - directShare: val, - ratio, - projectHours: p.hours, - shareHours, - allocA: shareAllocA, - allocB: shareAllocB + directShare: v }); }); }); @@ -1048,6 +1041,28 @@ +
+

POOL 기준 안내

+
+
+
운영비 (POOL A)
+
운영/공통 성격 비용을 수익 프로젝트 공수 비율로 배분하는 풀입니다.
+
기본 프로젝트: {POOL_A_PROJECTS.join(', ') || '-'}
+
+
+
관리비 (POOL B)
+
관리/간접 성격 비용을 수익 프로젝트 공수 비율로 배분하는 풀입니다.
+
기본 프로젝트: {POOL_B_PROJECTS.join(', ') || '-'}
+
+
+
형식배분 (C)
+
원가관리 비대상 형식 원가를 관리대상 형식으로 규칙에 따라 재배분합니다.
+
적용 범위: 형식별 탭 전용 (교량별/팀별 미적용)
+
비대상 형식은 형식별 리스트에서 숨김 처리됩니다.
+
+
+
+
@@ -1056,8 +1071,8 @@ - {viewMode === 'type' && } - {viewMode === 'type' && } + {viewMode === 'type' && } + {viewMode === 'type' && } {viewMode === 'type' && }
직접비 배분(A) 배분(B)배분(C)C 배분내역배분(C) (형식별 전용)C 배분내역 (형식별 전용)최종 원가생산량 / 단위원가