fix:添加审核页面状态

master
HuangHuiKang 2 weeks ago
parent 98ebb12741
commit 478e9838e0

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

@ -19,7 +19,7 @@ class EnergyReportReviewCreateSchema(BaseModel):
template_id: int = Field(..., ge=1, description="能源报告模板ID") template_id: int = Field(..., ge=1, description="能源报告模板ID")
file_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") 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") reviewer_id: int | None = Field(default=None, ge=1, description="审查人ID")
description: str | None = Field(default=None, max_length=500, description="描述") description: str | None = Field(default=None, max_length=500, description="描述")
@ -34,8 +34,8 @@ class EnergyReportReviewCreateSchema(BaseModel):
@field_validator("status") @field_validator("status")
@classmethod @classmethod
def validate_status(cls, value: int) -> int: def validate_status(cls, value: int) -> int:
if value not in {0, 1, 2}: if value not in {0, 1, 2, 3}:
raise ValueError("状态仅支持 0(待审查)、1(审核通过)、2(审核不通过)") raise ValueError("状态仅支持 0(待审查)、1(审查中)、2(已审查)、3(审查失败)")
return value return value
@field_validator("report_type") @field_validator("report_type")
@ -71,9 +71,10 @@ class EnergyReportReviewStatsSchema(BaseModel):
"""能源报告审核任务统计模型。""" """能源报告审核任务统计模型。"""
submitted_count: int = Field(default=0, description="提交任务数") 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="待审查任务数") pending_count: int = Field(default=0, description="待审查任务数")
failed_count: int = Field(default=0, description="核不通过任务数") failed_count: int = Field(default=0, description="查失败任务数")
class EnergyReportReviewPageOutSchema(BaseModel): class EnergyReportReviewPageOutSchema(BaseModel):
@ -93,7 +94,7 @@ class EnergyReportReviewQueryParam(BaseQueryParam, UserByQueryParam, TenantByQue
task_name: str | None = Query(None, description="任务名称") task_name: str | None = Query(None, description="任务名称")
report_type: int | None = Query(None, ge=1, le=2, description="报告类型 1:能源报告 2:光伏报告") 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") template_id: int | None = Query(None, ge=1, description="模板ID")
reviewer_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 = { REVIEW_LOG_ACTION_NAMES = {
"create_task": "创建审查任务", "create_task": "创建审查任务",
"start_review": "开始审查", "start_review": "开始审查",
"review_pass": "审核通过", "review_pass": "已审查",
"review_reject": "核不通过", "review_reject": "查失败",
} }
@ -128,9 +128,10 @@ class EnergyReportReviewService:
records = await EnergyReportReviewCRUD(self.auth).get_list(search=search_dict or {}) records = await EnergyReportReviewCRUD(self.auth).get_list(search=search_dict or {})
return EnergyReportReviewStatsSchema( return EnergyReportReviewStatsSchema(
submitted_count=len(records), 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]), 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: def _build_stats_search(self, search_dict: dict | None = None) -> dict:

Loading…
Cancel
Save