feat(report):add status agreement
This commit is contained in:
@@ -40,11 +40,11 @@ class RegisterStatusModel(BaseModel):
|
|||||||
4.ماقبل قطعی
|
4.ماقبل قطعی
|
||||||
5.قطعی
|
5.قطعی
|
||||||
""")
|
""")
|
||||||
number_start: Optional[float] = Field(description="شماره صورت وضعیت")
|
number: Optional[float] = Field(description="شماره صورت وضعیت")
|
||||||
number_end: Optional[float] = Field(description="شماره صورت وضعیت")
|
|
||||||
index: Optional[Literal[1,2]] = Field(description="""
|
index: Optional[Literal[1,2]] = Field(description="""
|
||||||
1.قطعی
|
1.قطعی
|
||||||
2. علی الحساب
|
2. علی الحساب
|
||||||
""")
|
""")
|
||||||
amount: Optional[AmountStatus] = Field(description="مبالغ")
|
amount: Optional[AmountStatus] = Field(description="مبالغ")
|
||||||
related_to_number:Optional[int] = Field(description="شماره صورت وضعیت مرتبط")
|
related_to_number_start:Optional[int] = Field(description="شماره صورت وضعیت مرتبط")
|
||||||
|
related_to_number_end:Optional[int] = Field(description="شماره صورت وضعیت مرتبط")
|
||||||
|
|||||||
@@ -402,6 +402,9 @@ class ReportRepository():
|
|||||||
from_date = _inp.from_date.combine(_inp.from_date.date(), time.min)
|
from_date = _inp.from_date.combine(_inp.from_date.date(), time.min)
|
||||||
result = await use_collection(TaskEnv.CLN_MONITOR_PYSICAL).aggregate([
|
result = await use_collection(TaskEnv.CLN_MONITOR_PYSICAL).aggregate([
|
||||||
{"$match":{"date_at":{"$lte":to_date,"$gte":from_date}}},
|
{"$match":{"date_at":{"$lte":to_date,"$gte":from_date}}},
|
||||||
|
{
|
||||||
|
"$sort": {'date_at': -1}
|
||||||
|
},
|
||||||
{"$group":
|
{"$group":
|
||||||
{'_id': {"year": "$year", "month": "$month"},
|
{'_id': {"year": "$year", "month": "$month"},
|
||||||
'avg': {'$avg': "$real"}},
|
'avg': {'$avg': "$real"}},
|
||||||
@@ -432,6 +435,23 @@ class ReportRepository():
|
|||||||
}
|
}
|
||||||
]).to_list(None)
|
]).to_list(None)
|
||||||
return result
|
return result
|
||||||
|
#روند وضعیت پروژه ها
|
||||||
|
async def design_progress_status_progress(self):
|
||||||
|
result = await use_collection("design_progress").aggregate([
|
||||||
|
{'$match':{'complete_at':{"$exists":0},'parent_id':{"$exists":0}}},
|
||||||
|
{"$group":
|
||||||
|
{'_id': {"created_at": {
|
||||||
|
"$dateToString": {
|
||||||
|
"format": "%Y-%m-%d", # Format to extract date only (YYYY-MM-DD)
|
||||||
|
"date": "$created_at"
|
||||||
|
}
|
||||||
|
},'type':'$type'},
|
||||||
|
'count': {'$sum': 1},
|
||||||
|
"projectIds": {"$addToSet": "$project_id"},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
]).to_list(None)
|
||||||
|
return result
|
||||||
|
|
||||||
async def design_sts(self):
|
async def design_sts(self):
|
||||||
result = await use_collection(TaskEnv.CLN_PROJECT).aggregate([
|
result = await use_collection(TaskEnv.CLN_PROJECT).aggregate([
|
||||||
@@ -446,6 +466,27 @@ class ReportRepository():
|
|||||||
]).to_list(None)
|
]).to_list(None)
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
async def status_agreement_progress(self):
|
||||||
|
result = await use_collection(TaskEnv.CLN_PROJECT_AGREEMENT).aggregate([
|
||||||
|
{
|
||||||
|
"$group": {
|
||||||
|
"_id": {
|
||||||
|
"created_at": {
|
||||||
|
"$dateToString": {
|
||||||
|
"format": "%Y-%m-%d", # Format to extract date only (YYYY-MM-DD)
|
||||||
|
"date": "$created_at"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"status": "$status"
|
||||||
|
},
|
||||||
|
"count": {"$sum": 1},
|
||||||
|
"projectIds": {"$addToSet": "$_id"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]).to_list(None)
|
||||||
|
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -117,9 +117,19 @@ def design_progress_status():
|
|||||||
def design_progress_status_state():
|
def design_progress_status_state():
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@router.get('/design_progress/status/progress', tags=_tag_base)
|
||||||
|
@shrink(repo.design_progress_status_progress)
|
||||||
|
def design_progress_status_progress():
|
||||||
|
pass
|
||||||
|
# وضعیت دارا بودن موافقت نامه
|
||||||
@router.get('/status_agreement/donut', tags=_tag_base)
|
@router.get('/status_agreement/donut', tags=_tag_base)
|
||||||
@shrink(repo.status_agreement)
|
@shrink(repo.status_agreement)
|
||||||
def status_agreement():
|
def status_agreement():
|
||||||
pass
|
pass
|
||||||
|
#روند وضعیت موافقت نامه ها
|
||||||
|
@router.get('/status_agreement/progress', tags=_tag_base)
|
||||||
|
@shrink(repo.status_agreement_progress)
|
||||||
|
def status_agreement_progress():
|
||||||
|
pass
|
||||||
|
|
||||||
app.include_router(router)
|
app.include_router(router)
|
||||||
Reference in New Issue
Block a user