feat:add program audit
This commit is contained in:
@@ -3,3 +3,4 @@ class TaskEnv:
|
||||
CLN_AUDIT_PARLIAMENT = 'audit_parliament'
|
||||
CLN_AUDIT_PRICE = 'audit_price'
|
||||
CLN_AUDIT_FACTOR = 'audit_factor'
|
||||
CLN_AUDIT_PROGRAM = 'audit_program'
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
import uuid
|
||||
from typing import Optional
|
||||
|
||||
from pydantic import Field
|
||||
|
||||
from core.models.base import BaseModel
|
||||
|
||||
|
||||
class ProgramModel(BaseModel):
|
||||
id: Optional[uuid.UUID] = Field(alias='_id')
|
||||
project_id: uuid.UUID = Field(description='کد شناسایی پروژ')
|
||||
number: Optional[str] = Field(description="شماره دستور کار")
|
||||
description: Optional[str] = Field(description='موضوع')
|
||||
count: Optional[int] = Field(description='تعداد')
|
||||
field: Optional[str] = Field(description="""
|
||||
'electrical',
|
||||
'mechanic',
|
||||
'building',
|
||||
'other'
|
||||
""")
|
||||
location: Optional[str] = Field(description='موقعیت')
|
||||
reason: Optional[str] = Field(description='علت دستور کار')
|
||||
add_price:Optional[int] = Field(description="مبلغ افزایش یافته")
|
||||
sub_price:Optional[int] = Field(description="مبلغ کاهش یافته")
|
||||
diff_price:Optional[int] = Field(description="مابه التفاوت:مبلغ افزایش منهای مبلغ کاهش می شود")
|
||||
j:Optional[int] = Field(description="مجموع مبلغ افزایش یافته طی دستور کار های قبلی")
|
||||
j_div_a:Optional[int] = Field(description="%A/J یک عدد درصدی")
|
||||
y:Optional[int] = Field(description="مجموع مبلغ کاهش یافته طی دستور کار های قبلی ")
|
||||
y_div_a:Optional[int] = Field(description="A/Y یک عدد درصدی")
|
||||
w:Optional[int] = Field(description="مجموع مابه التفاوت طی دستور کار های قبلی")
|
||||
w_div_a:Optional[int] = Field(description="A/W یک عدد درصدی")
|
||||
@@ -0,0 +1,8 @@
|
||||
from app.config import TaskEnv
|
||||
from app.models.program_audit import ProgramModel
|
||||
from core.repositories.base import BaseRepository
|
||||
|
||||
|
||||
class ProgramRepository(BaseRepository):
|
||||
def __init__(self):
|
||||
super().__init__(collection=TaskEnv.CLN_AUDIT_PROGRAM,model=ProgramModel)
|
||||
@@ -5,3 +5,4 @@ from .register_status import *
|
||||
from .parliament_audit import *
|
||||
from .price_audit import *
|
||||
from .factor_audit import *
|
||||
from .program_audit import *
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
from uuid import UUID
|
||||
|
||||
from fastapi import Body
|
||||
|
||||
from app.models.program_audit import ProgramModel
|
||||
from app.repositories.program_audit import ProgramRepository
|
||||
from core.app import app
|
||||
from core.utils.router import generate_router, shrink
|
||||
from core.utils.table_engine import TableEngineExport, TableEngineRequestType
|
||||
|
||||
ThisModel = ProgramModel
|
||||
router_base_url = 'audit_program'
|
||||
_tag_base = [router_base_url]
|
||||
router = generate_router(router_base_url, auth_dependencies=False, version='v2')
|
||||
repo = ProgramRepository()
|
||||
|
||||
@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