diff --git a/app/config/__init__.py b/app/config/__init__.py index 6cd6a7a..b08f3fc 100644 --- a/app/config/__init__.py +++ b/app/config/__init__.py @@ -18,5 +18,6 @@ class TaskEnv: CLN_DELIVERY = 'delivery' CLN_PROJECT_STS = 'project_sts' CLN_PROJECT = 'project' + CLN_PROJECT_PRICE_REPORT = 'price_report' diff --git a/app/models/project.py b/app/models/project.py index f66e12e..d9d165d 100644 --- a/app/models/project.py +++ b/app/models/project.py @@ -134,7 +134,12 @@ class ProjectSts(BaseModel): sts: Optional[int] = Field(description='وضعیت مورد نظر در این فیلد قرار می گیرد') description:Optional[str] = Field(description='توضیحات وضعیت در این فیلد قرار می گیرد') - +class ProjectPriceReport(BaseModel): + id: Optional[uuid.UUID] = Field(alias='_id') + project_id: Optional[uuid.UUID] = Field(description="کد شناسایی پروژه در این فیلد قرار می گیرد") + amount_status: Optional[int] = Field(description='مبلغ صورت وضعیت') + amount_adjust: Optional[int] = Field(description='مبلغ تعدیل') + first_amount: Optional[int] = Field(description=' مبلغ اولیه پیمان') diff --git a/app/repositories/project.py b/app/repositories/project.py index 8e70d66..90b3ab7 100644 --- a/app/repositories/project.py +++ b/app/repositories/project.py @@ -35,12 +35,20 @@ class ProjectRepository(BaseRepository[ProjectModel]): coding.counter = last_project[0]["counter"]+1 code = self.create_code(coding) coding.design.code = 'D'+code + coding.init_id().cu_at() if coding.monitor: coding.monitor.code = 'S'+code coding.has_monitor = True + if coding.monitor.detail and coding.monitor.detail.first_amount : + price = { + '_id': uuid.uuid4(), + 'project_id': coding.id, + 'first_amount': coding.monitor.detail.first_amount + } + await use_collection(TaskEnv.CLN_PROJECT_PRICE_REPORT).insert_one(price) else: coding.has_monitor = False - coding.init_id().cu_at() + await use_collection(COLLECTION).insert_one(coding.mongo_dict()) return await self.get(coding.id)