/**
 * ITAM 통합 스키마 매퍼 (Unified Schema Mapper)
 * 
 * key: 애플리케이션 내부 로직에서 사용하는 속성명
 * db:  MySQL 데이터베이스 컬럼명
 * ui:  사용자에게 보여지는 UI 레이블
 */

export const ASSET_SCHEMA = {
  // ─── 공통 필드 (Common) ───
  ID:             { key: 'id',           db: 'id',              ui: 'ID' },
  ASSET_CODE:     { key: 'asset_code',   db: 'asset_code',      ui: '자산번호' },
  CATEGORY:       { key: 'category',     db: 'category',        ui: '구분' },
  ASSET_TYPE:     { key: 'asset_type',   db: 'asset_type',      ui: '유형' },
  PURCHASE_CORP:  { key: 'purchase_corp',db: 'purchase_corp',   ui: '구매법인' },
  PURCHASE_DATE:  { key: 'purchase_date',db: 'purchase_date',   ui: '구매일자' },
  PURCHASE_AMOUNT:{ key: 'purchase_amount', db: 'purchase_amount', ui: '구매금액' },
  PURCHASE_VENDOR:{ key: 'purchase_vendor', db: 'purchase_vendor', ui: '구매업체' },
  APPROVAL_DOC:   { key: 'approval_document', db: 'approval_document', ui: '품의서' },
  MANAGER_MAIN:   { key: 'manager_primary', db: 'manager_primary', ui: '담당자(정)' },
  MANAGER_SUB:    { key: 'manager_secondary', db: 'manager_secondary', ui: '담당자(부)' },
  LOCATION:       { key: 'location',     db: 'location',        ui: '자산위치' },
  LOC_DETAIL:     { key: 'location_detail', db: 'location_detail', ui: '상세위치' },
  MEMO:           { key: 'memo',         db: 'memo',            ui: '메모' },

  // ─── 하드웨어 상세 (Hardware) ───
  HW_STATUS:      { key: 'hw_status',    db: 'hw_status',       ui: '상태' },
  MODEL_NAME:     { key: 'model_name',   db: 'model_name',      ui: '모델명' },
  ASSET_NAME:     { key: 'asset_name',   db: 'asset_name',      ui: '자산명' },
  ASSET_MFR:      { key: 'asset_mfr',    db: 'asset_mfr',       ui: '제조사' },
  CURRENT_DEPT:   { key: 'current_dept', db: 'current_dept',    ui: '현 사용조직' },
  PREV_DEPT:      { key: 'previous_dept',db: 'previous_dept',   ui: '직전 사용조직' },
  CURRENT_USER:   { key: 'user_current', db: 'user_current',    ui: '현 사용자' },
  EMP_NO:         { key: 'emp_no',       db: 'emp_no',          ui: '사번' },
  USER_POSITION:  { key: 'user_position', db: 'user_position',   ui: '직무' },
  PREV_USER:      { key: 'previous_user',db: 'previous_user',   ui: '직전 사용자' },
  CPU:            { key: 'cpu',          db: 'cpu',             ui: 'CPU' },
  RAM:            { key: 'ram',          db: 'ram',             ui: 'RAM' },
  GPU:            { key: 'gpu',          db: 'gpu',             ui: 'GPU' },
  SSD1:           { key: 'ssd_1',        db: 'ssd_1',           ui: 'SSD1' },
  SSD2:           { key: 'ssd_2',        db: 'ssd_2',           ui: 'SSD2' },
  HDD1:           { key: 'hdd_1',        db: 'hdd_1',           ui: 'HDD1' },
  HDD2:           { key: 'hdd_2',        db: 'hdd_2',           ui: 'HDD2' },
  HDD3:           { key: 'hdd_3',        db: 'hdd_3',           ui: 'HDD3' },
  HDD4:           { key: 'hdd_4',        db: 'hdd_4',           ui: 'HDD4' },
  MAINBOARD:      { key: 'mainboard',    db: 'mainboard',       ui: '메인보드' },
  IP_ADDR:        { key: 'ip_address',   db: 'ip_address',      ui: 'IP 주소' },
  IP_ADDR2:       { key: 'ip_address_2', db: 'ip_address_2',    ui: 'IP 주소 2' },
  MAC_ADDR:       { key: 'mac_address',  db: 'mac_address',     ui: 'MAC 주소' },
  REMOTE_TOOL:    { key: 'remote_tool',  db: 'remote_tool',     ui: '원격도구' },
  REMOTE_ID:      { key: 'remote_id',    db: 'remote_id',       ui: '원격 ID' },
  REMOTE_PW:      { key: 'remote_pw',    db: 'remote_pw',       ui: '원격 PW' },
  MONITORING:     { key: 'monitoring',   db: 'monitoring',      ui: '모니터링' },
  VOLUME:         { key: 'volume',       db: 'volume',          ui: '용량' },
  MONITOR_INCH:   { key: 'monitor_inch', db: 'monitor_inch',    ui: '인치' },
  ASSET_COUNT:    { key: 'asset_count',  db: 'asset_count',     ui: '수량' },
  SERIAL_NUM:     { key: 'serial_num',   db: 'serial_num',      ui: 'S/N' },
  
  // ─── 소프트웨어/클라우드 상세 (SW/Cloud/Domain) ───
  SW_STATUS:      { key: 'sw_status',    db: 'sw_status',       ui: '상태' },
  SW_FIELD:       { key: 'sw_field',     db: 'sw_field',        ui: '분야' },
  SW_TYPE:        { key: 'sw_type',      db: 'sw_type',         ui: '유형' },
  DEV_OBJ:        { key: 'dev_objective',db: 'dev_objective',   ui: '목적' },
  DEV_MGR:        { key: 'dev_manager',  db: 'dev_manager',    ui: '개발담당자' },
  PLANNING_MGR:   { key: 'planning_manager', db: 'planning_manager', ui: '기획담당자' },
  SALES_MGR:      { key: 'sales_manager',db: 'sales_manager',    ui: '영업담당자' },
  PRODUCT_NAME:   { key: 'product_name', db: 'product_name',    ui: '제품명' },
  DOMAIN_ADDR:    { key: 'domain_address', db: 'domain_address',ui: '도메인주소' },
  EMAIL_ACCOUNT:  { key: 'email_account', db: 'email_account',  ui: '이메일주소' },
  EMAIL_PW:       { key: 'email_pw',      db: 'email_pw',       ui: '이메일비밀번호' },
  SW_ID:          { key: 'sw_id',         db: 'sw_id',          ui: '계정ID' },
  SW_PW:          { key: 'sw_pw',         db: 'sw_pw',          ui: '비밀번호' },
  PURCHASE_METHOD:{ key: 'purchase_method', db: 'purchase_method', ui: '결제수단' },
  ASSET_PURPOSE:  { key: 'asset_purpose', db: 'asset_purpose',  ui: '용도' },
  ASSET_STATUS:   { key: 'asset_status',  db: 'asset_status',   ui: '상태' },
  START_DATE:     { key: 'start_date',    db: 'start_date',     ui: '시작일' },
  EXPIRED_DATE:   { key: 'expired_date',  db: 'expired_date',   ui: '만료일' }
};

