// 통합 메뉴 정의
// 모든 메뉴 구조를 한 곳에서 관리

// 기준정보 메뉴
// 거래처기준관리는 회계관리 > 거래처관리로 통합 (마스터 역할)
export const masterMenus = [
  { id: 'item-master', label: '품목기준관리', icon: 'Layers' },
  { id: 'material-master', label: '자재기준관리', icon: 'Package' },
  { id: 'process-master', label: '공정기준관리', icon: 'GitBranch' },
  { id: 'quality-master', label: '품질기준관리', icon: 'ShieldCheck' },
  { id: 'site-master', label: '현장기준관리', icon: 'MapPin' },
  { id: 'order-master', label: '수주기준관리', icon: 'Package' },
  { id: 'production-master', label: '생산기준관리', icon: 'Factory' },
  { id: 'outbound-master', label: '출고기준관리', icon: 'Truck' },  // 신규 추가
  { id: 'process', label: '공정관리', icon: 'GitBranch' },
  { id: 'number-rule', label: '채번관리', icon: 'ClipboardList' },
  { id: 'code-rule', label: '공통코드관리', icon: 'Layers' },
  { id: 'quote-formula', label: '견적수식관리', icon: 'Calculator' },
  { id: 'document-template', label: '문서양식관리', icon: 'FileText' },
];

// 판매관리 메뉴
export const salesMenus = [
  { id: 'customer', label: '거래처관리', icon: 'Users' },
  { id: 'quote', label: '견적관리', icon: 'FileText' },
  { id: 'order', label: '수주관리', icon: 'Package' },
  { id: 'site', label: '현장관리', icon: 'Building' },
  { id: 'price', label: '단가관리', icon: 'DollarSign' },
];

// 생산관리 메뉴
export const productionMenus = [
  { id: 'item', label: '품목관리', icon: 'Package' },
  { id: 'production-dashboard', label: '생산 현황판', icon: 'BarChart3' },
  { id: 'work-order', label: '작업지시 관리', icon: 'ClipboardList' },
  { id: 'work-result', label: '작업실적', icon: 'Clipboard' },
  { id: 'worker-task', label: '작업자 화면', icon: 'User' },
  { id: 'traceability', label: '제품이력추적', icon: 'GitBranch' },
];

// 품질관리 메뉴 (3단계 검사 프로세스)
export const qualityMenus = [
  { id: 'inspection', label: '검사관리', icon: 'ShieldCheck' },
  { id: 'iqc', label: '수입검사(IQC)', icon: 'Download', description: '자재 입고 시 검사' },
  { id: 'pqc', label: '중간검사(PQC)', icon: 'ClipboardList', description: '생산 중 품질검사' },
  { id: 'fqc', label: '제품검사(FQC)', icon: 'Package', description: '출하 후 고객요청 검사' },
  { id: 'defect', label: '부적합품관리', icon: 'XCircle' },
];

// 자재관리 메뉴
export const inventoryMenus = [
  { id: 'stock', label: '재고현황', icon: 'Box' },
  { id: 'inbound', label: '입고관리', icon: 'Download' },
  { id: 'stock-adjustment', label: '재고조정', icon: 'RefreshCw', description: '실사/조정/폐기 관리' },
];

// 출고관리 메뉴 (대메뉴)
export const outboundMenus = [
  { id: 'shipment', label: '출하관리', icon: 'Truck' },
];

