o
    {=hs	                     @  s   d dl mZ d dlmZmZ d dlmZmZmZ d dl	m
Z
 d dlmZmZmZmZmZmZmZmZ e Zejde
dedd	fdddZdS )    )annotations)ListDict)	APIRouterRequestQuery)HTMLResponse)	templatessbCOMPANY_ORDERTODAY_date_display_and_compare_to_int_safe_normalize_multiline_norm_company_labelz/group/executives)response_classN)defaultrequestr   company
str | Nonec              
     sv  zt ddd }|jpg }W n ty    g }Y nw td d  }|tv r-|n|d d!d	d
  d" fddfdd|D }|sY|rY fdd|D }g }|D ]G}|dpo|dpo|dpod	 psd}t
|d\}	}
t
|d\}}t|o|tk }i |||	||t|dd}|| q]d#dd}|j|d td| ||d S )$Nkepco_org_cur*i'  r   sr   returnstrc                 S  s   | pd dd S )N  )replacestrip)r    r   3/var/www/html/bot/app/web/pages/group/executives.py_key   s   z%group_executives_detail.<locals>._keydepboolc                   sH   | sdS  | }|krdS t | }|r |krdS |v p#|v S )NFT)r   )r"   dep_keynorm)r!   cur_keyr   r    _matches   s   z)group_executives_detail.<locals>._matchesc                   s   g | ]} | d r|qS 
departmentget.0r)r'   r   r    
<listcomp>"   s    z+group_executives_detail.<locals>.<listcomp>c                   s&   g | ]}  | d v r|qS r(   r*   r,   )r!   currentr   r    r/   $   s   & tasktitleposition-startendcareer)_task
_start_str_end_str_expired_career_strxdictc                 S  sj   d| v r"| d d ur"t | dt| dpdt| dpdfS dt| dp*dt| dp2dfS )Nidr3   r   namel    J))r   r+   r   )r=   r   r   r    	_sort_key1   s   0&z*group_executives_detail.<locals>._sort_key)keyzgroup/executives.html)r   tabsr0   rows)r   r   r   r   )r"   r   r   r#   )r=   r>   )r
   tableselectlimitexecutedata	Exceptionr   r+   r   r   r#   r   r   appendsortr	   TemplateResponse)r   r   resrawrC   cur_rowsenrichedr.   r1   
start_disp	start_cmpend_dispend_cmpexpiredpersonrA   r   )r!   r'   r&   r0   r    group_executives_detail	   s<   
*
rX   )r   r   r   r   )
__future__r   typingr   r   fastapir   r   r   fastapi.responsesr   app.web.depsr	   r
   r   r   r   r   r   r   routerr+   rX   r   r   r   r    <module>   s    (