| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- from typing import Optional
- from pydantic import BaseModel, ConfigDict, Field
- from pydantic.alias_generators import to_camel
- from app.schemas.common import DatetimeToStr, OptDatetimeToStr
- class AdvanceApplyCreate(BaseModel):
- model_config = ConfigDict(populate_by_name=True, alias_generator=to_camel)
- reason: str
- purpose: Optional[str] = None
- amount: float
- remark: Optional[str] = None
- expense_item_id: Optional[int] = None
- class AdvanceApplyUpdate(BaseModel):
- model_config = ConfigDict(populate_by_name=True, alias_generator=to_camel)
- reason: Optional[str] = None
- purpose: Optional[str] = None
- amount: Optional[float] = None
- remark: Optional[str] = None
- expense_item_id: Optional[int] = None
- class AdvanceApplyOut(BaseModel):
- model_config = ConfigDict(from_attributes=True, populate_by_name=True, alias_generator=to_camel)
- id: int
- apply_code: str
- applicant_id: int
- applicant_name: str
- reason: str
- purpose: Optional[str] = None
- expense_item_id: Optional[int] = None
- amount: float
- status: str
- current_node: Optional[str] = None
- apply_time: DatetimeToStr = Field(validation_alias="create_time")
- remark: Optional[str] = None
- actual_amount: Optional[float] = None
- offset_amount: Optional[float] = None
- issue_status: Optional[str] = None
- issue_time: OptDatetimeToStr = None
- issue_user_name: Optional[str] = None
- issue_remark: Optional[str] = None
- class AdvanceApprovalCreate(BaseModel):
- model_config = ConfigDict(populate_by_name=True, alias_generator=to_camel)
- approval_status: Optional[str] = None
- approval_opinion: Optional[str] = None
- class AdvanceApprovalOut(BaseModel):
- model_config = ConfigDict(from_attributes=True, populate_by_name=True, alias_generator=to_camel)
- id: int
- advance_id: int
- node_name: str
- node_order: int
- approval_status: str
- approval_opinion: Optional[str] = None
- approver_name: str
- approval_time: OptDatetimeToStr = None
- class AdvanceIssueOut(BaseModel):
- model_config = ConfigDict(from_attributes=True, populate_by_name=True, alias_generator=to_camel)
- id: int
- apply_code: str
- applicant_id: int
- applicant_name: str
- reason: str
- amount: float
- approve_time: DatetimeToStr = Field(validation_alias="update_time")
- issue_status: Optional[str] = None
- issue_time: OptDatetimeToStr
- issue_user_name: Optional[str] = None
- issue_remark: Optional[str] = None
- actual_amount: Optional[float] = None
- offset_amount: Optional[float] = None
- class AdvanceIssueRequest(BaseModel):
- model_config = ConfigDict(populate_by_name=True, alias_generator=to_camel)
- issue_remark: Optional[str] = None
- actual_amount: Optional[float] = None
- class AdvanceOffsetRecordOut(BaseModel):
- model_config = ConfigDict(populate_by_name=True, alias_generator=to_camel)
- reimburse_id: int
- reimburse_apply_code: str
- reimburse_title: Optional[str] = None
- reimburse_applicant_name: Optional[str] = None
- offset_amount: float
- remark: Optional[str] = None
- operator: Optional[str] = None
- create_time: OptDatetimeToStr = None
- class AdvanceMyStatsOut(BaseModel):
- model_config = ConfigDict(populate_by_name=True, alias_generator=to_camel)
- total_count: int
- pending_count: int
- approved_pass_count: int
- rejected_count: int
- pending_issue_count: int
- issued_count: int
- issued_amount: float
- month_apply_amount: float
- month_apply_count: int
- offset_total: float
- class AdvanceApproverPendingStatsOut(BaseModel):
- model_config = ConfigDict(populate_by_name=True, alias_generator=to_camel)
- pending_total: int
- month_pending_amount: float
- class AdvanceFinanceIssueStatsOut(BaseModel):
- model_config = ConfigDict(populate_by_name=True, alias_generator=to_camel)
- pending_count: int
- issued_count: int
- pending_amount: float
- issued_month_amount: float
|