§
    t�’j  ã                  ó‚   — d dl mZ d dl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mZmZmZmZmZ ddlmZ dd„ZdS )é    )Úannotations)ÚAny)ÚFont)ÚALIGN_CENTERÚ
ALIGN_LEFTÚALIGN_RIGHTÚ
BORDER_BOXÚFILL_HEADERÚFILL_SECTIONÚ
FILL_TOTALÚFMT_CURRENCY_VNDÚ	FONT_DATAÚFONT_HEADERÚ	FONT_MONOÚFONT_SECTIONÚFONT_SUBTITLEÚ
FONT_TITLEÚ
FONT_TOTALé   )ÚStatutoryCostSummaryEngineÚtakeoffúdict[str, Any]Úitemsúlist[dict[str, Any]]c                ó*
  — d| _         d| j        j        d         _        d| d<   t	          dddd¬	¦  «        | d         _        d
| d<   t	          dddd¬¦  «        | d         _        |                      d¦  «         d| d<   t          | d         _        t          | d         _	        | 
                    d¦  «        pd}t          j        ||¬¦  «        }|                      d¦  «         d| 
                    d¦  «        › d| 
                    d¦  «        › �| d<   t          | d         _        t          | d         _	        g d¢}|D ]R\  }}|| |<   t          | |         _        t          | |         _        t          | |         _	        t"          | |         _        ŒSd| j        d         _        d}| 
                    dg ¦  «        D �]}	|	 
                    d d!¦  «        }
|	 
                    d"d!¦  «        }|rt*          n|
rt,          nt.          }|rt0          n
|
rt2          nd }|	 
                    d#¦  «        | d$|› �<   || d$|› �         _        t          | d$|› �         _	        t"          | d$|› �         _        |	 
                    d%¦  «        | d&|› �<   t4          | d&|› �         _        t          | d&|› �         _	        t"          | d&|› �         _        |	 
                    d'¦  «        | d(|› �<   || d(|› �         _        t6          | d(|› �         _	        t"          | d(|› �         _        |	 
                    d)¦  «        | d*|› �<   t.          | d*|› �         _        t6          | d*|› �         _	        t"          | d*|› �         _        |	 
                    d+¦  «        | d,|› �<   t4          | d,|› �         _        t          | d,|› �         _	        t"          | d,|› �         _        t9          |	 
                    d-¦  «        pd.¦  «        | d/|› �<   || d/|› �         _        t:          | d/|› �         _	        t<          | d/|› �         _        t"          | d/|› �         _        |	 
                    d0¦  «        | d1|› �<   t.          | d1|› �         _        t6          | d1|› �         _	        t"          | d1|› �         _        |rd2D ]}|| |› |› �         _        Œ|rd3n|
rd4nd5| j        |         _        |d6z  }�Œ dd7d8d9d:d3d;d2œ}|                      ¦   «         D ]\  }}|| j!        |         _"        Œd S )<Nu   1. TH Kinh PhÃ­ (NÄ� 206)Tr   u&   CÃ”NG TY TNHH XÃ‚Y Dá»°NG Ä�á»ŠNH SÆ NÚA1ÚArialé   Ú0F172A)ÚnameÚsizeÚboldÚcoloruq   MÃ£ sá»‘ thuáº¿: 0202111150 | Ä�á»‹nh má»©c & PhÃ¡p lÃ½: Luáº­t XÃ¢y dá»±ng 2025 - Nghá»‹ Ä‘á»‹nh 206/2026/NÄ�-CPÚA2é	   Ú475569)r    r!   Úitalicr#   zA4:G4uA   Báº¢NG Tá»”NG Há»¢P Dá»° TOÃ�N KINH PHÃ� XÃ‚Y Dá»°NG CÃ”NG TRÃŒNHÚA4Údrawing_typeÚcivil_building)r)   zA5:G5u   Loáº¡i cÃ´ng trÃ¬nh: Úproject_type_nameu    | CÄƒn cá»©: Úlegal_basisÚA5))ÚA7ÚSTT)ÚB7u
   KÃ½ Hiá»‡u)ÚC7u   Khoáº£n Má»¥c Chi PhÃ­)ÚD7u!   CÃ¡ch TÃ­nh ToÃ¡n / Ä�á»‹nh Má»©c)ÚE7u   Há»‡ Sá»‘ (%))ÚF7u   GiÃ¡ Trá»‹ Dá»± ToÃ¡n (VNÄ�))ÚG7u   Ghi ChÃº PhÃ¡p LÃ½é   é   é   Ú
table_rowsÚ	is_headerFÚis_grand_totalÚindexÚAÚcodeÚBÚtitleÚCÚcalculation_formulaÚDÚcoefficient_strÚEÚ
amount_vndg        ÚFÚnotesÚG)r=   r?   rA   rC   rE   rG   rI   é   é   é   r   é
   é*   é$   é   é-   )#r@   ÚviewsÚ	sheetViewÚshowGridLinesr   ÚfontÚmerge_cellsr   r   Ú	alignmentÚgetr   Úcalculate_statutory_summaryr   r   r
   Úfillr	   ÚborderÚrow_dimensionsÚheightr   r   r   r   r   r   r   Úfloatr   r   Únumber_formatr   Úcolumn_dimensionsÚwidth)Úwsr   r   r)   Úsummary_dataÚheadersÚcell_refÚtextÚcurrent_rowÚrowÚis_hdrÚis_grandÚfntrZ   Ú
