o
    mi2	                     @   sX   d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
mZ G dd deZdS )	    )Responsestatus)APIView)OuterRefSubquery)Activity	TimeSheetc                   @   s   e Zd Zdd ZdS )ActivityTimeSheetListViewc           
      C   sP  |j d}|j d}|r|stdddtjdS tjjtdd	d	}t
jj||d
jt|dd d t|dd d t|dd d t|dd d d}i }g }|D ]9}t|j|vr{|j|j|jt|jg d|t|j< |jj|jj|j|jt|jd}	|t|j d |	 q_dd t| D }t|S )N
start_dateend_dateFz$start_date and end_date are required)successmessager   start_date_time__date)clock_in_date_time__datez-id)start_date_time__date__gtestart_date_time__date__lter      Zclock_in_date_time__timeZclock_out_date_time__timetotal_duration)clock_in_dateclock_in_date_timeclock_out_date_timetime_sheet_total_duration)r   clock_in_timeclock_out_timer   
activities)project_nameactivity_typestart_date_timeend_date_timer   r   c                 S   s   g | ]\}}|qS  r    ).0kvr    r    L/var/www/html/kuke-dev/django-kuke/apps/report/views/ActivityHistoryViews.py
<listcomp>5   s    z1ActivityTimeSheetListView.get.<locals>.<listcomp>)GETgetr   r   HTTP_400_BAD_REQUESTr	   objectsfilterr   order_byr   annotater   valuesstrr   r   r   r   projectnamer   r   r   r   appendlistitems)
selfrequestr   r   
time_sheetr   Z	temp_dataresponse_dataactivityZactivity_datar    r    r$   r'      s>   	zActivityTimeSheetListView.getN)__name__
__module____qualname__r'   r    r    r    r$   r
      s    r
   N)rest_framework.responser   rest_frameworkr   rest_framework.viewsr   django.db.modelsr   r   Zapps.employee.modelsr   r	   r
   r    r    r    r$   <module>   s    