/**
 * 페이지별 헤더 정보 (타이틀, 설명, 아이콘)
 */
export const PAGE_DESCRIPTIONS: Record<string, { title: string; description: string; icon: string }> = {
  'PC': {
    title: '개인PC 자산 관리',
    description: '임직원에게 지급된 데스크톱 및 노트북 자산의 할당 현황과 하드웨어 사양을 통합 관리합니다.',
    icon: 'laptop'
  },
  '서버': {
    title: '서버 자산 관리',
    description: 'IDC 및 사내 서버실에 운영 중인 물리 서버 장비의 도입, 운영, 폐기 현황을 관리합니다.',
    icon: 'server'
  },
  '스토리지': {
    title: '스토리지 자산 관리',
    description: '데이터 저장 및 백업을 위한 NAS, DAS 등 스토리지 장비의 용량과 연결 상태를 관리합니다.',
    icon: 'database'
  },
  '네트워크': {
    title: '네트워크 장비 관리',
    description: '스위치, 방화벽, 공유기 등 사내 네트워크 인프라를 구성하는 주요 장비 현황을 관리합니다.',
    icon: 'layers'
  },
  '업무지원장비': {
    title: '업무 지원 장비 관리',
    description: '모니터, 프린터, 스캐너 등 원활한 업무 수행을 보조하는 전산 비품들을 관리합니다.',
    icon: 'monitor'
  },
  'PC부품': {
    title: 'PC 부품 자산 관리',
    description: 'CPU, RAM, GPU 등 PC 조립 및 유지보수를 위해 보유 중인 주요 부품 재고를 관리합니다.',
    icon: 'cpu'
  },
  '공간정보장비': {
    title: '공간 정보 장비 관리',
    description: '측량 및 공간 정보 수집에 사용되는 특수 정밀 장비들의 이력과 상태를 관리합니다.',
    icon: 'map'
  },
  '내부': {
    title: '사내 개발 S/W 관리',
    description: '사내에서 자체 개발하거나 운영 중인 시스템 및 소프트웨어 서비스 현황을 관리합니다.',
    icon: 'code'
  },
  '외부': {
    title: '외부 상용 S/W 관리',
    description: '상용 소프트웨어의 라이선스 보유 현황, 사용자 할당 및 만료 일정을 관리합니다.',
    icon: 'package'
  },
  '도메인': {
    title: '도메인 자산 관리',
    description: '운영 중인 서비스 도메인의 등록 정보, 관리 업체 및 갱신 만료일을 관리합니다.',
    icon: 'globe'
  },
  '클라우드': {
    title: '클라우드 자산 관리',
    description: 'AWS, Azure, GCP 등 클라우드 인프라 자원 및 구독 서비스 이용 현황을 관리합니다.',
    icon: 'cloud'
  },
  '비용관리': {
    title: 'IT 비용 집행 관리',
    description: '전산 자산 도입 및 유지보수에 소요되는 정기/비정기 지출 비용을 통합 관리합니다.',
    icon: 'credit-card'
  },
  '선물': {
    title: '내빈/외빈 선물 관리',
    description: '내외빈 방문 시 지급되는 기념품 및 선물용 자산의 재고와 지급 이력을 관리합니다.',
    icon: 'gift'
  },
  '사무가구': {
    title: '사무용 가구 관리',
    description: '책상, 의자, 캐비닛 등 사무 환경 구성을 위한 가구 자산의 배치 현황을 관리합니다.',
    icon: 'armchair'
  }
};

/**
 * 용어 사전 (UI 텍스트 전용)
 */
export const UI_TEXT = {
  ACTION: {
    ADD: '신규 등록',
    EDIT: '수정',
    SAVE: '저장',
    DELETE: '삭제',
    CANCEL: '취소',
    CLOSE: '닫기',
    HISTORY_ADD: '이력 추가',
    RESET_FILTER: '필터 초기화'
  },
  MESSAGES: {
    CONFIRM_DELETE: '정말로 삭제하시겠습니까?',
    SAVE_SUCCESS: '성공적으로 저장되었습니다.',
    NO_DATA: '검색 결과가 없습니다.'
  }
};
