39 lines
1.8 KiB
Python
39 lines
1.8 KiB
Python
import uuid
|
|
from datetime import datetime
|
|
from typing import Optional, Literal
|
|
|
|
import pydantic
|
|
from pydantic import Field
|
|
|
|
from core.models.base import BaseModel
|
|
|
|
|
|
class SecondaryProgressModel(BaseModel):
|
|
id: Optional[uuid.UUID] = Field(alias='_id')
|
|
project_id: Optional[uuid.UUID] = Field(description="کد شناسایی پروژه در این فیلد قرار می گیرد")
|
|
title: Optional[str] = Field(description='عنوان در این فیلد قرار میگیرد')
|
|
weight: Optional[int] = Field(description='وزن در این فیلد قرار می گیرد')
|
|
|
|
|
|
class SubSecondaryProgressModel(BaseModel):
|
|
id: Optional[uuid.UUID] = Field(alias='_id')
|
|
parent_id: Optional[uuid.UUID] = Field(description="کد شناسایی پیشرفت های فیزیکی فرعی در این فیلد قرار می گیرد")
|
|
program: Optional[float] = Field(description=" برنامه ای")
|
|
real: Optional[float] = Field(description=" واقعی")
|
|
deviation: Optional[float] = Field(description="انحراف از برنامه")
|
|
date_at: Optional[datetime] = Field(description="تاریخ گزارش پیشرفت")
|
|
last_month: Optional[float] = Field(description='واقعی ماه اخیر')
|
|
collection: Optional[Literal['all', 'work', 'various', 'secondary_building', 'block']] = Field(description="""
|
|
all: کلی
|
|
work: پیشرفت جبهه های کاری
|
|
various: پیشرفت رشته های مختلف
|
|
secondary_building: پیشرفت ساختمان های جنبی
|
|
block: پیشرفت بلوک ها
|
|
""")
|
|
|
|
class LastRecord(pydantic.BaseModel):
|
|
parent_id:Optional[uuid.UUID] = Field(description="کد شناسایی پدر در این فیلد قرار می گیرد")
|
|
date_at:Optional[datetime] = Field(description='تاریخ وارد شده')
|
|
|
|
|