From bf81fdf0b8d2ff61aa3a93b1a8cd9b8023065bc7 Mon Sep 17 00:00:00 2001 From: shahzeydyfah Date: Fri, 6 Jun 2025 12:37:06 +0330 Subject: [PATCH] feat(project):add delay date --- app/models/project.py | 1 + app/repositories/project.py | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/models/project.py b/app/models/project.py index 39b9f07..ad6713a 100644 --- a/app/models/project.py +++ b/app/models/project.py @@ -129,6 +129,7 @@ class ProjectModel(BaseModel): design:Design = Field(description='فیلدهای طراحی') has_monitor:Optional[bool] = Field(default=False, description='آیا طراحی دارد؟') all_delay_day: Optional[int] = Field(default=0, description='جمع روزهای دارای تاخیر') + date_delay: Optional[datetime.datetime] = Field(description='آخرین تاریخ مجاز') class ProjectSts(BaseModel): id: Optional[uuid.UUID] = Field(alias='_id') diff --git a/app/repositories/project.py b/app/repositories/project.py index 8bab95d..35ca6f3 100644 --- a/app/repositories/project.py +++ b/app/repositories/project.py @@ -3,6 +3,7 @@ import uuid from uuid import UUID import requests +from dateutil.relativedelta import relativedelta from fastapi import HTTPException from app.config import TaskEnv @@ -62,6 +63,10 @@ class ProjectRepository(BaseRepository[ProjectModel]): coding.monitor.code = 'S'+code coding.has_monitor = True 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: coding.has_monitor = False @@ -72,7 +77,6 @@ class ProjectRepository(BaseRepository[ProjectModel]): status= coding.design.status_agreement ).init_id().cu_at() await use_collection(TaskEnv.CLN_PROJECT_AGREEMENT).insert_one(_model.mongo_dict()) - return await self.get(coding.id)