feat:add contract
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
import uuid
|
||||
from datetime import datetime
|
||||
from typing import Optional, List, Literal
|
||||
|
||||
import pydantic
|
||||
from pydantic import Field
|
||||
|
||||
from core.models.base import BaseModel
|
||||
|
||||
class AddendumModel(pydantic.BaseModel):
|
||||
id: Optional[uuid.UUID] = Field(description="کد شناسایی الحاقیه")
|
||||
number: Optional[str] = Field(description="شماره الحاقیه")
|
||||
amount: Optional[int] = Field(description=' مبلغ الحاقیه')
|
||||
description: Optional[str] = Field(description='توضیحات')
|
||||
end_date: Optional[datetime] = Field(description='تاریخ پایان الحاقیه')
|
||||
created_at: Optional[datetime] = Field(description='تاریخ ایجاد رکورد')
|
||||
updated_at: Optional[datetime] = Field(description='تاریخ آخرین بروزرسانی رکورد')
|
||||
user_id: Optional[uuid.UUID] = Field(description='کد شناسایی کاربر در این فیلد قرار می گیرد')
|
||||
|
||||
class ExtensionModel(pydantic.BaseModel):
|
||||
id: Optional[uuid.UUID] = Field(description="کد شناسایی الحاقیه")
|
||||
created_at: Optional[datetime] = Field(description='تاریخ ایجاد رکورد')
|
||||
updated_at: Optional[datetime] = Field(description='تاریخ آخرین بروزرسانی رکورد')
|
||||
user_id: Optional[uuid.UUID] = Field(description='کد شناسایی کاربر در این فیلد قرار می گیرد')
|
||||
day_to_end: Optional[int] = Field(description='میزان روز مانده به پایان قرارداد')
|
||||
description: Optional[str] = Field(description='توضیحات')
|
||||
status:Optional[str] = Field(description='وضعیت تمدید پیمان')
|
||||
|
||||
class ContractModel(BaseModel):
|
||||
id: Optional[uuid.UUID] = Field(alias='_id')
|
||||
project_id: uuid.UUID = Field(description='کد شناسایی پروژ')
|
||||
state: str = Field(description='استان در این فیلد قرار می گیرد')
|
||||
city: str = Field(description='شهر در این فیلد قرار می گیرد')
|
||||
project_code: Optional[str] = Field(description='کد در این فیلد قرار می گیرد')
|
||||
description: Optional[str] = Field(description='شرح قرارداد')
|
||||
number: Optional[str] = Field(description="شماره قرارداد")
|
||||
type:Optional[str] = Field(description=' نوع قرارداد')
|
||||
amount:Optional[int] = Field(description='مبلغ اولیه قرارداد')
|
||||
date_contract:Optional[datetime] = Field(description='تاریخ عقد قرارداد')
|
||||
end_date:Optional[datetime] = Field(description='تاریخ پایان قرارداد')
|
||||
notif_date:Optional[datetime] = Field(description='تاریخ ابلاغ قرارداد')
|
||||
name_employer:Optional[str] = Field(description='نام کارفرما')
|
||||
name_consultant:Optional[str] = Field(description='نام مشاور')
|
||||
collection:Optional[List[str]] = Field(description="""
|
||||
'ژئوتکنیک','طرح توجیحی','طراحی','نظارت کارگاهی','نظارت عالیه'
|
||||
""")
|
||||
addendum:Optional[List[AddendumModel]] = Field(description='الحاقیه')
|
||||
nature:Optional[str] = Field(description="""
|
||||
طراحی
|
||||
نظارت
|
||||
برونسپاری
|
||||
""")
|
||||
basic_fee : Optional[int] = Field(description='حق الزحمه مبنا')
|
||||
meter : Optional[str] = Field(description='متراژ پروژه')
|
||||
extension : Optional[List[ExtensionModel]] = Field(description='وضعیت تمدید قرارداد')
|
||||
|
||||
Reference in New Issue
Block a user