feat(register status):add
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
import datetime
|
||||
import uuid
|
||||
from typing import Optional
|
||||
|
||||
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[int] = 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[int] = Field(description="""
|
||||
1.موقت
|
||||
2.30درصد
|
||||
3.60درصد
|
||||
4.ماقبل قطعی
|
||||
5.قطعی
|
||||
""")
|
||||
number: Optional[float] = Field(description="شماره صورت وضعیت")
|
||||
index: Optional[int] = Field(description="""
|
||||
1.قطعی
|
||||
2. علی الحساب
|
||||
""")
|
||||
amount: Optional[AmountStatus] = Field(description="مبالغ")
|
||||
related_to_number:Optional[int] = Field(description="شماره صورت وضعیت مرتبط")
|
||||
@@ -0,0 +1,7 @@
|
||||
from app.models.register_status import RegisterStatusModel
|
||||
from core.repositories.base import BaseRepository
|
||||
|
||||
|
||||
class RegisterStatusRepository(BaseRepository[RegisterStatusModel]):
|
||||
def __int__(self):
|
||||
super().__init__(collection='register_status',model=RegisterStatusModel)
|
||||
@@ -1,3 +1,4 @@
|
||||
from .project import *
|
||||
from .grand_project import *
|
||||
from .design_progress import *
|
||||
from .register_status import *
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
from uuid import UUID
|
||||
|
||||
from fastapi import Body
|
||||
|
||||
from app.models.register_status import RegisterStatusModel
|
||||
from app.repositories.register_status import RegisterStatusRepository
|
||||
from core.app import app
|
||||
from core.utils.router import generate_router, shrink
|
||||
from core.utils.table_engine import TableEngineExport, TableEngineRequestType
|
||||
|
||||
ThisModel = RegisterStatusModel
|
||||
router_base_url = 'status'
|
||||
_tag_base = [router_base_url]
|
||||
router = generate_router(router_base_url, auth_dependencies=False, version='v2')
|
||||
|
||||
|
||||
repo = RegisterStatusRepository(collection='register_status')
|
||||
|
||||
@router.post('/create', response_model=ThisModel, tags=_tag_base)
|
||||
@shrink(repo.create)
|
||||
def create(coding: ThisModel = Body(...)):
|
||||
pass
|
||||
|
||||
@router.put('/{_id}', response_model=ThisModel, tags=_tag_base)
|
||||
@shrink(repo.update)
|
||||
def update(_id: UUID, coding: ThisModel = Body(...)):
|
||||
pass
|
||||
|
||||
|
||||
@router.get('/{_id}', response_model=ThisModel, tags=_tag_base)
|
||||
@shrink(repo.get)
|
||||
def get(_id: UUID):
|
||||
pass
|
||||
|
||||
|
||||
@router.post('', response_model=TableEngineExport[ThisModel], tags=_tag_base)
|
||||
@shrink(repo.fetch)
|
||||
def fetch(body: TableEngineRequestType = Body(...)):
|
||||
pass
|
||||
|
||||
|
||||
app.include_router(router)
|
||||
Reference in New Issue
Block a user