import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';

export class ReportSnapshotResponseDto {
  @ApiProperty({ description: '快照ID' })
  id: string;

  @ApiProperty({ description: '报表类型' })
  reportType: string;

  @ApiProperty({ description: '报表代码' })
  reportCode: string;

  @ApiProperty({ description: '报表周期' })
  reportPeriod: string;

  @ApiProperty({ description: '周期键' })
  periodKey: string;

  @ApiProperty({ description: '数据行数' })
  rowCount: number;

  @ApiPropertyOptional({ description: '汇总数据' })
  summary?: Record<string, any>;

  @ApiPropertyOptional({ description: '数据行' })
  rows?: any[];

  @ApiProperty({ description: '周期开始时间' })
  periodStartAt: Date;

  @ApiProperty({ description: '周期结束时间' })
  periodEndAt: Date;

  @ApiProperty({ description: '生成时间' })
  generatedAt: Date;
}
