add progress project model, repository

This commit is contained in:
shahzeydyfah
2024-02-28 06:12:45 +03:30
parent e344c6d361
commit efe0d4bf50
6 changed files with 217 additions and 1 deletions
+53
View File
@@ -0,0 +1,53 @@
import datetime
import uuid
from typing import Optional, Literal, List
import pydantic
from pydantic import Field
from core.models.base import BaseModel
class DesignProgressModel(BaseModel):
id: Optional[uuid.UUID] = Field(alias='_id')
start_at: Optional[datetime.datetime] = Field(description='تاریخ اولین درخواست در این فیلد قرار می گیرد')
project_id: uuid.UUID = Field(description='کد شناسایی پروژه در این فیلد ذخیره می شود')
complete_at: Optional[datetime.datetime] = Field(description='تاریخ تکمیل مدارک')
user_complete: Optional[int] = Field(description='کاربری که اطلاعات را تکمیل می کند در این فیلد قرار می گیرد')
type: Literal[1, 2, 3, 4, 5, 6, 7] = Field(description="""
1 تکمیل مدارک و مستندات
.2 فاز صفر
.3 فاز یک
.4 طراحی شبکه و دوربین و برق اضطراری
.5 فاز دو
.6 متر برآورد
.7 اسناد مناقصه
""")
parent_id: Optional[uuid.UUID] = Field(description='زیر مجموعه کدام نوع اصلی است')
sub_type: Optional[Literal[1, 2, 3, 4, 5, 6, 7]] = Field(description="""
1. برنامه فیزیکی
2. گزارش فاز صفر کلیه رشته ها
3. آلترناتیک لکه گذاری جا نمایی در سایت
4. آلترناتیک لکه گذاری معماری طبقات
5. فاز یک معماری
6.تائید دانشگاه علوم پزشکی
7.گزارش های کلیه رشته ها
""")
class SubRecord(pydantic.BaseModel):
date_at: datetime.datetime = Field(description='تاریخ در این فیلد ذخیره می شود')
number: str = Field(description='شماره نامه در این فیلد ذخیره می شود')
description: str = Field(description='توضیحات در این فیلد ذخیره می شود')
class Record(BaseModel):
id: Optional[uuid.UUID] = Field(alias='_id')
title: str = Field(description='عنوان در این فیلد قرار میگیرد')
send: SubRecord = Field(description='اطلاعات ارسال در این فیلد ذخیره می شود')
receive: Optional[SubRecord] = Field(description='اطلاعات دریافت در این فیلد ذخیره می شود')
class RecordModel(Record):
design_progress_id: uuid.UUID = Field(description='کد شناسایی فیلد پیشرفت طراحی در این فیلد قرار می گیرد')
class CreateDesignProgress(DesignProgressModel):
records:Optional[List[Record]]=Field(description='لیست رکوردها د این فیلد قرار میگیرد')
+27
View File
@@ -0,0 +1,27 @@
import datetime
import uuid
from typing import Literal, Optional, List
import pydantic
from pydantic import Field
from core.models.base import BaseModel
class SubRecord(pydantic.BaseModel):
date_at: datetime.datetime = Field(description='تاریخ در این فیلد ذخیره می شود')
number: str = Field(description='شماره نامه در این فیلد ذخیره می شود')
description: str = Field(description='توضیحات در این فیلد ذخیره می شود')
class Record(pydantic.BaseModel):
send: SubRecord = Field(description='اطلاعات ارسال در این فیلد ذخیره می شود')
receive: Optional[SubRecord] = Field(description='اطلاعات دریافت در این فیلد ذخیره می شود')
class CompleteDocument(BaseModel):
start_at:Optional[datetime.datetime] = Field(description='تاریخ اولین درخواست در این فیلد قرار می گیرد')
project_id: uuid.UUID = Field(description='کد شناسایی پروژه در این فیلد ذخیره می شود')
complete_at: Optional[datetime.datetime] = Field(description='تاریخ تکمیل مدارک')
user_complete: Optional[int] = Field(description='کاربری که اطلاعات را تکمیل می کند در این فیلد قرار می گیرد')
records: Optional[List[Record]] = Field(description='رکوردهای ارسال و دریافت در این فیلد قرار می گیرد')