o
    h/                     @  s   U 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 e Zg dZded< ejd	e
d
eddfdddZdS )    )annotations)DictList)	APIRouterRequestQuery)HTMLResponse)	templatessb))	   부총리r   r   )	   대변인   r   )u   홍보담당관   	   담당관)	   감사관r   r   )u   감사담당관r   r   )u
   제1차관r      차관)u	   인사과r      과장)u   운영지원과r   r   )u   경제공급망기획관r   	   기획관)u   공급망정책담당관   r   )u   공급망대응담당관r   r   )u	   세제실r      실장)u   조세총괄정책관r   	   정책관)u   조세정책과   r   )u   조세분석과r   r   )u   조세특례제도과r   r   )u   소득법인세정책관r   r   )u   소득세제과r   r   )u   금융세제과r   r   )u   법인세제과r   r   )u   재산소비세정책관r   r   )u   재산세제과r   r   )u   환경에너지세제과r   r   )u   부가가치세제과r   r   )u   국제조세정책관r   r   )u   국제조세제도과r   r   )u   신국제조세규범과r   r   )u   관세정책관r   r   )u   관세제도과r   r   )u   산업관세과r   r   )u   관세협력과r   r   )u!   자유무역협정관세이행과r   r   )	   차관보r   r   )u   경제정책국r      국장)u   민생경제정책관r   r   )u   종합정책과r   r   )u   물가정책과r   r   )u   경제분석과r   r   )u   정책기획과r   r   )u   자금시장과r   r   )u   거시정책과r   r   )u   정책조정국r   r   )u   정책조정기획관r   r   )u   정책조정총괄과r   r   )u   서비스경제과r   r   )u   산업경제과r   r   )u   지역경제정책과r   r   )u   신성장정책과r   r   )u   기업환경과r   r   )u   경제구조개혁국r   r   )u   경제구조개혁총괄과r   r   )u   복지경제과r   r   )u   인력정책과r   r   )u   연금보건경제과r   r   )u   노동시장경제과r   r   )u   청년정책과r   r   )u   미래전략국r   r   )u   미래전략과r   r   )u   지속가능경제과r   r   )u   인구경제과r   r   )u   기후대응전략과r   r   )u   국제경제관리관r   	   관리관)u   국제금융국r   r   )u   국제금융심의관r   	   심의관)u   국제금융과r   r   )u   금융협력과r   r   )u   외화자금과r   r   )u   다자금융과r   r   )u   외환제도과r   r   )u   대외경제국r   r   )u   대외경제총괄과r   r   )u   통상조정과r   r   )u   국제경제과r   r   )u   경제협력기획과r   r   )u   통상정책과r   r   )u   남북경제과r   r   )u   개발금융국r   r   )u   개발금융총괄과r   r   )u   개발사업협력과r   r   )u   국제기구과r   r   )u   녹색기후기획과r   r   )u   개발전략과r   r   )u   신성장전략기획추진단r      단장)u   전략기획팀r      팀장)u   미래산업팀r   r   )u   디지털전환팀r   r   )u   조세개혁추진단r   r   )u   상속세개편팀r   r   )u   보유세개편팀r   r   )u   원스톱수출수주지원단r   r   )u   수출총괄팀r   r   )u   수주인프라지원팀r   r   )u   금융재정지원팀r   r   )u   서비스수출지원팀r   r   )u   국제협력대사지원단r   r   )u   민생안정지원단r   r   )u0   APEC 재무·구조개혁 장관회의 추진단r   r   )u
   제2차관r   r   )u   기획조정실r   r   )u   정책기획관r   r   )u   기획재정담당관r   r   )u   정보화담당관r   r   )u   혁신정책담당관r   r   )u   규제개혁법무담당관r   r   )u   비상안전기획관r   r   )u   비상안전기획팀r   r   )u	   예산실r   r   )u   예산총괄심의관r   r   )u   예산총괄과r   r   )u   기금운용계획과r   r   )u   예산정책과r   r   )u   예산관리과r   r   )u   예산기준과r   r   )u   사회예산심의관r   r   )u   고용예산과r   r   )u   기후환경예산과r   r   )u   교육예산과r   r   )u   총사업비관리과r   r   )u   문화예산과r   r   )u   경제예산심의관r   r   )u   산업중소벤처예산과r   r   )u   연구개발예산과r   r   )u   국토교통예산과r   r   )u   정보통신예산과r   r   )u   농림해양예산과r   r   )u   복지안전예산심의관r   r   )u   복지예산과r   r   )u   안전예산과r   r   )u   연금보건예산과r   r   )u   지역예산과r   r   )u   행정국방예산심의관r   r   )u   법사예산과r   r   )u   방위사업예산과r   r   )u   행정예산과r   r   )u   국방예산과r   r   )u   재정관리관r   r   )u   재정정책국r   r   )u   재정건전성심의관r   r   )u   재정정책총괄과r   r   )u   재정제도과r   r   )u   재정건전성과r   r   )u   재정정책협력과r   r   )u   재정분석과r   r   )u   재정정보과r   r   )u	   국고국r   r   )u   국유재산심의관r   r   )u	   국고과r   r   )u   출자관리과r   r   )u   국유재산정책과r   r   )u   공공조달정책과r   r   )u   계약정책과r   r   )u   국유재산협력과r   r   )u	   국채과r   r   )u   계약분쟁조정과r   r   )u   국유재산조정과r   r   )u   재정관리국r   r   )u   재정성과심의관r   r   )u   재정관리총괄과r   r   )u   민간투자정책과r   r   )u   재정성과평가과r   r   )u   회계결산과r   r   )u   타당성심사과r   r   )u   재정지출관리과r   r   )u   공공정책국r   r   )u   공공혁신심의관r   r   )u   공공정책총괄과r   r   )u   인재경영과r   r   )u   공공제도기획과r   r   )u   공공윤리정책과r   r   )u   재무경영과r   r   )u   공공혁신기획과r   r   )u   평가분석과r   r   )u   경영관리과r   r   )u   복권위원회사무처r   u   사무처장)u   복권총괄과r   r   )u   기금사업과r   r   )u   발행관리과r   r   )u$   국고보조금부정수급관리단r   r   zlist[tuple[str, int, str]]MOEF_ORDER_POSz/gov/moef/heads)response_class )defaultrequestr   qstrc              
     s  zt ddjdddd jpg }W n ty#   g }Y nw |r|p)d 	 }g }|D ]J}|
