feat(project):add delay date

This commit is contained in:
shahzeydyfah
2025-06-06 12:37:06 +03:30
parent 503ee1712c
commit bf81fdf0b8
2 changed files with 6 additions and 1 deletions
+1
View File
@@ -129,6 +129,7 @@ class ProjectModel(BaseModel):
design:Design = Field(description='فیلدهای طراحی') design:Design = Field(description='فیلدهای طراحی')
has_monitor:Optional[bool] = Field(default=False, description='آیا طراحی دارد؟') has_monitor:Optional[bool] = Field(default=False, description='آیا طراحی دارد؟')
all_delay_day: Optional[int] = Field(default=0, description='جمع روزهای دارای تاخیر') all_delay_day: Optional[int] = Field(default=0, description='جمع روزهای دارای تاخیر')
date_delay: Optional[datetime.datetime] = Field(description='آخرین تاریخ مجاز')
class ProjectSts(BaseModel): class ProjectSts(BaseModel):
id: Optional[uuid.UUID] = Field(alias='_id') id: Optional[uuid.UUID] = Field(alias='_id')
+5 -1
View File
@@ -3,6 +3,7 @@ import uuid
from uuid import UUID from uuid import UUID
import requests import requests
from dateutil.relativedelta import relativedelta
from fastapi import HTTPException from fastapi import HTTPException
from app.config import TaskEnv from app.config import TaskEnv
@@ -62,6 +63,10 @@ class ProjectRepository(BaseRepository[ProjectModel]):
coding.monitor.code = 'S'+code coding.monitor.code = 'S'+code
coding.has_monitor = True coding.has_monitor = True
await self.create_report_price(coding) await self.create_report_price(coding)
if coding.monitor.detail.date_create_project and coding.monitor.detail.first_time:
date_create = coding.monitor.detail.date_create_project
months = int(coding.monitor.detail.first_time)
coding.date_delay = date_create + relativedelta(months=months)
else: else:
coding.has_monitor = False coding.has_monitor = False
@@ -72,7 +77,6 @@ class ProjectRepository(BaseRepository[ProjectModel]):
status= coding.design.status_agreement status= coding.design.status_agreement
).init_id().cu_at() ).init_id().cu_at()
await use_collection(TaskEnv.CLN_PROJECT_AGREEMENT).insert_one(_model.mongo_dict()) await use_collection(TaskEnv.CLN_PROJECT_AGREEMENT).insert_one(_model.mongo_dict())
return await self.get(coding.id) return await self.get(coding.id)