
    nh                       d dl mZ d dlZd dlmZmZmZmZ d dl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mZmZ  e	            ZddZddZ ej        d          ZddZddZe                    de          dd            Z dS )    )annotationsN)AnyOptionalDictList)	APIRouterRequest)HTMLResponse)
	templatessbCOMPANY_ORDER	POS_ORDERTODAY_parse_date_parts_parts_to_date_date_display_and_compare_norm_company_label_normalize_multilinegr   returnstrc                    t          | pd                                                                          }|sdS |dv rdS |dv rdS t          |           S )N ->      女   여성   여자ffemale   여r    >      男   남성   남자mmale   남r&   )r   striplower)r   ss     2/var/www/html/bot/app/web/pages/group/executive.py_gender_labelr+      s^    AG""$$ASS888666uuq66M    boolc                (    t          |           dk    S )Nr    )r+   )r   s    r*   
_is_femaler/      s    u$$r,   u3   (?<![가-힣A-Za-z0-9])한전(?![가-힣A-Za-z0-9])careerc                p    | sdS t          |           }d|v rdS t                              |          rdS dS )NFu   한국전력공사T)r   _KEPCO_WORD_REsearch)r0   ts     r*   _is_kepco_alum_textr5      sC    %%FAq  Q,5r,   pos
str | NoneOptional[str]c                    | sd S |                                  }|                    dd          }d|v rdS d|v rdS d|v s|                    d          rd|vrdS d|v rdS d	|v rd
|vrdS |dv rdS |t          v r|S d S )N r   u	   비상임u   비상임이사u   상임감사u   감사위원u   감사u   상임이사u   사장u   대행   상임기관장>   	   기관장r;   )r'   replaceendswithr   )r6   pp0s      r*   _normalize_positionrA   &   s    tt		A	
3		Ba  ~!qzz(33A9M9M~~1}}**  	,,,   	I~~4r,   z/group/executive)response_classrequestr	   c                  K   	 t          j        d                              d                              d                                          }|j        pg }n# t          $ r g }Y nw xY wd t          D             d t          D             d t          D             |D ]}|                    d          pd	                                }t          |          }|vr@|xx         d	z  cc<   t          |                    d
                    r|xx         d	z  cc<   t          |                    d                    }|t          |                    d                    \  }}t          |o
|t          k               }	t          |                    d                    \  }
}t          |                    d                    \  }}t!          |          }|	|d<   t#          |                    d                    |d<   |
|d<   ||d<   t%          |                    d
                    }|                    d          pd	                                }|dk    r| d| dn||d<   |         |                             |           fdt          D             }t          fdt(          D             }t+          j        d| ||d          S )N	kepco_org*i'  c                2    i | ]}|d  t           D             S )c                    i | ]}|g S  rI   ).0r?   s     r*   
<dictcomp>z.group_executive.<locals>.<dictcomp>.<dictcomp>G   s    0I0I0I!20I0I0Ir,   )r   rJ   cs     r*   rK   z#group_executive.<locals>.<dictcomp>G   s)    -a-a-aaa0I0Iy0I0I0I-a-a-ar,   c                    i | ]}|d S r   rI   rL   s     r*   rK   z#group_executive.<locals>.<dictcomp>H       000QQq000r,   c                    i | ]}|d S rO   rI   rL   s     r*   rK   z#group_executive.<locals>.<dictcomp>I   rP   r,   
departmentr      genderpositionendstart_expiredr0   _is_kepco_alum_start_disp	_end_dispnamer   ()
_name_linec                2    g | ]}|         |         d S ))r   totalrI   )rJ   rM   female_countstotal_countss     r*   
<listcomp>z#group_executive.<locals>.<listcomp>q   s*    bbbq}Q/,q/JJbbbr,   c                6    g | ]fd D             dS )c                ,    g | ]}|                  S rI   rI   )rJ   rM   gridr?   s     r*   rd   z.group_executive.<locals>.<listcomp>.<listcomp>s   s!    -J-J-JQd1gaj-J-J-Jr,   )rU   cellsrI   )rJ   r?   columnsrg   s    @r*   rd   z#group_executive.<locals>.<listcomp>s   s;    ___PQ-J-J-J-J-J'-J-J-JKK___r,   zgroup/executive.html)rC   ri   rowsgender_stats)r   tableselectlimitexecutedata	Exceptionr   getr'   r   r/   rA   r   r-   r   dictr5   r+   appendr   r   TemplateResponse)rC   resrawrdep_rawcompanypos_norm_end_cmpexpired
start_dispend_disppersonrT   r\   rk   rows_for_tplri   rb   rg   rc   s                    @@@@r*   group_executiver   >   s     h{##**3//55e<<DDFF(.b    .b-aS`-a-a-aD00-000M00-000L $/ $/55&&,"3355%g..$W"aeeHoo&& 	('"""a'""" 'quuZ'8'899 /quuU||<<
7w27U?331!%%..AA
A1!%%,,??!a$z#6quuX#G#G  *}&{quuX//f$++--6<mm$222222| 	Wh&&v....bbbbbTabbbLG_____U^___L%&<wVb? ?   s   AA A-,A-)r   r   r   r   )r   r   r   r-   )r0   r   r   r-   )r6   r7   r   r8   )rC   r	   )!
__future__r   retypingr   r   r   r   fastapir   r	   fastapi.responsesr
   app.web.depsr   r   r   r   r   r   r   r   r   r   routerr+   r/   compiler2   r5   rA   rr   r   rI   r,   r*   <module>r      s   " " " " " " 				 , , , , , , , , , , , , & & & & & & & & * * * * * *                        
   % % % % RSS      0 |<<8 8 8 =<8 8 8r,   