d|
d	p>d
|
dpDd pHd|
d|
dpRd pVd|
dp\d p`dd}ddd | D 	 }|rw||v r||| q2td| d||dS tdd tD }zt ddd|d jpg }	W n ty   g }	Y nw i }
|	D ]#}|
dpd }|
dpd }|r|r|
||fg | qd'd"d#}|pd 	 }g }tD ]l\}}}|

||fg }||}|r|
dnd p	d}|r|
dnd p|}|r|
dnd p#d}|r,|
dnd p0d}||||||||r=d$nd%d&}|rS|d|||||g	 v rX|| qtd| d||dS )(Nmoef_heads_curz(unit,position,name,phone,task,indent,ordordF)desci  r    unitindentr   nameu   (공석)positionphone-task)r(   r)   r*   r+   r,   r.    c                 S  s   g | ]}t |pd qS )r    )r$   ).0x r2   1/var/www/html/bot/app/web/pages/gov/moef/heads.py
<listcomp>   s    z*gov_moef_heads_ordered.<locals>.<listcomp>zgov/moef/heads.htmlu   기획재정부(MOEF))r"   ministryr#   itemsc                 S  s   h | ]\}}}|qS r2   r2   )r0   d_r2   r2   r3   	<setcomp>   s    z)gov_moef_heads_ordered.<locals>.<setcomp>moef_org_curz#department,position,name,phone,task
departmentiP  cands
list[dict]returndict | Nonec                 S  s"   | sd S dd }t | |ddd S )Nc                 S  s6   |  drt|  d rdnd}||  dpdfS )Nr,   r   r   r*   r    )getr$   strip)r1   	has_phoner2   r2   r3   score  s   $z8gov_moef_heads_ordered.<locals>.pick_best.<locals>.scoreT)keyreverser   )sorted)r<   rC   r2   r2   r3   	pick_best  s   z)gov_moef_heads_ordered.<locals>.pick_best	moef_headnone)r(   r)   r*   r+   r,   r.   	_expected_src)r<   r=   r>   r?   )r
   tableselectorderlimitexecutedata	ExceptionrA   lowerr@   joinvaluesappendr	   TemplateResponselistr   in_
setdefault)r"   r#   vrD   r6   rrowhaydept_whitelistrQ   by_keydepposrG   r(   r)   expected_posr<   recr*   r,   r.   r2   r2   r3   gov_moef_heads_ordered   s   

$
re   N)r"   r   r#   r$   )
__future__r   typingr   r   fastapir   r   r   fastapi.responsesr   app.web.depsr	   r
   routerr   __annotations__r@   re   r2   r2   r2   r3   <module>   s     C