Files
sakhteman/app/urls/report.py
T

135 lines
4.5 KiB
Python
Raw Normal View History

2025-01-16 12:36:33 +03:30
import uuid
from fastapi import Body
2025-01-23 23:20:42 +03:30
from app.models.report import StatusReport, ReportCountry, DonutList, DelayDonutDetail, PhysicalMonth
2024-09-06 13:31:08 +03:30
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()
2025-01-15 23:14:06 +03:30
#نقشه:وضعیت های طراحی
2024-09-06 13:31:08 +03:30
@router.post('/design/sts', tags=_tag_base)
@shrink(repo.project_status_design)
def project_status_design(_inp: StatusReport):
pass
2025-01-15 23:14:06 +03:30
#نقشه:وضعیت های نظارت
2024-09-06 13:31:08 +03:30
@router.post('/monitor/sts', tags=_tag_base)
@shrink(repo.project_status_monitor)
2025-01-16 12:36:33 +03:30
def project_status_monitor(_inp: StatusReport = Body(...)):
2024-09-06 13:31:08 +03:30
pass
@router.post('/country', tags=_tag_base)
@shrink(repo.report_country)
2025-01-16 12:36:33 +03:30
def report_country(_inp: ReportCountry = Body(...)):
2024-09-06 13:31:08 +03:30
pass
2025-01-16 00:00:00 +03:30
# نمایش تعداد پروژه ها در هر شهر بر اساس فیلترهای انتخاب شده
@router.post('/exist_state', tags=_tag_base)
2024-09-21 13:16:33 +03:30
@shrink(repo.exist_project_state)
2025-01-16 12:36:33 +03:30
def exist_project_state(_inp: StatusReport = Body(...)):
2024-09-21 13:16:33 +03:30
pass
2025-01-16 21:50:07 +03:30
2025-01-16 12:36:33 +03:30
#وقتی روی نمودار تاخیرات کلیک کرد جزئیات را بهش نمایش بده
@router.post('/donut/delay/detail', tags=_tag_base)
@shrink(repo.delay_donut_detail)
def delay_donut_detail(_inp: DelayDonutDetail = Body(...)):
2024-10-11 15:54:06 +03:30
pass
2025-01-16 14:00:18 +03:30
#نمودار پیشرفت فعالیت ها
@router.get('/progress_activity/{project_id}', tags=_tag_base)
@shrink(repo.progress_activity)
def progress_activity(project_id:uuid.UUID):
pass
2024-10-11 15:54:06 +03:30
2025-01-16 21:50:07 +03:30
# درصد انحراف و برنامه زمان بندی
@router.get('/deviation', tags=_tag_base)
@shrink(repo.categorize_deviation)
def categorize_deviation():
2024-10-25 22:58:29 +03:30
pass
2025-01-16 21:50:07 +03:30
# درصد افزایش زمان پروژه های خاتمه یافته
@router.get('/donut/add/time', tags=_tag_base)
@shrink(repo.sum_add_time_end_project)
def sum_add_time_end_project():
pass
2025-01-17 13:25:38 +03:30
@router.get('/donut/delay/all', tags=_tag_base)
@shrink(repo.delay_donut_all)
def delay_donut_all():
pass
2025-01-16 21:50:07 +03:30
#لیست پروژه ها را نمایش میده
2024-10-11 15:54:06 +03:30
@router.get('/donut/delay/{_select}', tags=_tag_base)
@shrink(repo.list_delay_donut)
def list_delay_donut(_select):
pass
2025-01-16 21:50:07 +03:30
#تفکیک پروژه ها بر حسب زیربنا و تفکیک ماهیت پروژه و تفکیک بر حسب نوع پروژه
2024-10-03 23:14:13 +03:30
@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)
2025-01-16 21:50:07 +03:30
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):
2024-10-03 23:14:13 +03:30
pass
2025-01-21 00:22:44 +03:30
#درصد میانگین افزایش هزینه پروژه های خاتمه یافته
@router.get('/add_cost', tags=_tag_base)
@shrink(repo.add_cost)
def add_cost():
pass
# تفکیک درصد پیشرفت ماهیانه پروژه ها
@router.get('/progress_phisical', tags=_tag_base)
@shrink(repo.progress_report)
def progress_report():
pass
# تفکیک درصد پیشرفت میانگین ماهیانه پروژه ها
@router.get('/progress_phisica/avg', tags=_tag_base)
@shrink(repo.progress_avg_report)
def progress_avg_report():
pass
2025-01-21 00:22:44 +03:30
2025-01-23 23:20:42 +03:30
# میانگین پیشرفت ماهیانه پروژه ها نمودار میله ای-بدون وزن
@router.post('/progress_phisica/avg/month', tags=_tag_base)
@shrink(repo.progress_month_report)
def progress_month_report(_inp:PhysicalMonth = Body(...)):
pass
# وضعیت پروژه های در دست طراحی
@router.get('/design_progress/status', tags=_tag_base)
@shrink(repo.design_progress_status)
def design_progress_status():
pass
2024-10-11 15:54:06 +03:30
@router.get('/design_progress/status/state', tags=_tag_base)
@shrink(repo.design_progress_status_state)
def design_progress_status_state():
pass
2025-01-24 13:42:14 +03:30
@router.get('/design_progress/status/progress', tags=_tag_base)
@shrink(repo.design_progress_status_progress)
def design_progress_status_progress():
pass
# وضعیت دارا بودن موافقت نامه
2025-01-24 11:35:48 +03:30
@router.get('/status_agreement/donut', tags=_tag_base)
@shrink(repo.status_agreement)
def status_agreement():
pass
2025-01-24 13:42:14 +03:30
#روند وضعیت موافقت نامه ها
@router.get('/status_agreement/progress', tags=_tag_base)
@shrink(repo.status_agreement_progress)
def status_agreement_progress():
pass
2025-01-24 11:35:48 +03:30
2024-09-06 13:31:08 +03:30
app.include_router(router)