fix: 작업자별 현황 테이블도 대분류로 그룹화

- renderWorkReportTable 함수에서 getMajorCategory() 사용
- 작업내용을 대분류(Base제작, 용기제작, 파이핑 등)로 표시

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Hyungi Ahn
2026-02-05 10:25:26 +09:00
parent bea0fec4f1
commit 0ea253befd

View File

@@ -2483,40 +2483,42 @@
// 작업자별로 데이터 그룹화 (프로젝트별로 먼저 그룹화)
const workerGroupedData = {};
// 상세 데이터에서 작업자별 프로젝트-작업유형 데이터 수집
// 상세 데이터에서 작업자별 프로젝트-작업유형 데이터 수집 (대분류 기준)
if (recentWorkData && Array.isArray(recentWorkData)) {
recentWorkData.forEach(work => {
const workerName = work.worker_name || '알 수 없음';
const projectName = work.project_name || '알 수 없는 프로젝트';
const workTypeName = work.work_type_name || `작업유형 ${work.work_type_id}`;
const workHours = parseFloat(work.work_hours) || 0;
const workDate = work.report_date;
// 주말 연차/휴무는 집계에서 제외
if (isVacationProject(projectName) && isWeekend(workDate)) {
console.log(`🚫 주말 연차/휴무 제외: ${workerName} - ${projectName} (${formatSimpleDate(workDate)})`);
return; // 집계하지 않음
}
if (!workerGroupedData[workerName]) {
workerGroupedData[workerName] = {};
}
if (!workerGroupedData[workerName][projectName]) {
workerGroupedData[workerName][projectName] = {};
}
// 연차/휴무 프로젝트는 작업내용을 통합
let finalWorkTypeName = workTypeName;
// 대분류로 작업내용 그룹화
let finalWorkTypeName;
if (isVacationProject(projectName)) {
finalWorkTypeName = '-'; // 연차/휴무는 작업내용을 '-'로 통합
console.log(`🏖️ 연차/휴무 통합: ${workerName} - ${projectName} (${workTypeName} → -)`);
} else {
// 대분류 매핑 사용
const majorCategory = getMajorCategory(work.work_type_id);
finalWorkTypeName = majorCategory.name;
}
if (!workerGroupedData[workerName][projectName][finalWorkTypeName]) {
workerGroupedData[workerName][projectName][finalWorkTypeName] = 0;
}
workerGroupedData[workerName][projectName][finalWorkTypeName] += workHours;
totalHours += workHours;
});