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 @@ +
| 직접비 | 배분(A) | 배분(B) | - {viewMode === 'type' &&배분(C) | } - {viewMode === 'type' &&C 배분내역 | } + {viewMode === 'type' &&배분(C) (형식별 전용) | } + {viewMode === 'type' &&C 배분내역 (형식별 전용) | }최종 원가 | {viewMode === 'type' &&생산량 / 단위원가 | }
|---|