51 lines
2.8 KiB
Python
51 lines
2.8 KiB
Python
import datetime
|
|
import uuid
|
|
from typing import Optional, Literal
|
|
|
|
import pydantic
|
|
from pydantic import Field
|
|
|
|
from core.models.base import BaseModel
|
|
|
|
class AmountStatus(pydantic.BaseModel):
|
|
amount_contractor: Optional[int] = Field(description=" مبلغ دوره ادعایی پیمانکار | مبلغ تجمعی ادعایی پیمانکار")
|
|
amount_project_manager: Optional[int] = Field(description="مبلغ دوره تائید نظارت کارگاهی/مدیرطرح | مبلغ تجمعی تائید نظارت کارگاهی/مدیر طرح")
|
|
amount_cycle_supervisor: Optional[int] = Field(description="مبلغ دوره تائید نظارت عالیه | مبلغ تجمعی تائید نظارت عالیه")
|
|
building: Optional[int] = Field(description="ابنیه")
|
|
mechanic: Optional[int] = Field(description="مکانیک")
|
|
electrical: Optional[int] = Field(description="برق")
|
|
other: Optional[int] = Field(description="غیر از ابنیه، مکانیک، برق")
|
|
new_amount: Optional[int] = Field(description="فاکتوری | قیمت جدید")
|
|
workshop: Optional[int] = Field(description=" تجهیز کارگاه")
|
|
amount_verify_supervisor: Optional[int] = Field(description=" مبلغ تجمعی نظارت عالیه | مبلغ دوره نظارت عالیه")
|
|
|
|
|
|
class RegisterStatusModel(BaseModel):
|
|
id: Optional[uuid.UUID] = Field(alias='_id')
|
|
project_id: uuid.UUID = Field(description='کد شناسایی پروژ')
|
|
date_contractor:Optional[datetime.datetime] = Field(description="تاریخ ارسال پیمانکار")
|
|
date_receive_company:Optional[datetime.datetime] = Field(description=" تاریخ وصول به دبیرخانه شرکت")
|
|
date_receive_physical:Optional[datetime.datetime] = Field(description=" تاریخ وصول نسخه فیزیکی")
|
|
sts:Optional[Literal[1,2]] = Field(description="""
|
|
1.کارکرد
|
|
2.تعدیل
|
|
""")
|
|
start_at:Optional[datetime.datetime] = Field(description="تاریخ شروع دوره")
|
|
end_at:Optional[datetime.datetime] = Field(description="تاریخ پایان دوره")
|
|
cycle_day:Optional[int] = Field(description=" طول دوره به روز")
|
|
nature:Optional[Literal[1,2,3,4,5]] = Field(description="""
|
|
1.موقت
|
|
2.30درصد
|
|
3.60درصد
|
|
4.ماقبل قطعی
|
|
5.قطعی
|
|
""")
|
|
number_start: Optional[float] = Field(description="شماره صورت وضعیت")
|
|
number_end: Optional[float] = Field(description="شماره صورت وضعیت")
|
|
index: Optional[Literal[1,2]] = Field(description="""
|
|
1.قطعی
|
|
2. علی الحساب
|
|
""")
|
|
amount: Optional[AmountStatus] = Field(description="مبالغ")
|
|
related_to_number:Optional[int] = Field(description="شماره صورت وضعیت مرتبط")
|