§
    t�’j¹  ã                  óv   — 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)ÚALIGN_CENTERÚ
ALIGN_LEFTÚALIGN_RIGHTÚ
BORDER_BOXÚBORDER_TOTALÚFILL_HEADERÚ
FILL_TOTALÚFMT_CURRENCY_VNDÚFMT_DECIMAL_2ÚFMT_INTEGERÚ	FONT_DATAÚFONT_HEADERÚ	FONT_MONOÚ
FONT_TITLEÚ
FONT_TOTALé   )ÚBoqRateBreakdownEngineÚtakeoffúdict[str, Any]Úitemsúlist[dict[str, Any]]c                ó°  — d| _         d| j        j        d         _        |                      d¦  «         d| d<   t
          | d         _        t          | d         _        t          j
        ||                     dd¦  «        ¬	¦  «        }g d
¢}|D ]R\  }}|| |<   t          | |         _        t          | |         _        t          | |         _        t          | |         _        ŒSd| j        d         _        d}|                     dg ¦  «        }t'          |d¦  «        D �]�\  }	}
d|› �|	t(          t          t*          fd|› �|
                     d¦  «        pd|	d›�t,          t          d fd|› �|
                     d¦  «        pdt(          t.          d fd|› �|
                     d¦  «        pdt(          t          d fd|› �t1          |
                     d¦  «        pd¦  «        t,          t2          t4          fd|› �t1          |
                     d¦  «        pd¦  «        t,          t2          t6          fd |› �d!|› d"|› �t,          t2          t6          fg}|D ]H\  }}}}}|| |<   || |         _        || |         _        t          | |         _        |r|| |         _        ŒId#| j        |         _        |dz  }�Œ’|}|                      d|› d$|› �¦  «         d%| d|› �<   t:          | d|› �         _        t2          | d|› �         _        t<          | d|› �         _        d&|dz
  › d'�| d |› �<   t:          | d |› �         _        t2          | d |› �         _        t<          | d |› �         _        t6          | d |› �         _        d(D ]}t>          | |› |› �         _        Œd)| j        |         _        d*d+d,d*d-d)d-d(œ}|                      ¦   «         D ]\  }}|| j!        |         _"        Œd S ).Nu   4. Tá»•ng Há»£p Váº­t TÆ° (MR)Tr   zA2:G2uW   Báº¢NG Tá»”NG Há»¢P NHU Cáº¦U Váº¬T TÆ¯ CÃ”NG TRÆ¯á»œNG (MATERIAL REQUISITION SCHEDULE)ÚA2Údrawing_titleu   CÃ´ng trÃ¬nh)Úproject_title))ÚA4ÚSTT)ÚB4u   MÃ£ Váº­t TÆ°)ÚC4u!   TÃªn Loáº¡i Váº­t TÆ° / Quy CÃ¡ch)ÚD4u   Ä�VT)ÚE4u*   Khá»‘i LÆ°á»£ng Nhu Cáº§u (KÃ¨m Hao Há»¥t))ÚF4u&   Ä�Æ¡n GiÃ¡ Sá»Ÿ XD Háº£i PhÃ²ng (VNÄ�))ÚG4u   ThÃ nh Tiá»�n Váº­t TÆ° (VNÄ�)é   é   é   Úmaterial_scheduler   ÚAÚBÚmaterial_codezMAT-Ú02dÚCÚmaterial_nameÚ ÚDÚunitÚm3ÚEÚrequired_quantityg        ÚFÚunit_price_vndÚGz=Ez*Fé   z:Fu8   Tá»”NG Cá»˜NG CHI PHÃ� Váº¬T TÆ¯ CÃ”NG TRÆ¯á»œNG (VNÄ�):z	=SUM(G5:Gú))r*   r+   r.   r1   r4   r6   r8   é   é   é   é-   é   )#ÚtitleÚviewsÚ	sheetViewÚshowGridLinesÚmerge_cellsr   Úfontr   Ú	alignmentr   Úaggregate_material_requisitionÚgetr   r
   Úfillr   ÚborderÚrow_dimensionsÚheightÚ	enumerater   r   r   r   Úfloatr   r   r   Únumber_formatr   r   r	   r   Úcolumn_dimensionsÚwidth)Úwsr   r   Úmr_dataÚheadersÚcell_refÚtextÚcurrent_rowÚscheduleÚidxÚmatÚrow_dataÚvalÚfntÚalgÚnum_fmtÚ	total_rowÚcolÚwidthsÚ
col_letterrQ   s                        úKC:\Projects\DSCons\app\modules\takeoff\application\excel_sheet_materials.pyÚbuild_materials_sheetre      sP  € Ø/€B„HØ*.€B„HÔ�qÔÔ'à‡N‚N�7ÑÔÐàað €t�Hõ €B€t„H„MÝ%€B€t„HÔå$ÔCØ˜WŸ[š[¨¸.ÑIÔIðñ ô €Gðð ð €Gð "ð )ð )‰ˆ�$Øˆˆ8‰Ý'ˆˆ8ŒÔÝ'ˆˆ8ŒÔÝ!-ˆˆ8ŒÔÝ(ˆˆ8ŒÔÐØ"$€BÔ�aÔÔà€KØ�{Š{Ð.°Ñ3Ô3€HÝ˜h¨Ñ*Ô*ð 2ñ 2‰ˆˆSà�ÐÐ ¥Yµ½kÐJà!�KÐ!Ð!Ø—’˜Ñ(Ô(Ð<Ð,<°3Ð,<Ð,<Ð,<ÝÝØðð "�KÐ!Ð!Ø—’˜Ñ(Ô(Ð.¨BÝÝØðð �ÐÐ §¢¨¡¤Ð 7°4½ÅLÐRVÐWà!�KÐ!Ð!Ý�c—g’gÐ1Ñ2Ô2Ð9°cÑ:Ô:ÝÝÝðð "�KÐ!Ð!Ý�c—g’gÐ.Ñ/Ô/Ð6°3Ñ7Ô7ÝÝÝ ðð "�KÐ!Ð!Ø1�[Ð1Ð1 KÐ1Ð1ÝÝÝ ðð?&
ˆðP 19ð 	5ð 	5Ñ,ˆH�c˜3  WØˆBˆx‰LØ #ˆBˆxŒLÔØ%(ˆBˆxŒLÔ"Ý",ˆBˆxŒLÔØð 5Ø-4��8”Ô*øà02ˆÔ˜+Ô&Ô-Ø�qÑˆ‰ð €IØ‡N‚NÐ/�yÐ/Ð/ IÐ/Ð/Ñ0Ô0Ð0ØT€B€ˆ9€€ÑÝ)€B€ˆ9€€ÔÔÝ$/€B€ˆ9€€ÔÔ!Ý)€B€ˆ9€€ÔÔà6 i°!¡mÐ6Ð6Ð6€B€ˆ9€€ÑÝ)€B€ˆ9€€ÔÔÝ$/€B€ˆ9€€ÔÔ!Ý)€B€ˆ9€€ÔÔÝ(8€B€ˆ9€€ÔÔ%à2ð 6ð 6ˆÝ)5ˆˆcÐ�9ÐÐÔÔ&Ð&à*,€BÔ�iÔ Ô'à˜2 B¨Q°R¸bÀrÐJÐJ€FØ#Ÿ\š\™^œ^ð 7ð 7Ñˆ
�EØ16ˆÔ˜ZÔ(Ô.Ð.ð7ð 7ó    N)r   r   r   r   )Ú
__future__r   Útypingr   Úapp.common.excel_stylerr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   Úboq_rate_breakdown_servicer   re   © rf   rd   ú<module>rl      s  ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð$ ?Ð >Ð >Ð >Ð >Ð >ðk7ð k7ð k7ð k7ð k7ð k7rf   