Files
sakhteman/app/models/monitor_physical_secondary_progress.py
T

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[int] = Field(description=" برنامه ای")
real: Optional[int] = Field(description=" واقعی")
deviation: Optional[int] = Field(description="انحراف از برنامه")
date_at: Optional[datetime] = Field(description="تاریخ گزارش پیشرفت")
last_month: Optional[int] = 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='تاریخ وارد شده')