feat: worktime table with dates range

This commit is contained in:
2025-05-09 16:19:18 +04:00
parent be13c77164
commit 74faa57805
2 changed files with 12 additions and 17 deletions

View File

@@ -1,6 +1,6 @@
from collections import defaultdict
from sqlalchemy import select, func
from sqlalchemy import select
from sqlalchemy.orm import joinedload
from models import PaymentRecord, User
@@ -26,13 +26,11 @@ class TimeTrackingService(BaseService):
PaymentRecord.user_id == User.id
)
.where(
func.date(func.date_trunc('month', PaymentRecord.start_date)) == request.date,
func.date(func.date_trunc('month', PaymentRecord.end_date)) == request.date,
PaymentRecord.start_date.between(request.date_from, request.date_to),
PaymentRecord.start_date == PaymentRecord.end_date,
User.is_deleted == False
# PaymentRecord.user_id.in_(request.user_ids)
)
.order_by(User.id)
)
query_result = (await self.session.scalars(stmt)).all()
records_dict = defaultdict(list)
@@ -58,17 +56,14 @@ class TimeTrackingService(BaseService):
data=data_list,
total_amount=amount
)
records.append(
record
)
return GetTimeTrackingRecordsResponse(
records=records
)
records.append(record)
return GetTimeTrackingRecordsResponse(records=records)
async def update_record(self,
user: User,
request: UpdateTimeTrackingRecordRequest
) -> UpdateTimeTrackingRecordResponse:
async def update_record(
self,
user: User,
request: UpdateTimeTrackingRecordRequest
) -> UpdateTimeTrackingRecordResponse:
try:
record_user = await UserService(self.session).get_by_id(user_id=request.user_id)
if not record_user: