import type { CEODashboardData } from './types'; /* ============================================ * 전체 Mock 데이터 주석 처리 * API 연동 완료 후 이 파일 삭제 예정 * 기존 mock 데이터는 git history에서 확인 가능 * ============================================ */ // 빈 기본값 (타입 안전성 유지 — 필수 필드만) export const mockData: CEODashboardData = { todayIssue: [], todayIssueList: [], }; /* ============================================ * 아래는 주석 처리된 기존 Mock 데이터 * ============================================ import type { SalesStatusData, PurchaseStatusData, DailyProductionData, UnshippedData, DailyAttendanceData, } from './types'; const _originalMockData: CEODashboardData = { todayIssue: [], todayIssueList: [], dailyReport: { date: '2026년 1월 5일 월요일', cards: [ { id: 'dr1', label: '일일일보', amount: 3050000000, path: '/ko/accounting/daily-report' }, { id: 'dr2', label: '미수금 잔액', amount: 3050000000, path: '/ko/accounting/receivables-status' }, { id: 'dr3', label: '미지급금 잔액', amount: 3050000000 }, { id: 'dr4', label: '당월 예상 지출 합계', amount: 350000000 }, ], checkPoints: [ { id: 'dr-cp1', type: 'success', message: '어제 3.5억원 출금했습니다. 최근 7일 평균 대비 2배 이상으로 점검이 필요합니다.', highlights: [ { text: '3.5억원 출금', color: 'red' }, { text: '점검이 필요', color: 'red' }, ], }, { id: 'dr-cp2', type: 'success', message: '어제 10.2억원이 입금되었습니다. 대한건설 선수금 입금이 주요 원인입니다.', highlights: [ { text: '10.2억원', color: 'green' }, { text: '입금', color: 'green' }, { text: '대한건설 선수금 입금', color: 'green' }, ], }, { id: 'dr-cp3', type: 'success', message: '총 현금성 자산이 300.2억원입니다. 월 운영비용 대비 18개월분이 확보되어 안정적입니다.', highlights: [ { text: '18개월분', color: 'blue' }, { text: '안정적', color: 'blue' }, ], }, ], }, monthlyExpense: { cards: [ { id: 'me1', label: '매입', amount: 3050000000, previousLabel: '전월 대비 +10.5%' }, { id: 'me2', label: '카드', amount: 30123000, previousLabel: '전월 대비 +10.5%' }, { id: 'me3', label: '발행어음', amount: 30123000, previousLabel: '전월 대비 +10.5%' }, { id: 'me4', label: '총 예상 지출 합계', amount: 350000000, previousLabel: '전월 대비 +10.5%' }, ], checkPoints: [ { id: 'me-cp1', type: 'success', message: '이번 달 예상 지출이 전월 대비 15% 증가했습니다. 매입 비용 증가가 주요 원인입니다.', highlights: [ { text: '전월 대비 15% 증가', color: 'red' }, ], }, { id: 'me-cp2', type: 'success', message: '이번 달 예상 지출이 예산을 12% 초과했습니다. 비용 항목별 점검이 필요합니다.', highlights: [ { text: '예산을 12% 초과', color: 'red' }, ], }, { id: 'me-cp3', type: 'success', message: '이번 달 예상 지출이 전월 대비 8% 감소했습니다. {계정과목명} 비용이 줄었습니다.', highlights: [ { text: '전월 대비 8% 감소', color: 'green' }, ], }, ], }, entertainment: { cards: [ { id: 'et1', label: '주말/심야', amount: 3123000, previousLabel: '미증빙 5건' }, { id: 'et2', label: '기피업종 (유흥, 귀금속 등)', amount: 3123000, previousLabel: '불인정 5건' }, { id: 'et3', label: '고액 결제', amount: 3123000, previousLabel: '미증빙 5건' }, { id: 'et4', label: '증빙 미비', amount: 3123000, previousLabel: '미증빙 5건' }, ], checkPoints: [ { id: 'et-cp1', type: 'success', message: '{1사분기} 접대비 사용 1,000만원 / 한도 4,012만원 (75%). 여유 있게 운영 중입니다.', highlights: [ { text: '1,000만원', color: 'green' }, { text: '4,012만원 (75%)', color: 'green' }, ], }, { id: 'et-cp2', type: 'success', message: '접대비 한도 85% 도달. 잔여 한도 600만원입니다. 사용 계획을 점검해 주세요.', highlights: [ { text: '잔여 한도 600만원', color: 'red' }, ], }, { id: 'et-cp3', type: 'error', message: '접대비 한도 초과 320만원 발생. 초과분은 손금불산입되어 법인세 부담이 증가합니다.', highlights: [ { text: '320만원 발생', color: 'red' }, ], }, { id: 'et-cp4', type: 'error', message: '접대비 사용 중 3건(45만원)의 거래처 정보가 누락되었습니다. 기록을 보완해 주세요.', highlights: [ { text: '3건(45만원)', color: 'red' }, { text: '거래처 정보가 누락', color: 'red' }, ], }, ], }, welfare: { cards: [ { id: 'wf1', label: '비과세 한도 초과', amount: 3123000, previousLabel: '5건' }, { id: 'wf2', label: '사적 사용 의심', amount: 3123000, previousLabel: '5건' }, { id: 'wf3', label: '특정인 편중', amount: 3123000, previousLabel: '5건' }, { id: 'wf4', label: '항목별 한도 초과', amount: 3123000, previousLabel: '5건' }, ], checkPoints: [ { id: 'wf-cp1', type: 'success', message: '1인당 월 복리후생비 20만원. 업계 평균(15~25만원) 내 정상 운영 중입니다.', highlights: [ { text: '1인당 월 복리후생비 20만원', color: 'green' }, ], }, { id: 'wf-cp2', type: 'error', message: '식대가 월 25만원으로 비과세 한도(20만원)를 초과했습니다. 초과분은 근로소득 과세됩니다.', highlights: [ { text: '식대가 월 25만원으로', color: 'red' }, { text: '초과', color: 'red' }, ], }, ], }, receivable: { cards: [ { id: 'rv1', label: '누적 미수금', amount: 30123000, subItems: [ { label: '매출', value: 60123000 }, { label: '입금', value: 30000000 }, ], }, { id: 'rv2', label: '당월 미수금', amount: 10123000, }, { id: 'rv3', label: '미수금 거래처', amount: 31, unit: '건', subItems: [ { label: '연체', value: '21건' }, { label: '악성채권', value: '11건' }, ], }, { id: 'rv4', label: '미수금 Top 3', amount: 0, displayValue: '상세보기', }, ], checkPoints: [ { id: 'rv-cp1', type: 'success', message: '90일 이상 장기 미수금 3건(2,500만원) 발생. 회수 조치가 필요합니다.', highlights: [ { text: '90일 이상 장기 미수금 3건(2,500만원) 발생', color: 'red' }, ], }, { id: 'rv-cp2', type: 'success', message: '(주)대한전자 미수금 1,500만원으로 전체의 35%를 차지합니다. 리스크 분산이 필요합니다.', highlights: [ { text: '(주)대한전자 미수금 1,500만원으로 전체의 35%를', color: 'red' }, ], }, ], detailButtonPath: '/ko/accounting/receivables-status', }, debtCollection: { cards: [ { id: 'dc1', label: '누적 악성채권', amount: 350000000, subLabel: '25건' }, { id: 'dc2', label: '추심중', amount: 30123000, subLabel: '12건' }, { id: 'dc3', label: '법적조치', amount: 3123000, subLabel: '3건' }, { id: 'dc4', label: '추심종료', amount: 280000000, subLabel: '10건' }, ], checkPoints: [ { id: 'dc-cp1', type: 'success', message: '(주)대한전자 건 지급명령 신청 완료. 법원 결정까지 약 2주 소요 예정입니다.', highlights: [{ text: '(주)대한전자 건 지급명령 신청 완료.', color: 'red' }], }, { id: 'dc-cp2', type: 'success', message: '(주)삼성테크 건 회수 불가 판정. 대손 처리 검토가 필요합니다.', highlights: [{ text: '(주)삼성테크 건 회수 불가 판정.', color: 'red' }], }, ], detailButtonPath: '/ko/accounting/bad-debt-collection', }, vat: { cards: [ { id: 'vat1', label: '매출세액', amount: 3050000000 }, { id: 'vat2', label: '매입세액', amount: 2050000000 }, { id: 'vat3', label: '예상 납부세액', amount: 110000000 }, { id: 'vat4', label: '세금계산서 미발행', amount: 3, unit: '건' }, ], checkPoints: [ { id: 'vat-cp1', type: 'success', message: '2026년 1기 예정신고 기준, 예상 환급세액은 5,200,000원입니다. 설비투자에 따른 매입세액 증가가 주요 원인입니다.', highlights: [{ text: '2026년 1기 예정신고 기준, 예상 환급세액은 5,200,000원입니다.', color: 'red' }], }, { id: 'vat-cp2', type: 'success', message: '2026년 1기 예정신고 기준, 예상 납부세액은 110,100,000원입니다. 전기 대비 12.9% 증가했으며, 이는 매출 증가에 따른 정상적인 증가로 판단됩니다.', highlights: [{ text: '2026년 1기 예정신고 기준, 예상 납부세액은 110,100,000원입니다.', color: 'red' }], }, ], }, // ===== 신규 섹션 Mock 데이터 ===== salesStatus: { cumulativeSales: 312300000, achievementRate: 94.5, yoyChange: 12.5, monthlySales: 312300000, monthlyTrend: [ { month: '8월', amount: 250000000 }, { month: '9월', amount: 280000000 }, { month: '10월', amount: 310000000 }, { month: '11월', amount: 290000000 }, { month: '12월', amount: 320000000 }, { month: '1월', amount: 300000000 }, { month: '2월', amount: 312300000 }, ], clientSales: [ { name: '대한건설', amount: 95000000 }, { name: '삼성테크', amount: 78000000 }, { name: '현대산업', amount: 62000000 }, { name: 'LG전자', amount: 45000000 }, { name: '기타', amount: 32300000 }, ], dailyItems: [ { date: '2026-02-01', client: '대한건설', item: '스크린 외', amount: 25000000, status: '입금완료' }, { date: '2026-02-03', client: '삼성테크', item: '슬루 외', amount: 18000000, status: '미입금' }, { date: '2026-02-05', client: '현대산업', item: '절곡 외', amount: 32000000, status: '입금완료' }, { date: '2026-02-07', client: 'LG전자', item: '스크린', amount: 15000000, status: '부분입금' }, { date: '2026-02-10', client: '대한건설', item: '슬루', amount: 28000000, status: '입금완료' }, { date: '2026-02-12', client: '삼성테크', item: '절곡', amount: 22000000, status: '미입금' }, { date: '2026-02-15', client: '현대산업', item: '스크린 외', amount: 35000000, status: '입금완료' }, ], dailyTotal: 312300000, }, purchaseStatus: { cumulativePurchase: 312300000, unpaidAmount: 312300000, yoyChange: -12.5, monthlyTrend: [ { month: '8월', amount: 180000000 }, { month: '9월', amount: 200000000 }, { month: '10월', amount: 220000000 }, { month: '11월', amount: 195000000 }, { month: '12월', amount: 230000000 }, { month: '1월', amount: 210000000 }, { month: '2월', amount: 312300000 }, ], materialRatio: [ { name: '원자재', value: 55, percentage: 55, color: '#3b82f6' }, { name: '부자재', value: 35, percentage: 35, color: '#10b981' }, { name: '소모품', value: 10, percentage: 10, color: '#f59e0b' }, ], dailyItems: [ { date: '2026-02-01', supplier: '한국철강', item: '철판 외', amount: 45000000, status: '결제완료' }, { date: '2026-02-03', supplier: '삼성소재', item: '알루미늄', amount: 28000000, status: '미결제' }, { date: '2026-02-05', supplier: '현대자재', item: '볼트/너트', amount: 12000000, status: '결제완료' }, { date: '2026-02-08', supplier: 'LG화학', item: '도료 외', amount: 18000000, status: '부분결제' }, { date: '2026-02-10', supplier: '한국철강', item: '스테인리스', amount: 52000000, status: '미결제' }, { date: '2026-02-13', supplier: '삼성소재', item: '구리판', amount: 35000000, status: '결제완료' }, ], dailyTotal: 312300000, }, dailyProduction: { date: '2026년 2월 23일 월요일', processes: [ { processName: '스크린', totalWork: 10, todo: 10, inProgress: 10, completed: 10, urgent: 3, subLine: 2, regular: 5, workerCount: 8, workItems: [ { id: 'sp1', orderNo: 'SO-2026-001', client: '대한건설', product: '스크린 A형', quantity: 50, status: '진행중' }, { id: 'sp2', orderNo: 'SO-2026-002', client: '삼성테크', product: '스크린 B형', quantity: 30, status: '진행중' }, { id: 'sp3', orderNo: 'SO-2026-003', client: '현대산업', product: '스크린 C형', quantity: 20, status: '대기' }, { id: 'sp4', orderNo: 'SO-2026-004', client: 'LG전자', product: '스크린 D형', quantity: 40, status: '대기' }, { id: 'sp5', orderNo: 'SO-2026-005', client: '대한건설', product: '스크린 E형', quantity: 25, status: '완료' }, ], workers: [ { name: '김철수', assigned: 5, completed: 3, rate: 60 }, { name: '이영희', assigned: 4, completed: 4, rate: 100 }, { name: '박민수', assigned: 3, completed: 2, rate: 67 }, { name: '정수진', assigned: 3, completed: 1, rate: 33 }, ], }, { processName: '슬랫', totalWork: 10, todo: 10, inProgress: 10, completed: 10, urgent: 2, subLine: 3, regular: 5, workerCount: 6, workItems: [ { id: 'sl1', orderNo: 'SO-2026-010', client: '대한건설', product: '슬루 A형', quantity: 40, status: '진행중' }, { id: 'sl2', orderNo: 'SO-2026-011', client: '삼성테크', product: '슬루 B형', quantity: 25, status: '진행중' }, { id: 'sl3', orderNo: 'SO-2026-012', client: '현대산업', product: '슬루 C형', quantity: 35, status: '대기' }, ], workers: [ { name: '최동훈', assigned: 4, completed: 3, rate: 75 }, { name: '강미영', assigned: 3, completed: 2, rate: 67 }, { name: '윤상호', assigned: 3, completed: 3, rate: 100 }, ], }, { processName: '절곡', totalWork: 10, todo: 10, inProgress: 10, completed: 10, urgent: 1, subLine: 2, regular: 7, workerCount: 5, workItems: [ { id: 'jg1', orderNo: 'SO-2026-020', client: '현대산업', product: '절곡 A형', quantity: 60, status: '진행중' }, { id: 'jg2', orderNo: 'SO-2026-021', client: 'LG전자', product: '절곡 B형', quantity: 45, status: '대기' }, { id: 'jg3', orderNo: 'SO-2026-022', client: '대한건설', product: '절곡 C형', quantity: 30, status: '완료' }, ], workers: [ { name: '한지원', assigned: 4, completed: 4, rate: 100 }, { name: '서준혁', assigned: 3, completed: 2, rate: 67 }, ], }, ], shipment: { expectedAmount: 150000000, expectedCount: 12, actualAmount: 120000000, actualCount: 9, }, }, unshipped: { items: [ { id: 'us1', portNo: 'P-2026-001', siteName: '강남 현장', orderClient: '대한건설', dueDate: '2026-02-25', daysLeft: 2 }, { id: 'us2', portNo: 'P-2026-002', siteName: '서초 현장', orderClient: '삼성테크', dueDate: '2026-02-26', daysLeft: 3 }, { id: 'us3', portNo: 'P-2026-003', siteName: '판교 현장', orderClient: '현대산업', dueDate: '2026-02-27', daysLeft: 4 }, { id: 'us4', portNo: 'P-2026-004', siteName: '송도 현장', orderClient: 'LG전자', dueDate: '2026-02-28', daysLeft: 5 }, { id: 'us5', portNo: 'P-2026-005', siteName: '마포 현장', orderClient: '대한건설', dueDate: '2026-03-01', daysLeft: 6 }, { id: 'us6', portNo: 'P-2026-006', siteName: '영등포 현장', orderClient: '삼성테크', dueDate: '2026-03-03', daysLeft: 8 }, { id: 'us7', portNo: 'P-2026-007', siteName: '용산 현장', orderClient: '현대산업', dueDate: '2026-03-05', daysLeft: 10 }, ], }, constructionData: { thisMonth: 15, completed: 15, items: [ { id: 'cs1', siteName: '강남 현장', client: '대한건설', startDate: '2026-02-01', endDate: '2026-02-28', progress: 85, status: '진행중' }, { id: 'cs2', siteName: '서초 현장', client: '삼성테크', startDate: '2026-02-05', endDate: '2026-03-05', progress: 60, status: '진행중' }, { id: 'cs3', siteName: '판교 현장', client: '현대산업', startDate: '2026-02-10', endDate: '2026-03-10', progress: 40, status: '진행중' }, { id: 'cs4', siteName: '송도 현장', client: 'LG전자', startDate: '2026-03-01', endDate: '2026-03-30', progress: 0, status: '예정' }, { id: 'cs5', siteName: '마포 현장', client: '대한건설', startDate: '2026-01-15', endDate: '2026-02-15', progress: 100, status: '완료' }, ], }, dailyAttendance: { present: 10, onLeave: 10, late: 10, absent: 10, employees: [ { id: 'att1', department: '생산부', position: '과장', name: '김철수', status: '출근' }, { id: 'att2', department: '영업부', position: '대리', name: '이영희', status: '출근' }, { id: 'att3', department: '관리부', position: '사원', name: '박민수', status: '휴가' }, { id: 'att4', department: '생산부', position: '부장', name: '정수진', status: '지각' }, { id: 'att5', department: '영업부', position: '과장', name: '최동훈', status: '출근' }, { id: 'att6', department: '관리부', position: '대리', name: '강미영', status: '결근' }, { id: 'att7', department: '생산부', position: '사원', name: '윤상호', status: '출근' }, ], }, calendarSchedules: [ { id: 'sch1', title: '제목', startDate: '2026-01-01', endDate: '2026-01-04', startTime: '09:00', endTime: '12:00', type: 'schedule', department: '부서명', }, { id: 'sch2', title: '제목', startDate: '2026-01-06', endDate: '2026-01-06', type: 'schedule', personName: '홍길동', }, { id: 'sch3', title: '제목', startDate: '2026-01-06', endDate: '2026-01-06', startTime: '09:00', endTime: '12:00', type: 'order', department: '부서명', }, { id: 'sch4', title: '제목', startDate: '2026-01-06', endDate: '2026-01-06', startTime: '12:35', type: 'construction', personName: '홍길동', }, ], }; ============================================ */