fix(report):add design progress gant chart

This commit is contained in:
shahzeydyfah
2026-06-14 23:40:15 +03:30
parent 759c2216c6
commit 198784f144
2 changed files with 45 additions and 0 deletions
+39
View File
@@ -532,6 +532,45 @@ class ReportRepository():
res['audit_program'] = result
return res
# فرآیند طراحی گانت چارت
async def design_chart(self, project_id: uuid):
list_design_progress = await use_collection('design_progress').find({"project_id": project_id}).sort('type', 1).to_list(None)
if not list_design_progress:
return {}
list_design_progress_ids = [doc["_id"] for doc in list_design_progress]
list_design_progress_record = await use_collection('design_progress_record').find({"design_progress_id": {"$in":list_design_progress_ids}}).to_list(None)
grouped_records = {}
for i in list_design_progress:
t = i["type"]
st = i.get("sub_type")
if st:
grouped_records.setdefault(t, {})[st] = {
"progress": i,
"records": []
}
else:
grouped_records.setdefault(t, {
"progress": i,
"records": []
})
print(grouped_records)
for item in list_design_progress:
for record in list_design_progress_record:
if record["design_progress_id"] == item['_id']:
if 'sub_type' not in item:
grouped_records[item['type']]["records"].append(record)
else:
grouped_records[item['type']][item['sub_type']]["records"].append(record)
return grouped_records
+6
View File
@@ -139,4 +139,10 @@ def status_agreement_progress():
def get_extra_project(project_id: uuid.UUID):
pass
# فرآیند طراحی گانت چارت
@router.get('/design/chart/{project_id}', tags=_tag_base)
@shrink(repo.design_chart)
def design_chart(project_id: uuid.UUID):
pass
app.include_router(router)