§
    s�’jÏ  ã                  ó  — d dl mZ d dlmZ d dlmZmZmZ d dlm	Z	 d dl
mZ d dlmZ  e¦   «         Ze                     d¦  «         ee	¦  «        fdd„¦   «         Ze                     d¦  «         ee	¦  «        fdd„¦   «         ZdS )é    )Úannotations)ÚAny)Ú	APIRouterÚDependsÚHTTPException)Úget_current_user)ÚProjectCrudRepository)ÚEvmCalculationServicez+/projects/{project_id_or_code}/bim-elementsÚproject_id_or_codeÚstrÚcurrent_userúdict[str, Any]Úreturnúlist[dict[str, Any]]c                ó  — t          ¦   «         }|                     | ¦  «        }|st          dd¬¦  «        ‚|d         }d}|                     ¦   «         5 }|                     ¦   «         5 }|                     ||f¦  «         |                     ¦   «         }ddd¦  «         n# 1 swxY w Y   ddd¦  «         n# 1 swxY w Y   |sCddd	d
ddddddddœddd	d
ddddddddœddddddd d!d"d#d$dœd%d&d'ddd(d)d*d+d#d$dœd,d-d.d/d0d1d2d3d4d5d6dœg}|S )7uk   Láº¥y danh sÃ¡ch cáº¥u kiá»‡n 3D BIM cá»§a dá»± Ã¡n gáº¯n liá»�n vá»›i mÃ£ WBS vÃ  tráº¡ng thÃ¡i thi cÃ´ng.é”  õ   KhÃ´ng tÃ¬m tháº¥y dá»± Ã¡n©Ústatus_codeÚdetailÚida#  
        SELECT 
            b.*,
            w.task_name AS wbs_task_name,
            w.wbs_code
        FROM erp_project_bim_elements b
        LEFT JOIN erp_project_wbs w ON b.wbs_id = w.id
        WHERE b.project_id = %s
        ORDER BY b.installation_day ASC, b.element_guid ASC;
    NzBIM-FND-001u"   Ä�Ã i MÃ³ng Cá»¥m Tráº¡m BÆ¡m Ä�M1Ú
foundationu   MÃ³ng ngáº§mu   BÃª tÃ´ng C30 cá»‘t thÃ©p CB400g     ÀF@g    (±BAg   àä“šAé   Ú	completedz2.1)Úelement_guidÚelement_nameÚcategoryÚlevel_floorÚmaterial_typeÚ	volume_m3Úunit_cost_vndÚtotal_cost_vndÚinstallation_dayÚstatusÚwbs_codezBIM-FND-002u-   Bá»ƒ Chá»©a NÆ°á»›c Sáº¡ch 500m3 (Ä�Ã¡y bá»ƒ)u   BÃª tÃ´ng chá»‘ng tháº¥m B8g      ^@g    h¾EAg   €�b´Aé#   zBIM-COL-001u$   Cá»™t Khung NhÃ  Ä�iá»�u HÃ nh C1-C8Úcolumnu   Táº§ng 1u   BÃª tÃ´ng C30g      <@g    °¦GAg    Ú±”Aé<   Úin_progressz3.1zBIM-SLB-001u*   Báº£n SÃ n MÃ¡i Bá»ƒ Chá»©a NÆ°á»›c Sáº¡chÚslabg     @P@g     FAg   @�x¦AéK   zBIM-PIP-001u1   Tuyáº¿n á»�ng HÃºt & Ä�áº©y Tráº¡m BÆ¡m HDPE D250Úpipeu   Tuyáº¿n ngoÃ i trá»�iu   HDPE Tiá»�n Phong PN16g     àu@g    Ð3Ag   `¸ºAéZ   Úplannedz3.2)r	   Úget_project_detailr   Úget_connectionÚcursorÚexecuteÚfetchall)	r   r   Úrepor   Ú
project_idÚsql_bimÚconnÚcurÚelementss	            úEC:\Projects\DSCons\app\api\routers\advanced_modules\bim_evm_routes.pyÚget_project_bim_elementsr;      s5  € õ !Ñ"Ô"€DØ×$Ò$Ð%7Ñ8Ô8€FØð SÝ¨Ð4QÐRÑRÔRÐRà˜”€Jð	€Gð 
×	Ò	Ñ	Ô	ð " $¨¯ª©¬ð "¸Ø�Š�G˜j˜]Ñ+Ô+Ð+Ø—<’<‘>”>ˆð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð "ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð ð D
ð !.Ø DØ(Ø-Ø!BØ!Ø!*Ø"-Ø$&Ø%Ø!ðð ð !.Ø OØ(Ø-Ø!>Ø"Ø!*Ø"-Ø$&Ø%Ø!ðð ð !.Ø FØ$Ø)Ø!0Ø!Ø!*Ø",Ø$&Ø'Ø!ðð ð !.Ø LØ"Ø)Ø!0Ø!Ø!*Ø"-Ø$&Ø'Ø!ðð ð !.Ø SØ"Ø6Ø!9Ø"Ø!*Ø"-Ø$&Ø#Ø!ðð ðkB
ˆðF €Os6   ÁB9Á*,B"ÂB9Â"B&	Â&B9Â)B&	Â*B9Â9B=Ã B=z,/projects/{project_id_or_code}/evm-analyticsc                óv   — t          ¦   «         }|                     | ¦  «        }d|v rt          dd¬¦  «        ‚|S )uY   Láº¥y dá»¯ liá»‡u phÃ¢n tÃ­ch chi phÃ­ EVM vÃ  Ä‘Æ°á»�ng cong S-Curve thá»�i gian thá»±c.Úerrorr   r   r   )r
   Úget_project_evm_analyticsr   )r   r   ÚserviceÚress       r:   r>   r>   p   sE   € õ $Ñ%Ô%€GØ
×
+Ò
+Ð,>Ñ
?Ô
?€CØ�#€~€~Ý¨Ð4QÐRÑRÔRÐRØ€Jó    N)r   r   r   r   r   r   )r   r   r   r   r   r   )Ú
__future__r   Útypingr   Úfastapir   r   r   Úapp.api.routers.authr   Ú)app.core.postgres.project_crud_repositoryr	   Ú$app.services.evm_calculation_servicer
   ÚrouterÚgetr;   r>   © rA   r:   ú<module>rK      s  ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð à 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5à 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø KÐ KÐ KÐ KÐ KÐ KØ FÐ FÐ FÐ FÐ FÐ Fà	ˆ‰Œ€ð ‡‚Ð9Ñ:Ô:ð $+ 7Ð+;Ñ#<Ô#<ð^ð ^ð ^ð ^ñ ;Ô:ð^ðB ‡‚Ð:Ñ;Ô;ð $+ 7Ð+;Ñ#<Ô#<ð	ð 	ð 	ð 	ñ <Ô;ð	ð 	ð 	rA   