import type {
  CEODashboardData,
  SalesStatusData,
  PurchaseStatusData,
  DailyProductionData,
  UnshippedData,
  DailyAttendanceData,
} from './types';

/**
 * CEO 대시보드 목데이터
 * TODO: API 연동 시 이 파일을 API 호출로 대체
 */
export const mockData: CEODashboardData = {
  // TodayIssue: API 연동 완료 - 목업 데이터 제거됨
  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: 0, displayValue: '6.2개월' },
    ],
    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' },
        ],
      },
    ],
  },
  cardManagement: {
    warningBanner: '가지급금 인정이자 4.6%, 법인세 및 연말정산 시 대표자 종합세 가중 주의',
    cards: [
      { id: 'cm1', label: '카드', amount: 30123000, previousLabel: '미정리 5건 (가지급금 예정)' },
      { id: 'cm2', label: '가지급금', amount: 350000000, previousLabel: '전월 대비 +10.5%' },
      { id: 'cm3', label: '법인세 예상 가중', amount: 3123000, previousLabel: '추가 세금 +10.5%' },
      { id: 'cm4', label: '대표자 종합세 예상 가중', amount: 3123000, previousLabel: '추가 세금 +10.5%' },
    ],
    checkPoints: [
      {
        id: 'cm-cp1',
        type: 'success',
        message: '법인카드 사용 총 850만원이 가지급금으로 전환되었습니다. 연 4.6% 인정이자가 발생합니다.',
        highlights: [
          { text: '850만원', color: 'red' },
          { text: '가지급금', color: 'red' },
          { text: '연 4.6% 인정이자', color: 'red' },
        ],
      },
      {
        id: 'cm-cp2',
        type: 'success',
        message: '현재 가지급금 3.5원 × 4.6% = 연 약 1,400만원의 인정이자가 발생 중입니다.',
        highlights: [
          { text: '연 약 1,400만원의 인정이자', color: 'red' },
        ],
      },
      {
        id: 'cm-cp3',
        type: 'success',
        message: '상품권/귀금속 등 접대비 불인정 항목 결제 감지. 가지급금 처리 예정입니다.',
        highlights: [
          { text: '불인정 항목 결제 감지', color: 'red' },
        ],
      },
      {
        id: 'cm-cp4',
        type: 'success',
        message: '주말 카드 사용 100만원 결제 감지. 업무관련성 소명이 어려울 수 있으니 기록을 남겨주세요.',
        highlights: [
          { text: '주말 카드 사용 100만원 결제 감지', color: 'red' },
        ],
      },
    ],
  },
  entertainment: {
    cards: [
      { id: 'et1', label: '매출', amount: 30530000000 },
      { id: 'et2', label: '{1사분기} 접대비 총 한도', amount: 40123000 },
      { id: 'et3', label: '{1사분기} 접대비 잔여한도', amount: 30123000 },
      { id: 'et4', label: '{1사분기} 접대비 사용금액', amount: 10000000 },
    ],
    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: 30123000 },
      { id: 'wf2', label: '{1사분기} 복리후생비 총 한도', amount: 10123000 },
      { id: 'wf3', label: '{1사분기} 복리후생비 잔여한도', amount: 5123000 },
      { id: 'wf4', label: '{1사분기} 복리후생비 사용금액', amount: 5123000 },
    ],
    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,
        subItems: [
          { label: '매출', value: 60123000 },
          { label: '입금', value: 30000000 },
        ],
      },
      {
        id: 'rv3',
        label: '회사명',
        amount: 3123000,
        subItems: [
          { label: '매출', value: 6123000 },
          { label: '입금', value: 3000000 },
        ],
      },
      {
        id: 'rv4',
        label: '회사명',
        amount: 2123000,
        subItems: [
          { label: '매출', value: 6123000 },
          { label: '입금', value: 3000000 },
        ],
      },
    ],
    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: '홍길동',
    },
  ],
};