fix:添加审核页面状态

master
HuangHuiKang 23 hours ago
parent 98ebb12741
commit 478e9838e0

@ -53,7 +53,7 @@ class EnergyReportReviewModel(ModelMixin, TenantMixin, UserMixin):
Integer,
default=0,
nullable=False,
comment="状态 0:待审查 1:审核通过 2:审核不通过",
comment="状态 0:待审查 1:审查中 2:已审查 3:审查失败",
index=True,
)
reviewer_id: Mapped[int | None] = mapped_column(

@ -19,7 +19,7 @@ class EnergyReportReviewCreateSchema(BaseModel):
template_id: int = Field(..., ge=1, description="能源报告模板ID")
file_id: int = Field(..., ge=1, description="上传文档文件ID")
attachment_file_id: int | None = Field(default=None, ge=1, description="附件文件ID")
status: int = Field(default=0, ge=0, le=2, description="状态 0:待审查 1:审核通过 2:审核不通过")
status: int = Field(default=0, ge=0, le=3, description="状态 0:待审查 1:审查中 2:已审查 3:审查失败")
reviewer_id: int | None = Field(default=None, ge=1, description="审查人ID")
description: str | None = Field(default=None, max_length=500, description="描述")
@ -34,8 +34,8 @@ class EnergyReportReviewCreateSchema(BaseModel):
@field_validator("status")
@classmethod
def validate_status(cls, value: int) -> int:
if value not in {0, 1, 2}:
raise ValueError("状态仅支持 0(待审查)、1(审核通过)、2(审核不通过)")
if value not in {0, 1, 2, 3}:
raise ValueError("状态仅支持 0(待审查)、1(审查中)、2(已审查)、3(审查失败)")
return value
@field_validator("report_type")
@ -71,9 +71,10 @@ class EnergyReportReviewStatsSchema(BaseModel):
"""能源报告审核任务统计模型。"""
submitted_count: int = Field(default=0, description="提交任务数")
reviewed_count: int = Field(default=0, description="审核通过任务数")
reviewing_count: int = Field(default=0, description="审查中任务数")
reviewed_count: int = Field(default=0, description="已审查任务数")
pending_count: int = Field(default=0, description="待审查任务数")
failed_count: int = Field(default=0, description="核不通过任务数")
failed_count: int = Field(default=0, description="查失败任务数")
class EnergyReportReviewPageOutSchema(BaseModel):
@ -93,7 +94,7 @@ class EnergyReportReviewQueryParam(BaseQueryParam, UserByQueryParam, TenantByQue
task_name: str | None = Query(None, description="任务名称")
report_type: int | None = Query(None, ge=1, le=2, description="报告类型 1:能源报告 2:光伏报告")
status: int | None = Query(None, ge=0, le=2, description="状态 0:待审查 1:审核通过 2:审核不通过")
status: int | None = Query(None, ge=0, le=3, description="状态 0:待审查 1:审查中 2:已审查 3:审查失败")
template_id: int | None = Query(None, ge=1, description="模板ID")
reviewer_id: int | None = Query(None, ge=1, description="审查人ID")

@ -22,8 +22,8 @@ ENERGY_REPORT_REVIEW_BUSINESS_TYPE = "energy_report_review"
REVIEW_LOG_ACTION_NAMES = {
"create_task": "创建审查任务",
"start_review": "开始审查",
"review_pass": "审核通过",
"review_reject": "核不通过",
"review_pass": "已审查",
"review_reject": "查失败",
}
@ -128,9 +128,10 @@ class EnergyReportReviewService:
records = await EnergyReportReviewCRUD(self.auth).get_list(search=search_dict or {})
return EnergyReportReviewStatsSchema(
submitted_count=len(records),
reviewed_count=len([record for record in records if record.status == 1]),
reviewing_count=len([record for record in records if record.status == 1]),
reviewed_count=len([record for record in records if record.status == 2]),
pending_count=len([record for record in records if record.status == 0]),
failed_count=len([record for record in records if record.status == 2]),
failed_count=len([record for record in records if record.status == 3]),
)
def _build_stats_search(self, search_dict: dict | None = None) -> dict:

Loading…
Cancel
Save