fix(report):add design progress gant chart
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
Reference in New Issue
Block a user