// 현장기준 Config
const siteMasterConfig = {
  id: 'site',
  title: '현장 목록',
  description: '현장 템플릿과 필드를 관리합니다',
  icon: 'MapPin',
  tabs: [
    { id: 'hierarchy', label: '계층구조', icon: 'GitBranch' },
    { id: 'section', label: '섹션', icon: 'Layers' },
    { id: 'field', label: '항목', icon: 'ClipboardList' },
    { id: 'attribute', label: '속성', icon: 'Settings' },
  ],
  // 현장유형 (공사 종류)
  entityTypes: [
    { id: 1, code: 'NEW', name: '신축', description: '신규 건물 신축 현장', sortOrder: 1, isActive: true },
    { id: 2, code: 'REINFORCE', name: '보강', description: '기존 건물 보강 공사', sortOrder: 2, isActive: true },
    { id: 3, code: 'REPLACE', name: '교체', description: '기존 설비 교체 현장', sortOrder: 3, isActive: true },
    { id: 4, code: 'AS', name: 'AS', description: 'AS 대응 현장', sortOrder: 4, isActive: true },
  ],
  // 현장 상태 (수주 라이프사이클)
  siteStatuses: [
    { id: 1, code: 'BIDDING', name: '수주중', description: '견적/수주 진행 중', sortOrder: 1, isActive: true },
    { id: 2, code: 'IN_PROGRESS', name: '진행중', description: '공사 진행 중', sortOrder: 2, isActive: true },
    { id: 3, code: 'PAUSED', name: '일시중단', description: '공사 일시 중단', sortOrder: 3, isActive: true },
    { id: 4, code: 'COMPLETED', name: '완료', description: '공사 완료', sortOrder: 4, isActive: true },
    { id: 5, code: 'CANCELLED', name: '취소', description: '수주 취소', sortOrder: 5, isActive: true },
  ],
  categories: [
    { id: 1, code: 'COMM', name: '상업시설', parentId: null, level: 1, path: '/1', sortOrder: 1 },
    { id: 2, code: 'COMM-OFF', name: '오피스빌딩', parentId: 1, level: 2, path: '/1/2', sortOrder: 1 },
    { id: 3, code: 'COMM-MALL', name: '쇼핑몰', parentId: 1, level: 2, path: '/1/3', sortOrder: 2 },
    { id: 4, code: 'RES', name: '주거시설', parentId: null, level: 1, path: '/4', sortOrder: 2 },
    { id: 5, code: 'RES-APT', name: '아파트', parentId: 4, level: 2, path: '/4/5', sortOrder: 1 },
    { id: 6, code: 'RES-VILLA', name: '빌라', parentId: 4, level: 2, path: '/4/6', sortOrder: 2 },
    { id: 7, code: 'IND', name: '산업시설', parentId: null, level: 1, path: '/7', sortOrder: 3 },
    { id: 8, code: 'IND-FACT', name: '공장', parentId: 7, level: 2, path: '/7/8', sortOrder: 1 },
  ],
  masterFields: [
    { id: 1, fieldKey: 'siteCode', fieldName: '현장코드', inputType: 'text', isRequired: true, validations: { maxLength: 20 }, description: '현장 식별 코드 (예: PJ-YYMMDD-##, 채번규칙 적용)' },
    { id: 2, fieldKey: 'siteName', fieldName: '현장명', inputType: 'text', isRequired: true, validations: { maxLength: 100 }, description: '현장 이름' },
    { id: 3, fieldKey: 'customerId', fieldName: '거래처', inputType: 'select', isRequired: true, refType: 'customer', description: '현장 발주 거래처 (FK)' },
    { id: 4, fieldKey: 'siteType', fieldName: '카테고리', inputType: 'select', isRequired: true, options: { items: ['신축', '보강', '교체', 'AS'] }, description: '공사 유형' },
    { id: 5, fieldKey: 'status', fieldName: '상태', inputType: 'select', isRequired: true, options: { items: ['수주중', '진행중', '일시중단', '완료', '취소'] }, description: '현장 진행 상태' },
    { id: 6, fieldKey: 'address', fieldName: '위치', inputType: 'text', isRequired: true, description: '현장 주소' },
    { id: 7, fieldKey: 'startDate', fieldName: '계약시작일', inputType: 'date', isRequired: false, description: '계약 시작일' },
    { id: 8, fieldKey: 'endDate', fieldName: '계약종료일', inputType: 'date', isRequired: false, description: '계약 종료일' },
    { id: 9, fieldKey: 'siteManager', fieldName: '현장소장', inputType: 'text', isRequired: false, description: '현장 책임자' },
    { id: 10, fieldKey: 'managerPhone', fieldName: '연락처', inputType: 'text', isRequired: false, description: '현장 연락처' },
    { id: 11, fieldKey: 'totalOrderAmount', fieldName: '누적수주액', inputType: 'number', isRequired: false, readOnly: true, description: '해당 현장의 누적 수주 금액 (자동 계산)' },
    { id: 12, fieldKey: 'description', fieldName: '비고', inputType: 'textarea', isRequired: false, description: '현장 특이사항' },
  ],
  masterSections: [
    { id: 1, sectionKey: 'basicInfo', sectionName: '기본정보', sectionType: 'general', applicableTypes: ['NEW', 'REINFORCE', 'REPLACE', 'AS'], description: '현장 기본 정보', fields: [1, 2, 3, 4, 5, 6] },
    { id: 2, sectionKey: 'scheduleInfo', sectionName: '계약정보', sectionType: 'general', applicableTypes: ['NEW', 'REINFORCE', 'REPLACE'], description: '계약 일정 정보', fields: [7, 8, 11] },
    { id: 3, sectionKey: 'managerInfo', sectionName: '담당자정보', sectionType: 'general', applicableTypes: ['NEW', 'REINFORCE', 'REPLACE', 'AS'], description: '현장 담당자 정보', fields: [9, 10] },
  ],
  pageTemplates: [
    {
      id: 1, pageCode: 'site_registration', pageName: '현장 등록', pagePath: '/판매관리/현장_등록', itemTypes: ['NEW'],
      sections: [
        { sectionId: 1, sectionKey: 'basicInfo', sectionName: '기본정보', sortOrder: 1, fields: [
          { fieldId: 1, fieldKey: 'siteCode', fieldName: '현장코드', inputType: 'text', isRequired: true },
          { fieldId: 2, fieldKey: 'siteName', fieldName: '현장명', inputType: 'text', isRequired: true },
          { fieldId: 3, fieldKey: 'customerId', fieldName: '거래처', inputType: 'select', isRequired: true },
          { fieldId: 4, fieldKey: 'siteType', fieldName: '카테고리', inputType: 'select', isRequired: true },
          { fieldId: 5, fieldKey: 'status', fieldName: '상태', inputType: 'select', isRequired: true },
          { fieldId: 6, fieldKey: 'address', fieldName: '위치', inputType: 'text', isRequired: true },
        ]},
        { sectionId: 2, sectionKey: 'scheduleInfo', sectionName: '계약정보', sortOrder: 2, fields: [
          { fieldId: 7, fieldKey: 'startDate', fieldName: '계약시작일', inputType: 'date', isRequired: false },
          { fieldId: 8, fieldKey: 'endDate', fieldName: '계약종료일', inputType: 'date', isRequired: false },
        ]},
        { sectionId: 3, sectionKey: 'managerInfo', sectionName: '담당자정보', sortOrder: 3, fields: [
          { fieldId: 9, fieldKey: 'siteManager', fieldName: '현장소장', inputType: 'text', isRequired: false },
          { fieldId: 10, fieldKey: 'managerPhone', fieldName: '연락처', inputType: 'text', isRequired: false },
        ]},
      ],
      conditions: []
    }
  ],

  // ============ 등록된 현장 샘플 데이터 ============
  // 채번규칙: PJ-YYMMDD-## (현장 등록일 기준)
  sampleSites: [
    // 삼성물산 현장들
    {
      id: 1,
      siteCode: 'PJ-250110-01',
      siteName: '삼성물산 래미안 강남 1차',
      customerId: 1, // 삼성물산(주)
      customerName: '삼성물산(주)',
      siteType: '신축',
      status: '진행중',
      address: '서울특별시 강남구 도곡동 123-45',
      startDate: '2025-01-15',
      endDate: '2025-12-31',
      siteManager: '김현장',
      managerPhone: '010-1111-2222',
      totalOrderAmount: 125000000,
      description: '신규 아파트 블라인드 설치 공사',
      isActive: true,
      createdAt: '2025-01-10',
    },
    {
      id: 2,
      siteCode: 'PJ-250115-01',
      siteName: '삼성물산 래미안 강남 2차',
      customerId: 1,
      customerName: '삼성물산(주)',
      siteType: '신축',
      status: '수주중',
      address: '서울특별시 강남구 도곡동 456-78',
      startDate: '2025-03-01',
      endDate: '2025-10-31',
      siteManager: '박현장',
      managerPhone: '010-2222-3333',
      totalOrderAmount: 0,
      description: '2차 단지 견적 진행 중',
      isActive: true,
      createdAt: '2025-01-15',
    },
    // 현대건설 현장
    {
      id: 3,
      siteCode: 'PJ-250112-01',
      siteName: '현대건설 힐스테이트 판교',
      customerId: 2, // 현대건설(주)
      customerName: '현대건설(주)',
      siteType: '신축',
      status: '진행중',
      address: '경기도 성남시 분당구 판교동 100-1',
      startDate: '2025-01-20',
      endDate: '2025-08-31',
      siteManager: '이현장',
      managerPhone: '010-3333-4444',
      totalOrderAmount: 89000000,
      description: '판교 신축 아파트 프로젝트',
      isActive: true,
      createdAt: '2025-01-12',
    },
    // 대우건설 현장
    {
      id: 4,
      siteCode: 'PJ-250118-01',
      siteName: '대우건설 푸르지오 일산',
      customerId: 3, // 대우건설(주)
      customerName: '대우건설(주)',
      siteType: '보강',
      status: '진행중',
      address: '경기도 고양시 일산동구 마두동 200-5',
      startDate: '2025-02-01',
      endDate: '2025-05-31',
      siteManager: '최현장',
      managerPhone: '010-4444-5555',
      totalOrderAmount: 45000000,
      description: '기존 설치 블라인드 보강 공사',
      isActive: true,
      createdAt: '2025-01-20',
    },
    // 서울인테리어 현장
    {
      id: 5,
      siteCode: 'PJ-250201-01',
      siteName: '강남 오피스타워 인테리어',
      customerId: 4, // (주)서울인테리어
      customerName: '(주)서울인테리어',
      siteType: '신축',
      status: '수주중',
      address: '서울특별시 강남구 역삼동 300-10',
      startDate: null,
      endDate: null,
      siteManager: '정현장',
      managerPhone: '010-5555-6666',
      totalOrderAmount: 0,
      description: '오피스 빌딩 블라인드 견적 진행',
      isActive: true,
      createdAt: '2025-02-01',
    },
    // 완료된 현장
    {
      id: 6,
      siteCode: 'PJ-240520-01',
      siteName: '삼성물산 래미안 서초 3차',
      customerId: 1,
      customerName: '삼성물산(주)',
      siteType: '신축',
      status: '완료',
      address: '서울특별시 서초구 서초동 555-12',
      startDate: '2024-06-01',
      endDate: '2024-12-15',
      siteManager: '윤현장',
      managerPhone: '010-6666-7777',
      totalOrderAmount: 156000000,
      description: '공사 완료 및 검수 완료',
      isActive: true,
      createdAt: '2024-05-20',
    },
    // 일시중단 현장
    {
      id: 7,
      siteCode: 'PJ-240915-01',
      siteName: '현대건설 힐스테이트 용인',
      customerId: 2,
      customerName: '현대건설(주)',
      siteType: '신축',
      status: '일시중단',
      address: '경기도 용인시 수지구 상현동 400-20',
      startDate: '2024-10-01',
      endDate: '2025-06-30',
      siteManager: '강현장',
      managerPhone: '010-7777-8888',
      totalOrderAmount: 35000000,
      description: '고객사 요청으로 일시 중단',
      isActive: true,
      createdAt: '2024-09-15',
    },
  ],
};

export default siteMasterConfig;
