feat:add financial status

This commit is contained in:
shahzeydyfah
2024-06-06 22:13:58 +03:30
parent 7f6e669664
commit c846e7cc1c
6 changed files with 85 additions and 7 deletions
+1 -1
View File
@@ -11,7 +11,7 @@ class TaskEnv:
CLN_MONITOR_RIAL = 'monitor_rial'
CLN_MONITOR_SECONDARY = 'monitor_secondary'
CLN_FINANCIAL_PRE_PAYMENT = 'financial_pre_payment'
# CLN_FINANCIAL_STATUS = 'financial_status'
CLN_FINANCIAL_STATUS = 'financial_status'
# CLN_FINANCIAL_ADJUST = 'financial_adjust'
CLN_DELIVERY = 'delivery'
+21
View File
@@ -0,0 +1,21 @@
import uuid
from datetime import datetime
from typing import Optional
from pydantic import Field
from core.models.base import BaseModel
class StatusFinancialModel(BaseModel):
id: Optional[uuid.UUID] = Field(alias='_id')
project_id: Optional[uuid.UUID] = Field(description="کد شناسایی پروژه در این فیلد قرار می گیرد")
number: Optional[float] = Field(description='شماره صورت وضعیت/N')
date_contractor: Optional[datetime] = Field(description="تاریخ ارسال پیمانکار/M")
amount_contractor: Optional[int] = Field(description=" مبلغ ادعایی پیمانکار/A")
amount_project_manager: Optional[int] = Field(description=" مبلغ تجمعی تائید نظارت کارگاهی/مدیر طرح/B")
amount_cycle_supervisor: Optional[int] = Field(description=" مبلغ تجمعی تائید نظارت عالیه/D")
amount: Optional[int] = Field(description='مبلغ')
date_at: Optional[datetime] = Field(description='تاریخ پرداخت')
is_assign: bool = Field(description='آیا پروژه تفویضی است؟', default=0)
status_id = Optional[uuid.UUID]= Field(description='کد شناسایی صورت وضعیت در قسمت رسیدگی')
+12
View File
@@ -0,0 +1,12 @@
import uuid
from app.config import TaskEnv
from app.models.financial_status import StatusFinancialModel
from core.repositories.base import BaseRepository
class FinancialStatusRepository(BaseRepository):
def __init__(self):
super().__init__(collection=TaskEnv.CLN_FINANCIAL_STATUS, model=StatusFinancialModel)
+1 -1
View File
@@ -13,6 +13,6 @@ from .monitor_physical import *
from .monitor_rial import *
from .monitor_secondary import *
from .financial_pre_payment import *
# from .financial_status import *
from .financial_status import *
# from .financial_adjust import *
from .delivery import *
+45
View File
@@ -0,0 +1,45 @@
from uuid import UUID
from fastapi import Body
from app.models.financial_status import StatusFinancialModel
from app.repositories.financial_status import FinancialStatusRepository
from core.app import app
from core.utils.router import generate_router, shrink
from core.utils.table_engine import TableEngineExport, TableEngineRequestType
ThisModel = StatusFinancialModel
router_base_url = 'financial_status'
_tag_base = [router_base_url]
router = generate_router(router_base_url, auth_dependencies=False, version='v2')
repo = FinancialStatusRepository()
@router.post('/create', response_model=ThisModel, tags=_tag_base, description='صورت وضعیت')
@shrink(repo.create)
def create(coding: ThisModel = Body(...)):
pass
@router.put('/{_id}', response_model=ThisModel, tags=_tag_base, description='صورت وضعیت')
@shrink(repo.update)
def update(_id: UUID, coding: ThisModel = Body(...)):
pass
@router.get('/{_id}', response_model=ThisModel, tags=_tag_base, description='صورت وضعیت')
@shrink(repo.get)
def get(_id: UUID):
pass
@router.delete('/{_id}', response_model=ThisModel, tags=_tag_base, description='صورت وضعیت')
@shrink(repo.delete)
def delete(_id: UUID):
pass
@router.post('', response_model=TableEngineExport[ThisModel], tags=_tag_base, description='صورت وضعیت')
@shrink(repo.fetch)
def fetch(body: TableEngineRequestType = Body(...)):
pass
app.include_router(router)
+5 -5
View File
@@ -15,29 +15,29 @@ _tag_base = [router_base_url]
router = generate_router(router_base_url, auth_dependencies=False, version='v2')
repo = RegisterStatusRepository()
@router.post('/create', response_model=ThisModel, tags=_tag_base)
@router.post('/create', response_model=ThisModel, tags=_tag_base, description='صورت وضعیت در قسمت رسیدگی')
@shrink(repo.create)
def create(coding: ThisModel = Body(...)):
pass
@router.get('/last/{project_id}', response_model=ThisModel, tags=_tag_base)
@router.get('/last/{project_id}', response_model=ThisModel, tags=_tag_base, description='صورت وضعیت در قسمت رسیدگی')
@shrink(repo.get_last)
def get_last(project_id: UUID):
pass
@router.put('/{_id}', response_model=ThisModel, tags=_tag_base)
@router.put('/{_id}', response_model=ThisModel, tags=_tag_base, description='صورت وضعیت در قسمت رسیدگی')
@shrink(repo.update)
def update(_id: UUID, coding: ThisModel = Body(...)):
pass
@router.get('/{_id}', response_model=ThisModel, tags=_tag_base)
@router.get('/{_id}', response_model=ThisModel, tags=_tag_base, description='صورت وضعیت در قسمت رسیدگی')
@shrink(repo.get)
def get(_id: UUID):
pass
@router.post('', response_model=TableEngineExport[ThisModel], tags=_tag_base)
@router.post('', response_model=TableEngineExport[ThisModel], tags=_tag_base, description='صورت وضعیت در قسمت رسیدگی')
@shrink(repo.fetch)
def fetch(body: TableEngineRequestType = Body(...)):
pass