// 회계관리 메뉴 (기능정의서 A0~A5 기준) - 이미지 기반 구조
export const accountingMenus = [
  {
    id: 'acc-customer',
    label: '거래처관리',
    icon: 'Building',
    subMenus: [
      { id: 'acc-customer-list', label: '목록', type: 'list', screenId: 'A0-1', desc: '거래처 신용등급 조회/관리' },
      { id: 'acc-customer-register', label: '등록', type: 'form', screenId: 'A0-2', desc: '신규 거래처 신용등급 발행' },
      { id: 'acc-customer-edit', label: '수정', type: 'form', screenId: 'A0-3', desc: '거래처 신용등급 변경' },
    ],
  },
  {
    id: 'sales-account',
    label: '매출관리',
    icon: 'TrendingUp',
    subMenus: [
      { id: 'sales-list', label: '목록', type: 'list', screenId: 'A1', desc: '출하 완료된 매출 건 조회 및 관리' },
      { id: 'sales-statement', label: '거래명세서', type: 'form', screenId: 'A1-1', desc: '출하 건 거래명세서 발행' },
      { id: 'sales-tax-invoice', label: '세금계산서', type: 'form', screenId: 'A1-2', desc: '전자세금계산서 발행 및 국세청 전송' },
    ],
  },
  {
    id: 'purchase',
    label: '매입관리',
    icon: 'ShoppingCart',
    subMenus: [
      { id: 'purchase-list', label: '목록', type: 'list', screenId: 'A2', desc: '품의서 목록 조회' },
      { id: 'purchase-register', label: '등록', type: 'form', screenId: 'A2-1', desc: '품의서 작성 및 결재요청' },
      { id: 'expense-list', label: '지출결의서목록', type: 'list', screenId: 'A2-2', desc: '지출결의서 목록 조회' },
      { id: 'expense-register', label: '지출결의서등록', type: 'form', screenId: 'A2-3', desc: '지출결의서 작성 및 결재' },
      { id: 'expense-estimate', label: '지출예상', type: 'list', screenId: 'A2-4', desc: '실제 수입/지출 완료 내역 관리' },
    ],
  },
  {
    id: 'cashbook',
    label: '금전출납부',
    icon: 'CreditCard',
    subMenus: [
      { id: 'cashbook-list', label: '목록', type: 'list', screenId: 'A3', desc: '실제 수입/지출 완료 내역' },
      { id: 'cashbook-register', label: '등록', type: 'form', screenId: 'A3-1', desc: '수입/지출 등록' },
      { id: 'cashbook-edit', label: '수정', type: 'form', screenId: 'A3-2', desc: '수입/지출 수정' },
    ],
  },
  {
    id: 'collection',
    label: '수금관리',
    icon: 'DollarSign',
    subMenus: [
      { id: 'collection-list', label: '목록', type: 'list', screenId: 'A4', desc: '수금사항, 거래처별 채권 통합 조회' },
      { id: 'collection-register', label: '등록', type: 'form', screenId: 'A4-1', desc: '수금 정보 등록' },
      { id: 'receivable-list', label: '미수금관리', type: 'list', screenId: 'A4-2', desc: '거래처별 미수금 관리' },
      { id: 'bill-list', label: '어음관리', type: 'list', screenId: 'A4-3', desc: '어음 등록 및 현황 관리' },
    ],
  },
  {
    id: 'cost-analysis',
    label: '원가관리',
    icon: 'Calculator',
    subMenus: [
      { id: 'cost-list', label: '목록', type: 'list', screenId: 'A5', desc: '수주별 원가 집계 및 현황' },
      { id: 'cost-detail', label: '상세', type: 'detail', screenId: 'A5-1', desc: '수주별 원가 상세 분석' },
    ],
  },
];

// 시스템 메뉴
export const systemMenus = [
  { id: 'process-flowchart', label: '업무 플로우차트', icon: 'GitBranch' },
  { id: 'users', label: '사용자관리', icon: 'Users' },
  { id: 'roles', label: '권한관리', icon: 'ShieldCheck' },
  { id: 'settings', label: '시스템설정', icon: 'Settings' },
  { id: 'common-ux', label: '공통 UX', icon: 'Layout' },
  { id: 'policy-guide', label: '정책서', icon: 'Book' },
  { id: 'integrated-test', label: '통합테스트', icon: 'PlayCircle' },
];

// 전체 메뉴 그룹 정의
export const menuGroups = [
  { id: 'master', label: '기준정보', icon: 'Settings', subMenus: masterMenus },
  { id: 'sales', label: '판매관리', icon: 'DollarSign', subMenus: salesMenus },
  { id: 'production', label: '생산관리', icon: 'Factory', subMenus: productionMenus },
  { id: 'quality', label: '품질관리', icon: 'ShieldCheck', subMenus: qualityMenus },
  { id: 'inventory', label: '자재관리', icon: 'Warehouse', subMenus: inventoryMenus },
  { id: 'outbound', label: '출고관리', icon: 'Upload', subMenus: outboundMenus },
  { id: 'accounting', label: '회계관리', icon: 'CreditCard', subMenus: accountingMenus },
  { id: 'system', label: '시스템', icon: 'Settings', subMenus: systemMenus },
];

export default menuGroups;
