feat:add bill
This commit is contained in:
@@ -6,7 +6,7 @@ class TaskEnv:
|
|||||||
CLN_AUDIT_PROGRAM = 'audit_program'
|
CLN_AUDIT_PROGRAM = 'audit_program'
|
||||||
CLN_BILL_DELAY = 'bill_delay'
|
CLN_BILL_DELAY = 'bill_delay'
|
||||||
CLN_CONTRACT = 'contract'
|
CLN_CONTRACT = 'contract'
|
||||||
# CLN_BILL = 'bill'
|
CLN_BILL = 'bill'
|
||||||
CLN_MONITOR_PYSICAL = 'monitor_physical'
|
CLN_MONITOR_PYSICAL = 'monitor_physical'
|
||||||
CLN_MONITOR_RIAL = 'monitor_rial'
|
CLN_MONITOR_RIAL = 'monitor_rial'
|
||||||
CLN_MONITOR_SECONDARY = 'monitor_secondary'
|
CLN_MONITOR_SECONDARY = 'monitor_secondary'
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
import datetime
|
||||||
|
import uuid
|
||||||
|
from typing import Optional, List
|
||||||
|
|
||||||
|
from pydantic import Field
|
||||||
|
|
||||||
|
from core.models.base import BaseModel
|
||||||
|
|
||||||
|
|
||||||
|
class BillModel(BaseModel):
|
||||||
|
project_id:Optional[uuid.UUID] = Field(description='کد پروژه در این فیلد قرار می کیرد')
|
||||||
|
contract_id:Optional[uuid.UUID] = Field(description='کد قرارداد در این فیلد قرار می کیرد')
|
||||||
|
number:Optional[str] = Field(description='شماره صورتحساب')
|
||||||
|
title:Optional[str] = Field(description='عنوان صورت حساب')
|
||||||
|
amount:Optional[int] = Field(description='مبلغ کارکرد صورتحساب')
|
||||||
|
bill_amount:Optional[int] = Field(description='مبلغ تجمعی صورتحساب')
|
||||||
|
verify_amount:Optional[int] = Field(description=' مبلغ تائید شده')
|
||||||
|
date_at:Optional[datetime.datetime] = Field(description='تاریخ ارسال')
|
||||||
|
collection: Optional[List[str]] = Field(description="""
|
||||||
|
'ژئوتکنیک','طرح توجیحی','طراحی','نظارت کارگاهی','نظارت عالیه'
|
||||||
|
""")
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
from app.config import TaskEnv
|
||||||
|
from app.models.bill import BillModel
|
||||||
|
from core.repositories.base import BaseRepository
|
||||||
|
|
||||||
|
|
||||||
|
class BillRepository(BaseRepository):
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__(collection=TaskEnv.CLN_BILL, model=BillModel)
|
||||||
@@ -8,7 +8,7 @@ from .factor_audit import *
|
|||||||
from .program_audit import *
|
from .program_audit import *
|
||||||
from .bill_delay import *
|
from .bill_delay import *
|
||||||
from .contract import *
|
from .contract import *
|
||||||
# from .bill import *
|
from .bill import *
|
||||||
from .monitor_physical import *
|
from .monitor_physical import *
|
||||||
from .monitor_rial import *
|
from .monitor_rial import *
|
||||||
from .monitor_secondary import *
|
from .monitor_secondary import *
|
||||||
|
|||||||
@@ -0,0 +1,37 @@
|
|||||||
|
from uuid import UUID
|
||||||
|
|
||||||
|
from fastapi import Body
|
||||||
|
|
||||||
|
from app.models.bill import BillModel
|
||||||
|
from app.repositories.bill import BillRepository
|
||||||
|
from core.app import app
|
||||||
|
from core.utils.router import generate_router, shrink
|
||||||
|
from core.utils.table_engine import TableEngineExport, TableEngineRequestType
|
||||||
|
|
||||||
|
ThisModel = BillModel
|
||||||
|
router_base_url = 'bill'
|
||||||
|
_tag_base = [router_base_url]
|
||||||
|
router = generate_router(router_base_url, auth_dependencies=False, version='v2')
|
||||||
|
repo = BillRepository()
|
||||||
|
|
||||||
|
@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