"""评查 VO。""" from datetime import datetime from pydantic import BaseModel, Field class AuditRunVO(BaseModel): """评查运行响应。""" runId: int = Field(..., description="运行ID") documentId: int = Field(..., description="文档ID") runNo: int = Field(..., description="执行序号") status: str = Field(..., description="状态") phase: str | None = Field(None, description="draft/executed") totalScore: float | None = Field(None, description="总分") passedCount: int | None = Field(None, description="通过数") failedCount: int | None = Field(None, description="失败数") startedAt: datetime | None = Field(None, description="开始时间") finishedAt: datetime | None = Field(None, description="结束时间") class AuditResultVO(BaseModel): """评查结果响应。""" runId: int = Field(..., description="运行ID") totalScore: float | None = Field(None, description="总分") passedCount: int = Field(0, description="通过数") failedCount: int = Field(0, description="失败数") skippedCount: int = Field(0, description="跳过数") phase: str | None = Field(None, description="draft/executed") rescueApplied: bool = Field(False, description="是否执行 rescue") rules: list[dict] = Field(default_factory=list, description="规则结果列表")