import datetime import uuid from typing import Optional import pydantic from pydantic import Field from core.models.base import BaseModel class PhysicalProgressModel(BaseModel): id: Optional[uuid.UUID] = Field(alias='_id') project_id:uuid.UUID = Field(description="کد شناسایی پروژه در این فیلد قرار می گیرد") program:Optional[float] = Field(description=" برنامه ای") real:Optional[float] = Field(description=" واقعی") medium_progress:Optional[float] = Field(description="متوسط پیشرفت فیزیکی ماهانه از ابتدا تا کنون") deviation:Optional[float] = Field(description="انحراف از برنامه") date_at:datetime.datetime = Field(description="تاریخ گزارش پیشرفت") last_month:Optional[float] = Field(description='واقعی ماه اخیر') last_three_month:Optional[float] = Field(description='واقعی ماه اخیر') year:Optional[str] month:Optional[str] class LastRecord(pydantic.BaseModel): project_id:Optional[uuid.UUID] = Field(description="کد شناسایی پروژه در این فیلد قرار می گیرد") date_at:Optional[datetime.datetime] = Field(description='تاریخ وارد شده') id:Optional[uuid.UUID] = Field(description='شناسه رکورد')