§
    s�’j€  ã                  óR   — d dl mZ d dlmZ ddlmZ ddlmZ  G d„ de¦  «        Zd	S )
é    )Úannotations)ÚAnyé   )ÚBasePostgresClienté   )ÚFETCH_PROJECT_MANAGEMENT_SQLc                  ó"   — e Zd ZdZd	d„Zd
d„ZdS )ÚProjectManagementMixinz Project management read helpers.Úreturnúlist[dict[str, Any]]c                ó~  ‡ — ‰                       ¦   «         sg S 	 ‰                      ¦   «         5 }|                     ¦   «         5 }|                     t          ¦  «         |                     ¦   «         }ddd¦  «         n# 1 swxY w Y   ddd¦  «         n# 1 swxY w Y   ˆ fd„|D ¦   «         S # t          $ r g cY S w xY w)z<Fetch aggregated project management records from PostgreSQL.Nc                ó:   •— g | ]}‰                      |¦  «        ‘ŒS © )Ú!_normalize_project_management_row)Ú.0ÚrowÚselfs     €ú:C:\Projects\DSCons\app\core\postgres\project_mgmt\mixin.pyú
<listcomp>zKProjectManagementMixin.fetch_project_management_records.<locals>.<listcomp>   s'   ø€ ÐPÐPÐPÀC�D×:Ò:¸3Ñ?Ô?ÐPÐPÐPó    )Ú
is_enabledÚget_connectionÚcursorÚexecuter   ÚfetchallÚ	Exception)r   Ú
connectionr   Úrowss   `   r   Ú fetch_project_management_recordsz7ProjectManagementMixin.fetch_project_management_records   sJ  ø€ à�ŠÑ Ô ð 	ØˆIð	Ø×$Ò$Ñ&Ô&ð -¨*Ø×&Ò&Ñ(Ô(ð -¨FØ—N’NÕ#?Ñ@Ô@Ð@Ø!Ÿ?š?Ñ,Ô,�Dð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð QÐPÐPÐPÈ4ÐPÑPÔPÐPøÝð 	ð 	ð 	ØˆIˆIˆIð	øøøsX   ™B- ­BÁ/A=Á1BÁ=B	ÂBÂB	ÂBÂB- ÂBÂB- ÂBÂB- Â-B<Â;B<r   údict[str, Any]c                óZ  — |d         |d         |d         |d         |d         |d         |d         |d         |d	         |                       |                     d
¦  «        ¦  «        |                       |                     d¦  «        ¦  «        |                       |                     d¦  «        ¦  «        |                       |                     d¦  «        ¦  «        |                       |                     d¦  «        ¦  «        |                       |                     d¦  «        ¦  «        dœS )zFConvert JSON-like values from PostgreSQL into plain Python structures.Úproject_codeÚproject_nameÚclient_nameÚlocationÚproject_managerÚstatusÚcurrent_phaseÚoverall_progress_percentÚbudget_statusÚsummary_cardsÚphase_progressÚ
milestonesÚtimelineÚrisksÚupcoming_tasks)r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   )Ú_ensure_listÚget)r   r   s     r   r   z8ProjectManagementMixin._normalize_project_management_row   s  € ð   Ô/Ø Ô/Ø˜}Ô-Ø˜JœØ"Ð#4Ô5Ø˜(”mØ  Ô1Ø(+Ð,FÔ(GØ  Ô1Ø!×.Ò.¨s¯wªw°Ñ/GÔ/GÑHÔHØ"×/Ò/°·²Ð8HÑ0IÔ0IÑJÔJØ×+Ò+¨C¯GªG°LÑ,AÔ,AÑBÔBØ×)Ò)¨#¯'ª'°*Ñ*=Ô*=Ñ>Ô>Ø×&Ò& s§w¢w¨wÑ'7Ô'7Ñ8Ô8Ø"×/Ò/°·²Ð8HÑ0IÔ0IÑJÔJð
ð 
ð 	
r   N)r   r   )r   r    r   r    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r
   r
   	   sB   € € € € € Ø*Ð*ðð ð ð ð
ð 
ð 
ð 
ð 
ð 
r   r
   N)	Ú
__future__r   Útypingr   Úbaser   Úqueriesr   r
   r   r   r   ú<module>r;      s‚   ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð à %Ð %Ð %Ð %Ð %Ð %Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1ð#
ð #
ð #
ð #
ð #
Ð/ñ #
ô #
ð #
ð #
ð #
r   