feat: worktime table with dates range
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user