fix(monitor physical):add before in last

This commit is contained in:
shahzeydyfah
2025-05-22 15:11:29 +03:30
parent ffa712e4c9
commit 3d792554b7
2 changed files with 11 additions and 4 deletions
+1
View File
@@ -24,5 +24,6 @@ class PhysicalProgressModel(BaseModel):
class LastRecord(pydantic.BaseModel):
project_id:Optional[uuid.UUID] = Field(description="کد شناسایی پروژه در این فیلد قرار می گیرد")
date_at:Optional[datetime.datetime] = Field(description='تاریخ وارد شده')
id:Optional[uuid.UUID] = Field(description='شناسه رکورد')
+10 -4
View File
@@ -34,10 +34,16 @@ class PhysicalProgressRepository(BaseRepository):
async def last_record(self, _inp: LastRecord):
send = {'month': {}, 'three_month': {}, 'before':{}}
before = await use_collection(TaskEnv.CLN_MONITOR_PYSICAL).find({
'project_id': _inp.project_id,
'date_at': {'$lt': _inp.date_at}
}).sort("$natural", -1).to_list(None)
if _inp.id:
find_record = await use_collection(TaskEnv.CLN_MONITOR_PYSICAL).find_one({"_id":_inp.id})
if _inp.id:
before = await use_collection(TaskEnv.CLN_MONITOR_PYSICAL).find({
'project_id': _inp.project_id,
'created_at': {'$lt': find_record['created_at']}}).sort("$natural", -1).to_list(None)
else:
before = await use_collection(TaskEnv.CLN_MONITOR_PYSICAL).find({
'project_id': _inp.project_id,
}).sort("$natural", -1).to_list(None)
if before:
send['before'] = before[0]
last = await self.search_last(TaskEnv.CLN_MONITOR_PYSICAL, _inp, 35, 25)