feat(server): 重构费用报销服务,优化报销单创建和审批流程逻辑

This commit is contained in:
caoxiaozhu
2026-05-14 09:32:36 +00:00
parent 8b39f48dec
commit b0fef46fc6
4 changed files with 244 additions and 14 deletions

View File

@@ -54,6 +54,32 @@ class ExpenseClaimAttachmentAnalysisRead(BaseModel):
suggestion: str = ""
class ExpenseClaimAttachmentDocumentFieldRead(BaseModel):
key: str
label: str
value: str
class ExpenseClaimAttachmentDocumentInfoRead(BaseModel):
document_type: str = "other"
document_type_label: str = "其他单据"
scene_code: str = "other"
scene_label: str = "其他票据"
fields: list[ExpenseClaimAttachmentDocumentFieldRead] = Field(default_factory=list)
class ExpenseClaimAttachmentRequirementRead(BaseModel):
matches: bool = False
current_expense_type: str = "other"
current_expense_type_label: str = "其他"
allowed_scene_labels: list[str] = Field(default_factory=list)
recognized_scene_code: str = "other"
recognized_scene_label: str = "其他票据"
recognized_document_type: str = "other"
recognized_document_type_label: str = "其他单据"
message: str = ""
class ExpenseClaimAttachmentRead(BaseModel):
file_name: str
storage_key: str
@@ -62,6 +88,8 @@ class ExpenseClaimAttachmentRead(BaseModel):
uploaded_at: datetime | None = None
previewable: bool = True
analysis: ExpenseClaimAttachmentAnalysisRead | None = None
document_info: ExpenseClaimAttachmentDocumentInfoRead | None = None
requirement_check: ExpenseClaimAttachmentRequirementRead | None = None
class ExpenseClaimItemUpdate(BaseModel):