/**
 * 출하관리 Mock 데이터
 */

import type {
  ShipmentItem,
  ShipmentDetail,
  ShipmentStats,
  ShipmentFilterTab,
  LotOption,
  LogisticsOption,
  VehicleTonnageOption,
} from './types';

// 통계 데이터
export const mockStats: ShipmentStats = {
  todayShipmentCount: 3,
  scheduledCount: 5,
  shippingCount: 1,
  urgentCount: 4,
};

// 필터 탭
export const mockFilterTabs: ShipmentFilterTab[] = [
  { key: 'all', label: '전체', count: 20 },
  { key: 'scheduled', label: '출고예정', count: 5 },
  { key: 'ready', label: '출하대기', count: 1 },
  { key: 'shipping', label: '배송중', count: 1 },
  { key: 'completed', label: '배송완료', count: 12 },
  { key: 'calendar', label: '출하일정', count: 0 },
];

// 출하 목록 Mock 데이터
export const mockShipmentItems: ShipmentItem[] = [
  {
    id: 'sl-251220-01',
    shipmentNo: 'SL-251220-01',
    lotNo: 'KD-TS-251217-10',
    scheduledDate: '2025-12-20',
    status: 'completed',
    priority: 'urgent',
    deliveryMethod: 'direct',
    customerName: '두산건설(주)',
    siteName: '위브 청라',
    manager: '-',
    canShip: true,
    depositConfirmed: true,
    invoiceIssued: true,
  },
  {
    id: 'sl-251222-03',
    shipmentNo: 'SL-251222-03',
    lotNo: 'KD-TS-251217-09',
    scheduledDate: '2025-12-22',
    status: 'completed',
    priority: 'normal',
    deliveryMethod: 'logistics',
    customerName: '태영건설(주)',
    siteName: '대시앙 동탄',
    manager: '-',
    canShip: true,
    depositConfirmed: true,
    invoiceIssued: true,
  },
  {
    id: 'sl-251224-01',
    shipmentNo: 'SL-251224-01',
    lotNo: 'KD-TS-251217-08',
    scheduledDate: '2025-12-24',
    status: 'completed',
    priority: 'normal',
    deliveryMethod: 'logistics',
    customerName: '호반건설(주)',
    siteName: '버킷 광교',
    manager: '-',
    canShip: true,
    depositConfirmed: true,
    invoiceIssued: true,
  },
  {
    id: 'sl-251221-03',
    shipmentNo: 'SL-251221-03',
    lotNo: 'KD-TS-251217-06',
    scheduledDate: '2025-12-21',
    status: 'shipping',
    priority: 'normal',
    deliveryMethod: 'pickup',
    customerName: '호반건설(주)',
    siteName: '버킷 광교',
    manager: '-',
    canShip: true,
    depositConfirmed: true,
    invoiceIssued: true,
  },
  {
    id: 'sl-251223-02',
    shipmentNo: 'SL-251223-02',
    lotNo: 'KD-TS-251217-05',
    scheduledDate: '2025-12-23',
    status: 'ready',
    priority: 'normal',
    deliveryMethod: 'direct',
    customerName: '포스코건설(주)',
    siteName: '더샵 송도',
    manager: '-',
    canShip: true,
    depositConfirmed: true,
    invoiceIssued: true,
  },
  {
    id: 'sl-251222-02',
    shipmentNo: 'SL-251222-02',
    lotNo: 'KD-TS-251217-04',
    scheduledDate: '2025-12-22',
    status: 'completed',
    priority: 'normal',
    deliveryMethod: 'direct',
    customerName: 'GS건설(주)',
    siteName: '자이 위례',
    manager: '-',
    canShip: true,
    depositConfirmed: true,
    invoiceIssued: true,
  },
  {
    id: 'sl-251222-01',
    shipmentNo: 'SL-251222-01',
    lotNo: 'KD-TS-251217-03',
    scheduledDate: '2025-12-22',
    status: 'completed',
    priority: 'normal',
    deliveryMethod: 'pickup',
    customerName: '대우건설(주)',
    siteName: '푸르지오 일산',
    manager: '-',
    canShip: true,
    depositConfirmed: true,
    invoiceIssued: true,
  },
  {
    id: 'sl-251223-02b',
    shipmentNo: 'SL-251223-02',
    lotNo: 'KD-TS-251217-02',
    scheduledDate: '2025-12-23',
    status: 'scheduled',
    priority: 'normal',
    deliveryMethod: 'logistics',
    customerName: '현대건설(주)',
    siteName: '힐스테이트 판교',
    manager: '-',
    canShip: false,
    depositConfirmed: false,
    invoiceIssued: false,
  },
  {
    id: 'sl-251221-02',
    shipmentNo: 'SL-251221-02',
    lotNo: 'KD-TS-251217-02',
    scheduledDate: '2025-12-23',
    status: 'scheduled',
    priority: 'normal',
    deliveryMethod: 'pickup',
    customerName: '현대건설(주)',
    siteName: '힐스테이트 판교',
    manager: '-',
    canShip: false,
    depositConfirmed: true,
    invoiceIssued: false,
  },
  {
    id: 'sl-251221-01',
    shipmentNo: 'SL-251221-01',
    lotNo: 'KD-TS-251217-01',
    scheduledDate: '2025-12-21',
    status: 'scheduled',
    priority: 'normal',
    deliveryMethod: 'pickup',
    customerName: '삼성물산(주)',
    siteName: '래미안 강남 포레스트',
    manager: '-',
    canShip: false,
    depositConfirmed: false,
    invoiceIssued: false,
  },
];

