using System.Collections.Generic;
namespace XP.ReportEngine.Models
{
///
/// 报告生成请求 | Report generation request
/// 封装外部调用方生成报告所需的全部输入参数
/// Encapsulates all input parameters needed by external callers to generate a report
///
public class ReportRequest
{
///
/// 处理器输出数据列表 | List of processor output data
///
public List ProcessorOutputs { get; set; } = new();
///
/// 报告元数据(产品名、操作员、描述等)| Report metadata (product name, operator, description, etc.)
///
public ReportMetadata Metadata { get; set; }
///
/// 额外图像数据(如工件整体图、自定义图像)| Additional image data (e.g., workpiece overview, custom images)
/// 键为 dataKey,值为图像数据
/// Key is dataKey, value is image data
///
public Dictionary AdditionalImages { get; set; } = new();
///
/// 输出文件路径(可选)| Output file path (optional)
/// 为空时根据 ReportConfig 和 FileNameParameters 自动生成
/// When empty, auto-generated based on ReportConfig and FileNameParameters
///
public string OutputFilePath { get; set; }
///
/// 文件名占位符参数(可选)| File name placeholder parameters (optional)
/// 用于 ReportConfig.FileNamePattern 中的占位符替换
/// Used for placeholder replacement in ReportConfig.FileNamePattern
///
public Dictionary FileNameParameters { get; set; } = new();
///
/// 自定义属性(可选)| Custom properties (optional)
/// 额外的键值对数据,会合并到 ReportContext.Properties 中
/// Additional key-value data merged into ReportContext.Properties
///
public Dictionary CustomProperties { get; set; } = new();
}
}