56 lines
2.3 KiB
Python
56 lines
2.3 KiB
Python
"""交叉评查 DTO。"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class CrossReviewTaskCreateDTO(BaseModel):
|
|
"""创建交叉评查任务。"""
|
|
|
|
taskName: str = Field(..., min_length=1, description="任务名称")
|
|
taskType: str = Field("CITY", description="任务类型")
|
|
docTypeId: int | None = Field(None, description="文档类型ID")
|
|
docTypeCode: str | None = Field(None, description="文档类型编码")
|
|
memberUserIds: list[int] = Field(default_factory=list, description="参与成员用户ID")
|
|
principalUserIds: list[int] = Field(default_factory=list, description="负责人用户ID")
|
|
documentIds: list[int] = Field(default_factory=list, description="挂载文档ID")
|
|
|
|
|
|
class CrossReviewTaskQueryDTO(BaseModel):
|
|
"""查询当前用户交叉评查任务。"""
|
|
|
|
page: int = Field(1, ge=1, description="页码")
|
|
pageSize: int = Field(20, ge=1, le=100, description="每页大小")
|
|
keyword: str | None = Field(None, description="关键字")
|
|
status: str | None = Field(None, description="任务状态")
|
|
taskType: str | None = Field(None, description="任务类型")
|
|
docTypeCode: str | None = Field(None, description="文档类型编码")
|
|
|
|
|
|
class CrossReviewTaskDocumentQueryDTO(BaseModel):
|
|
"""查询任务文档。"""
|
|
|
|
page: int = Field(1, ge=1, description="页码")
|
|
pageSize: int = Field(20, ge=1, le=100, description="每页大小")
|
|
keyword: str | None = Field(None, description="关键字")
|
|
|
|
|
|
class CrossReviewProposalCreateDTO(BaseModel):
|
|
"""创建交叉评查提案。"""
|
|
|
|
proposalType: str = Field("review_point", description="提案类型:review_point/supplement")
|
|
reviewPointResultId: int | None = Field(None, description="规则结果ID")
|
|
documentId: int = Field(..., description="文档ID")
|
|
evaluationPointId: int | None = Field(None, description="评查点ID")
|
|
evaluationPointName: str | None = Field(None, description="补充评查点名称")
|
|
extractionResultText: str | None = Field(None, description="补充抽取结果文本")
|
|
auditOpinion: str = Field(..., min_length=1, description="提案理由")
|
|
deductionScore: float = Field(..., description="分值调整量")
|
|
|
|
|
|
class CrossReviewProposalVoteDTO(BaseModel):
|
|
"""提案投票。"""
|
|
|
|
voteType: str = Field(..., description="agree/disagree/cancel")
|