export interface TrainingPlanPageQuery {
  planName?: string
  trainingType?: string
  trainingLevel?: string
  status?: string
  trainer?: string
  startTime?: string
  endTime?: string
  page?: number
  pageSize?: number
}

export interface TrainingPlanReq {
  planName: string
  trainingType: string
  trainingLevel: string
  trainingContent?: string
  trainer?: string
  trainingLocation?: string
  startTime: string
  endTime: string
  status?: string
  maxParticipants?: number
  requirements?: string
  remark?: string
}

export interface TrainingPlanResp {
  planId: string
  planName: string
  trainingType: string
  trainingLevel: string
  trainingContent?: string
  trainer?: string
  trainingLocation?: string
  startTime: string
  endTime: string
  status: string
  maxParticipants?: number
  currentParticipants?: number
  requirements?: string
  remark?: string
  createTime: string
  createBy: string
  materials?: TrainingMaterialResp[]
  records?: TrainingRecordResp[]
}

export interface TrainingMaterialResp {
  materialId: string
  materialName: string
  materialType: string
  materialPath?: string
  materialSize?: number
  description?: string
  sortOrder?: number
}

export interface TrainingRecordResp {
  recordId: string
  userId: string
  userName: string
  deptId?: string
  deptName?: string
  attendanceStatus: string
  signInTime?: string
  signOutTime?: string
  score?: number
  feedback?: string
  certificateId?: string
} 