2024-06-04 17:29:56 +03:30
|
|
|
import datetime
|
|
|
|
|
import uuid
|
|
|
|
|
from typing import Optional
|
|
|
|
|
|
2024-06-13 20:13:47 +03:30
|
|
|
import pydantic
|
2024-06-04 17:29:56 +03:30
|
|
|
from pydantic import Field
|
|
|
|
|
|
|
|
|
|
from core.models.base import BaseModel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class PhysicalProgressModel(BaseModel):
|
|
|
|
|
id: Optional[uuid.UUID] = Field(alias='_id')
|
|
|
|
|
project_id:Optional[uuid.UUID] = Field(description="کد شناسایی پروژه در این فیلد قرار می گیرد")
|
2025-12-18 22:09:57 +03:30
|
|
|
program:Optional[float] = Field(description=" برنامه ای")
|
|
|
|
|
real:Optional[float] = Field(description=" واقعی")
|
|
|
|
|
medium_progress:Optional[float] = Field(description="متوسط پیشرفت فیزیکی ماهانه از ابتدا تا کنون")
|
|
|
|
|
deviation:Optional[float] = Field(description="انحراف از برنامه")
|
2024-06-04 17:29:56 +03:30
|
|
|
date_at:Optional[datetime.datetime] = Field(description="تاریخ گزارش پیشرفت")
|
2025-12-18 22:09:57 +03:30
|
|
|
last_month:Optional[float] = Field(description='واقعی ماه اخیر')
|
|
|
|
|
last_three_month:Optional[float] = Field(description='واقعی ماه اخیر')
|
2025-01-23 16:05:56 +03:30
|
|
|
year:Optional[str]
|
|
|
|
|
month:Optional[str]
|
2024-06-04 21:43:17 +03:30
|
|
|
|
2024-06-13 20:13:47 +03:30
|
|
|
class LastRecord(pydantic.BaseModel):
|
|
|
|
|
project_id:Optional[uuid.UUID] = Field(description="کد شناسایی پروژه در این فیلد قرار می گیرد")
|
|
|
|
|
date_at:Optional[datetime.datetime] = Field(description='تاریخ وارد شده')
|
2025-05-22 15:11:29 +03:30
|
|
|
id:Optional[uuid.UUID] = Field(description='شناسه رکورد')
|
2024-06-13 20:13:47 +03:30
|
|
|
|
|
|
|
|
|