// ===== 기업 신용분석 데이터 타입 =====

export type CreditLevel = 1 | 2 | 3 | 4 | 5;
export type CreditStatus = '위험' | '주의' | '보통' | '양호' | '우량';
export type SafetyLevel = '안전' | '주의' | '위험';
export type RiskStatus = '우량' | '양호' | '보통' | '주의' | '위험';

// 레이더 차트용 - 신용 리스크 프로필 (5각형)
export interface RiskProfile {
  corporateRisk: number;      // 기업 리스크 (0~100)
  publicRecord: number;       // 공공기록 (0~100)
  stability: number;          // 안정성 (0~100)
  growth: number;             // 성장성 (0~100)
  overdueHistory: number;     // 연체이력 (0~100)
}

// 신호등 아래 표시될 상세 정보
export interface CreditDetailInfo {
  koreaCreditRating: RiskStatus;    // 한국신용평가등급
  financialRisk: RiskStatus;        // 금융 종합 위험도
  purchasePayment: RiskStatus;      // 매입 결제
  salesPayment: RiskStatus;         // 매출 결제
  mortgageSetting: RiskStatus;      // 저당권설정
}

// 신용 상세 정보 탭 데이터
export interface CreditDetailTabData {
  shortTermOverdue: string | null;     // 단기연체정보
  creditJudgment: string | null;       // 신용도판단정보
  checkingSuspension: string | null;   // 당좌거래정지
  courtManagement: string | null;      // 법정관리/워크아웃
}

export interface ApprovalInfo {
  safety: SafetyLevel;
  level: CreditLevel;
  businessType: string;         // 계속사업자, 신규거래 등
  creditAvailable: boolean;     // 외상 가능 여부
}

export interface CreditAnalysisData {
  // 기업 정보
  businessNumber: string;       // 사업자번호
  companyName: string;          // 법인명
  representativeName: string;   // 대표자명
  evaluationDate: string;       // 평가기준일
  queryDate: string;            // 조회일자

  // 신용 등급
  creditLevel: CreditLevel;
  creditStatus: CreditStatus;
  taxStatus: string;            // 국세청 상태 (예: "국세청 상태 기준")

  // 리스크 프로필 (레이더 차트용)
  riskProfile: RiskProfile;

  // 신호등 아래 상세 정보
  creditDetailInfo: CreditDetailInfo;

  // 신용 상세 정보 탭 데이터
  creditDetailTab: CreditDetailTabData;

  // 거래 승인 판정
  approval: ApprovalInfo;
}

// ===== 신용 레벨 설정 =====
export const CREDIT_LEVEL_CONFIG: Record<CreditLevel, {
  status: CreditStatus;
  color: string;
  bgColor: string;
  description: string;
}> = {
  1: {
    status: '위험',
    color: 'text-red-600',
    bgColor: 'bg-red-500',
    description: '신용 위험 등급으로 거래 시 주의가 필요합니다.',
  },
  2: {
    status: '주의',
    color: 'text-orange-600',
    bgColor: 'bg-orange-500',
    description: '신용 주의 등급으로 거래 조건 검토가 필요합니다.',
  },
  3: {
    status: '보통',
    color: 'text-yellow-600',
    bgColor: 'bg-yellow-500',
    description: '신용 보통 등급으로 일반적인 거래가 가능합니다.',
  },
  4: {
    status: '양호',
    color: 'text-green-600',
    bgColor: 'bg-green-500',
    description: '신용 양호 등급으로 안정적인 거래가 가능합니다.',
  },
  5: {
    status: '우량',
    color: 'text-blue-600',
    bgColor: 'bg-blue-500',
    description: '신용 우량 등급으로 최상의 거래 조건이 가능합니다.',
  },
};

// ===== 목업 데이터 =====
export const MOCK_CREDIT_DATA: CreditAnalysisData = {
  businessNumber: '514-87-00635',
  companyName: '(주)한가 양산공장',
  representativeName: '홍길동',
  evaluationDate: '2026-01-22 21:05:04',
  queryDate: '2026-01-23 09:30:00',
  creditLevel: 4,
  creditStatus: '양호',
  taxStatus: '국세청 상태 기준',
  riskProfile: {
    corporateRisk: 80,
    publicRecord: 75,
    stability: 85,
    growth: 70,
    overdueHistory: 90,
  },
  creditDetailInfo: {
    koreaCreditRating: '양호',
    financialRisk: '양호',
    purchasePayment: '양호',
    salesPayment: '양호',
    mortgageSetting: '양호',
  },
  creditDetailTab: {
    shortTermOverdue: null,
    creditJudgment: null,
    checkingSuspension: null,
    courtManagement: null,
  },
  approval: {
    safety: '안전',
    level: 4,
    businessType: '계속사업자',
    creditAvailable: true,
  },
};