col_letterÚwidthsra   s                    úKC:\Projects\DSCons\app\modules\takeoff\application\excel_sheet_statutory.pyÚbuild_statutory_sheetro      s§  € Ø*€B„HØ*.€B„HÔ�qÔÔ'ð 8€B€t�HÝ˜g¨B°TÀÐJÑJÔJ€B€t„H„Mà{ð €t�Hõ ˜g¨A°dÀ(ÐKÑKÔK€B€t„H„Mà‡N‚N�7ÑÔÐØR€B€t�HÝ€B€t„H„MÝ%€B€t„HÔà—;’;˜~Ñ.Ô.ÐBÐ2B€LÝ-ÔIØ˜Lðñ ô €Lð ‡N‚N�7ÑÔÐàv × 0Ò 0Ð1DÑ EÔ EÐvÐvÐUa×UeÒUeÐfsÑUtÔUtÐvÐvð €t�Hõ "€B€t„H„MÝ%€B€t„HÔðð ð €Gð "ð )ð )‰ˆ�$Øˆˆ8‰Ý'ˆˆ8ŒÔÝ'ˆˆ8ŒÔÝ!-ˆˆ8ŒÔÝ(ˆˆ8ŒÔÐØ"$€BÔ�aÔÔà€KØ×Ò ¨bÑ1Ô1ð 2ñ 2ˆØ—’˜ eÑ,Ô,ˆØ—7’7Ð+¨UÑ3Ô3ˆà$ÐQ�jˆj¸6Ð+P­<¨<ÅyˆØ%ÐM�zˆz¸FÐ,L­L¨LÈˆà #§¢¨Ñ 0Ô 0ˆÐˆ{ÐÐÑØ%(ˆÐˆ{ÐÐÔÔ"Ý*6ˆÐˆ{ÐÐÔÔ'Ý'1ˆÐˆ{ÐÐÔÔ$à #§¢¨¡¤ˆÐˆ{ÐÐÑÝ%.ˆÐˆ{ÐÐÔÔ"Ý*6ˆÐˆ{ÐÐÔÔ'Ý'1ˆÐˆ{ÐÐÔÔ$à #§¢¨Ñ 0Ô 0ˆÐˆ{ÐÐÑØ%(ˆÐˆ{ÐÐÔÔ"Ý*4ˆÐˆ{ÐÐÔÔ'Ý'1ˆÐˆ{ÐÐÔÔ$à #§¢Ð(=Ñ >Ô >ˆÐˆ{ÐÐÑÝ%.ˆÐˆ{ÐÐÔÔ"Ý*4ˆÐˆ{ÐÐÔÔ'Ý'1ˆÐˆ{ÐÐÔÔ$à #§¢Ð(9Ñ :Ô :ˆÐˆ{ÐÐÑÝ%.ˆÐˆ{ÐÐÔÔ"Ý*6ˆÐˆ{ÐÐÔÔ'Ý'1ˆÐˆ{ÐÐÔÔ$å % c§g¢g¨lÑ&;Ô&;Ð&B¸sÑ CÔ CˆÐˆ{ÐÐÑØ%(ˆÐˆ{ÐÐÔÔ"Ý*5ˆÐˆ{ÐÐÔÔ'Ý.>ˆÐˆ{ÐÐÔÔ+Ý'1ˆÐˆ{ÐÐÔÔ$à #§¢¨Ñ 0Ô 0ˆÐˆ{ÐÐÑÝ%.ˆÐˆ{ÐÐÔÔ"Ý*4ˆÐˆ{ÐÐÔÔ'Ý'1ˆÐˆ{ÐÐÔÔ$àð 	=ØAð =ð =�
Ø8<��jÐ/ +Ð/Ð/Ô0Ô5Ð5ð Ð6ˆBˆB vÐ!5  °2ð 	Ô˜+Ô&Ô-ð 	�qÑˆ‰ð ˜2 B¨R°b¸rÈÐKÐK€FØ#Ÿ\š\™^œ^ð 7ð 7Ñˆ
�EØ16ˆÔ˜ZÔ(Ô.Ð.ð7ð 7ó    N)r   r   r   r   )Ú
__future__r   Útypingr   Úopenpyxl.stylesr   Úapp.common.excel_stylerr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   Úboq_statutory_cost_servicer   ro   © rp   rn   ú<module>rw      s  ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð à  Ð  Ð  Ð  Ð  Ð  ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð$ CÐ BÐ BÐ BÐ BÐ Bðf7ð f7ð f7ð f7ð f7ð f7rp   