
    mh                       U d dl mZ d dlmZmZ d dlmZmZ d dlm	Z	 d dl
Z
d dlmZmZ  e            Zg dZedd	gz   Zdd
d
dddddddddddZded<   g dZd"dZd#dZd$dZe                    de	          d%d!            ZdS )&    )annotations)DictList)	APIRouterRequest)HTMLResponseN)	templatessb)   부총리실
   제1차관
   제2차관u   공공정책국u   공공혁신심의관u   공공정책총괄과u   공공제도기획과   재무경영과u   평가분석과u   인재경영과u   공공윤리정책과u   공공혁신기획과u   경영관리과	   부총리	   장관실u   차관u   국장u	   심의관u   과장zDict[str, str]MOEF_KPS_EXPECTED_POS))r   2028   담당)r   2022r   )r   5631r   phone
str | Nonereturnc                    | sd S t          j        dt          |                     }|r|                    d          nd S )Nz(\d{4})\s*$   )researchstrgroup)r   ms     //var/www/html/bot/app/web/pages/gov/moef/kps.py_last4r!   (   s<    
	.#e**--A$1771:::$    depr   posc                    | pd                                 }|pd                                 }|dk    rdS |dk    r|dk    rdS |S )N r   r   r   u   비서실장)strip)r#   r$   dps       r    
_canon_depr*   -   sZ    	A#)!2!2!4!4QK~KA//~Hr"   rows
List[Dict]r   c                P    | pg } |                      d            | r| d         ni S )Nc                    |                      d          pd                                rdnd|                      d          pd                                rdnd|                      d          pdfS )Nnamer&   r   r   r   )getr'   xs    r    <lambda>z_pick_best.<locals>.<lambda>7   si    eeFmm!r((**1eeGnn"))++2	
v	" r"   keyr   )sort)r+   s    r    
_pick_bestr7   5   sB    :2DII  I   
 "477"r"   z/gov/moef/kps)response_classrequestr   c           
       K   	 t          j        d                              d                              dt                                        d                                          }|j        pg }n# t          $ r g }Y nw xY wi }i }i }|D ]#}|	                    d          pd
                                }|	                    d          pd
                                }t          ||          }	t          |	                    d          pd
                                          }
|	|d<   |                    |	g                               |           |r+|                    |	|fg                               |           |
r+|                    |	|
fg                               |           %g }t          D ]}	t!                      g }t"          	                    |	d	          }t%          |	                    |	|fg                     }|r                    |	                    d
                     |                    ||	                    d          pd	
                                pd	|	                    d          pd	
                                pd	|	                    d          pd	
                                pd	d           n|                    |dd	d	d           t(          D ]E\  }}
}||	k    rfd|	                    |	|
fg           D             }t%          |          }|r                    |	                    d
                     |                    |	                    d          pd
                                p||	                    d          pd	
                                pd	|	                    d          pd	
                                pd	|	                    d          pd	
                                pd	d           +|                    |dd	d	d           Gfd|	                    |	g           D             }|                    d            |D ]}                    |	                    d
                     |                    |	                    d          pd	
                                pd	|	                    d          pd	
                                pd	|	                    d          pd	
                                pd	|	                    d          pd	
                                pd	d           |                    |	|d           t-          j        d| |d          S )Nmoef_kpsz&id,department,position,name,phone,task
departmentiP  r&   positionr   _dep-idr/   task)r$   r/   r   rA   u   (공석)c                B    g | ]}|                     d           v|S r@   r0   .0r2   used_idss     r    
<listcomp>z gov_moef_kps.<locals>.<listcomp>q   s.    \\\1dS[@[@[Q@[@[@[r"   c                B    g | ]}|                     d           v|S rC   rD   rE   s     r    rH   z gov_moef_kps.<locals>.<listcomp>~   s-    SSS1quuT{{(7R7RQ7R7R7Rr"   c                ^    |                      d          pd|                      d          pdfS )Nr=   r&   r/   rD   r1   s    r    r3   zgov_moef_kps.<locals>.<lambda>   s,    quuZ'8'8'>B!%%--BUSU%W r"   r4   )r<   r+   zgov/moef/kps.html)r9   groups)r
   tableselectin_MOEF_KPS_DEPT_WHITELISTlimitexecutedata	Exceptionr0   r'   r*   r!   
setdefaultappendMOEF_KPS_DEPT_ORDERsetr   r7   addMOEF_KPS_PHONE_ROLE_LAST4r6   r	   TemplateResponse)r9   resrawby_dep
by_dep_pos	by_dep_l4rraw_depr$   r#   l4rK   rows_for_dep
leader_pos
leader_rowr(   rolecandspick	remainingrG   s                       @r    gov_moef_kpsrj   >   s     
HZ  v>??s<!899uU||wyy 	 (.b    %'F*,J)+I 
: 
:55&&,"3355uuZ  &B--//#&&aeeGnn*113344&	#r""))!,,, 	<!!3*b1188;;; 	:  #rB//66q999F" ,A ,A UU#%*..sC88

Z/@" E EFF
 		dLL--...!#//63==??F3$..118S??AAHS#//63==??F3	! !     
JQT^a b bccc4 	b 	bKAr4Cxx\\\\	sBi < <\\\Ee$$D 	bTXXd^^,,,## HHZ006B==??G4!XXf--4;;==D"hhw//63==??F3!XXf--4;;==D	% %     ##D*s\_$`$`aaaaSSSS

3 3 3SSS	WWXXX 	 	ALLt%%%j))0S7799@Sv-#4466=#%%../C6688?Cv-#4466=#	! !     	S,??@@@@%&9f< <   s   A.A4 4BB)r   r   r   r   )r#   r   r$   r   r   r   )r+   r,   r   r   )r9   r   )
__future__r   typingr   r   fastapir   r   fastapi.responsesr   r   app.web.depsr	   r
   routerrV   rO   r   __annotations__rY   r!   r*   r7   r0   rj    r"   r    <module>rs      s   " " " " " " "         & & & & & & & & * * * * * * 				 & & & & & & & &	    .k0JJ (%%%%) )        % % % %
   # # # # OL99N N N :9N N Nr"   