Files
sakhteman/app/urls/report.py
T

89 lines
2.8 KiB
Python

import uuid
from fastapi import Body
from app.models.report import StatusReport, ReportCountry, DonutList, DelayDonutDetail
from app.repositories.report import ReportRepository
from core.app import app
from core.utils.router import generate_router, shrink
router_base_url = 'report'
_tag_base = [router_base_url]
router = generate_router(router_base_url, auth_dependencies=False, version='v2')
repo = ReportRepository()
#نقشه:وضعیت های طراحی
@router.post('/design/sts', tags=_tag_base)
@shrink(repo.project_status_design)
def project_status_design(_inp: StatusReport):
pass
#نقشه:وضعیت های نظارت
@router.post('/monitor/sts', tags=_tag_base)
@shrink(repo.project_status_monitor)
def project_status_monitor(_inp: StatusReport = Body(...)):
pass
@router.post('/country', tags=_tag_base)
@shrink(repo.report_country)
def report_country(_inp: ReportCountry = Body(...)):
pass
# نمایش تعداد پروژه ها در هر شهر بر اساس فیلترهای انتخاب شده
@router.post('/exist_state', tags=_tag_base)
@shrink(repo.exist_project_state)
def exist_project_state(_inp: StatusReport = Body(...)):
pass
#وقتی روی نمودار تاخیرات کلیک کرد جزئیات را بهش نمایش بده
@router.post('/donut/delay/detail', tags=_tag_base)
@shrink(repo.delay_donut_detail)
def delay_donut_detail(_inp: DelayDonutDetail = Body(...)):
pass
#نمودار پیشرفت فعالیت ها
@router.get('/progress_activity/{project_id}', tags=_tag_base)
@shrink(repo.progress_activity)
def progress_activity(project_id:uuid.UUID):
pass
# درصد انحراف و برنامه زمان بندی
@router.get('/deviation', tags=_tag_base)
@shrink(repo.categorize_deviation)
def categorize_deviation():
pass
# درصد افزایش زمان پروژه های خاتمه یافته
@router.get('/donut/add/time', tags=_tag_base)
@shrink(repo.sum_add_time_end_project)
def sum_add_time_end_project():
pass
@router.get('/donut/delay/all', tags=_tag_base)
@shrink(repo.delay_donut_all)
def delay_donut_all():
pass
#لیست پروژه ها را نمایش میده
@router.get('/donut/delay/{_select}', tags=_tag_base)
@shrink(repo.list_delay_donut)
def list_delay_donut(_select):
pass
#تفکیک پروژه ها بر حسب زیربنا و تفکیک ماهیت پروژه و تفکیک بر حسب نوع پروژه
@router.get('/donut/{_select}', tags=_tag_base)
@shrink(repo.donut)
def donut(_select:int):
pass
@router.post('/list-donut', tags=_tag_base)
@shrink(repo.list_donut)
def list_donut(_inp: DonutList = Body(...)):
pass
#نمودار تاخیرات بر اساس پروژه انتخاب شده
@router.get('/donut/delay/project/{project_id}', tags=_tag_base)
@shrink(repo.delay_donut)
def delay_donut(project_id:uuid.UUID):
pass
app.include_router(router)