2025-01-23 23:20:42 +03:30
|
|
|
import datetime
|
2025-01-16 12:36:33 +03:30
|
|
|
import uuid
|
|
|
|
|
from typing import Optional, Literal
|
2024-09-06 13:31:08 +03:30
|
|
|
|
|
|
|
|
import pydantic
|
|
|
|
|
from pydantic import Field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class StatusReport(pydantic.BaseModel):
|
|
|
|
|
state: Optional[str]
|
2025-01-15 23:14:06 +03:30
|
|
|
type_id: Optional[int] = Field(description='کد شناسایی نوع پروژه در این فیلد قرار می گیرد')
|
|
|
|
|
nature_id: Optional[int] = Field(description='کد شناسایی ماهبت در این فیلد قرار می گیرد')
|
2025-01-16 00:00:00 +03:30
|
|
|
monitor_type: Optional[int]
|
2024-09-06 13:31:08 +03:30
|
|
|
|
|
|
|
|
class ReportCountry(pydantic.BaseModel):
|
|
|
|
|
type_id: int = Field(description='کد شناسایی نوع پروژه در این فیلد قرار می گیرد')
|
|
|
|
|
nature_id: int = Field(description='کد شناسایی ماهبت در این فیلد قرار می گیرد')
|
|
|
|
|
state: Optional[str]
|
2024-10-03 23:14:13 +03:30
|
|
|
monitor_type: Optional[int]
|
|
|
|
|
|
2025-01-16 12:36:33 +03:30
|
|
|
class DelayDonutDetail(pydantic.BaseModel):
|
|
|
|
|
project_id:uuid.UUID
|
|
|
|
|
select:Literal['financial','force_major','technical']
|
|
|
|
|
|
2024-10-03 23:14:13 +03:30
|
|
|
class DonutList(pydantic.BaseModel):
|
|
|
|
|
type: int = Field(description='مقدار وارد شده در گزارش قبل')
|
2025-01-23 23:20:42 +03:30
|
|
|
donut_select: str = Field(description='آیتم دونات انتخاب شده')
|
|
|
|
|
|
|
|
|
|
class PhysicalMonth(pydantic.BaseModel):
|
|
|
|
|
from_date:datetime.datetime
|
|
|
|
|
to_date:datetime.datetime
|