// 출하 상세 Mock 데이터
export const mockShipmentDetail: ShipmentDetail = {
  id: 'sl-251220-01',
  shipmentNo: 'SL-251220-01',
  lotNo: 'KD-TS-251217-10',
  scheduledDate: '2025-12-20',
  status: 'completed',
  priority: 'urgent',
  deliveryMethod: 'direct',
  depositConfirmed: true,
  invoiceIssued: true,
  customerGrade: 'B등급',
  canShip: true,
  loadingManager: '김상차',
  loadingCompleted: '2025.12.20.',
  registrant: '판매1팀 임판매',

  customerName: '두산건설(주)',
  siteName: '위브 청라',
  deliveryAddress: '인천시 서구 청라동 456',
  receiver: '임현장',
  receiverContact: '010-8901-2345',

  products: [
    {
      id: 'prod-1',
      no: 1,
      itemCode: 'SH3225',
      itemName: '스크린 셔터 (와이어)',
      floorUnit: '18층/M-01',
      specification: '3200×2500',
      quantity: 1,
      lotNo: 'LOT-20251217-001',
    },
  ],

  logisticsCompany: '-',
  vehicleTonnage: '3.5톤',
  shippingCost: undefined,

  vehicleNo: '34사 5678',
  driverName: '정운전',
  driverContact: '010-5656-7878',

  remarks: '[통합테스트10] 두산건설 - 전체 플로우 완료 (견적→수주→생산→품질→출하→회계)',
};

// LOT 선택 옵션 (등록 시)
export const mockLotOptions: LotOption[] = [
  {
    value: 'KD-TS-251217-10',
    label: 'KD-TS-251217-10',
    customerName: '두산건설(주)',
    siteName: '위브 청라',
    deliveryAddress: '인천시 서구 청라동 456',
  },
  {
    value: 'KD-TS-251217-09',
    label: 'KD-TS-251217-09',
    customerName: '태영건설(주)',
    siteName: '대시앙 동탄',
    deliveryAddress: '경기도 화성시 동탄순환대로 100',
  },
  {
    value: 'KD-TS-251217-08',
    label: 'KD-TS-251217-08',
    customerName: '호반건설(주)',
    siteName: '버킷 광교',
    deliveryAddress: '경기도 수원시 영통구 광교로 200',
  },
];

// 물류사 옵션
export const mockLogisticsOptions: LogisticsOption[] = [
  { value: 'hanjin', label: '한진물류' },
  { value: 'cj', label: 'CJ대한통운' },
  { value: 'lotte', label: '롯데글로벌로지스' },
  { value: 'hyundai', label: '현대글로비스' },
];

// 차량 톤수 옵션
export const mockVehicleTonnageOptions: VehicleTonnageOption[] = [
  { value: '1t', label: '1톤' },
  { value: '2.5t', label: '2.5톤' },
  { value: '3.5t', label: '3.5톤' },
  { value: '5t', label: '5톤' },
  { value: '11t', label: '11톤' },
  { value: '25t', label: '25톤' },
];

// 우선순위 옵션
export const priorityOptions = [
  { value: 'urgent', label: '긴급' },
  { value: 'normal', label: '보통' },
  { value: 'low', label: '낮음' },
];

// 배송방식 옵션
export const deliveryMethodOptions = [
  { value: 'pickup', label: '상차' },
  { value: 'direct', label: '직접배차' },
  { value: 'logistics', label: '물류사' },
];