feat(report):add design_progress_status_state

This commit is contained in:
shahzeydyfah
2025-01-24 00:39:05 +03:30
parent b08d2f6f4e
commit d1859a5c46
4 changed files with 21 additions and 0 deletions
+1
View File
@@ -29,6 +29,7 @@ class CreateDesignProgress(pydantic.BaseModel):
6.تائید دانشگاه علوم پزشکی
7.گزارش های کلیه رشته ها
""")
state:Optional[str]
class UpdateDesignProgress(pydantic.BaseModel):
complete_at: Optional[datetime.datetime] = Field(description='تاریخ تکمیل مدارک')
+3
View File
@@ -5,6 +5,7 @@ from uuid import UUID
from fastapi import HTTPException
from app.config import TaskEnv
from app.models.design_progress import DesignProgressModel, CreateDesignProgress, RecordModel, GetRecord, \
UpdateDesignProgress
from core.repositories.base import BaseRepository
@@ -24,11 +25,13 @@ class DesignProgressRepository(BaseRepository):
"sub_type": _inp.sub_type
})
if not exist:
project = await use_collection(TaskEnv.CLN_PROJECT).find_one({"_id":_inp.project_id})
progress = DesignProgressModel(
project_id=_inp.project_id,
type=_inp.type,
parent_id=_inp.parent_id,
sub_type=_inp.sub_type,
state = project['design']['state']
)
progress.init_id().cu_at()
await use_collection(COLLECTION).insert_one(progress.mongo_dict())
+12
View File
@@ -421,4 +421,16 @@ class ReportRepository():
]).to_list(None)
return result
async def design_progress_status_state(self):
result = await use_collection("design_progress").aggregate([
{'$match':{'complete_at':{"$exists":0},'parent_id':{"$exists":0}}},
{"$group":
{'_id': {'state':"$state",'type':'$type'},
'count': {'$sum': 1},
"projectIds": {"$addToSet": "$project_id"},
},
}
]).to_list(None)
return result
+5
View File
@@ -112,4 +112,9 @@ def progress_month_report(_inp:PhysicalMonth = Body(...)):
def design_progress_status():
pass
@router.get('/design_progress/status/state', tags=_tag_base)
@shrink(repo.design_progress_status_state)
def design_progress_status_state():
pass
app.include_router(router)