§
    ÔŸ’j4#  ã                  óF   — d dl mZ 	 d dlmZ d dlmZ  G d„ d¦  «        ZdS )é    )Úannotations)ÚAny)ÚOperationsActionItemc                  ó*   — e Zd ZdZdd	„Zdd„Zdd„ZdS )ÚActionsPostCompletionMixinz6Post completion, close and verification actions mixin.Úsessionúdict[str, Any]ÚfindingÚcase_idÚstrÚreturnúlist[OperationsActionItem]c               óÄ  — g }t          |                     d¦  «        pd¦  «        }t          |                     d¦  «        pd¦  «        }t          |                     d¦  «        pd¦  «        pd}t          |                      ||¬¦  «        d¬¦  «        D �]š\  }}	|                     t          d8i d	t          |	                     d	¦  «        p|› d
|› �¦  «        “dt          |	                     d¦  «        p|› d
|› �¦  «        “d|“d|“d|pd“d|“dt          |	                     d¦  «        pd¦  «        “dt          |	                     d¦  «        pd|                     d¦  «        pd› �¦  «        “d|	                     d¦  «        p|	                     d¦  «        “d|	                     d¦  «        p|                     d¦  «        “d|	                     d¦  «        “dt          |	                     d¦  «        pO|                      |                     d¦  «        |                     d¦  «        |                     d¦  «        ¦  «        ¦  «        “d|	                     d¦  «        “dt          |	                     d¦  «        pd¦  «        “d |                     d!¦  «        r#t          |                     d!¦  «        ¦  «        gng “d"t          |	                     d"¦  «        pd#¦  «        “d$|                      |	                     d$¦  «        ¦  «        p|                      |¦  «        “d%t          |	                     d%d&¦  «        ¦  «        “d'|	                     d'¦  «        “d(|	                     d(¦  «        p)|                     d)¦  «        p|                     d*¦  «        “d+|	                     d+¦  «        “d,|  
                    |	                     d,¦  «        |                     d¦  «        |	                     d-¦  «        pd.|	                     d/¦  «        pd0d1œ¦  «        “Ž¦  «         �Œœt          |                      ||¬¦  «        d¬¦  «        D �]…\  }}	|                     t          d8i d	t          |	                     d	¦  «        p|› d2|› �¦  «        “dt          |	                     d¦  «        p|› d2|› �¦  «        “d|“d|“d|pd“d|“dt          |	                     d¦  «        pd3¦  «        “dt          |	                     d¦  «        pd4|                     d¦  «        pd› �¦  «        “d|	                     d¦  «        p|	                     d¦  «        “d|	                     d¦  «        p|                     d¦  «        “d|	                     d¦  «        “dt          |	                     d¦  «        pO|                      |                     d¦  «        |                     d¦  «        |                     d¦  «        ¦  «        ¦  «        “d|	                     d¦  «        “dt          |	                     d¦  «        pd¦  «        “d |                     d!¦  «        r#t          |                     d!¦  «        ¦  «        gng “d"t          |	                     d"¦  «        pd5¦  «        “d$|                      |	                     d$¦  «        ¦  «        p|                      |¦  «        “d%t          |	                     d%d6¦  «        ¦  «        “d'|	                     d'¦  «        “d(|	                     d(¦  «        p|                     d*¦  «        “d+|	                     d+¦  «        “d,|  
                    |	                     d,¦  «        |                     d¦  «        |	                     d-¦  «        pd7|	                     d/¦  «        pd0d1œ¦  «        “Ž¦  «         �Œ‡|S )9zTProject post-close or post-verification follow-up actions into the operations queue.Úproject_codeÚ Ú	review_idÚfinding_codeN)r   r
   é   )ÚstartÚ	action_idz:post_close:Úaction_coder   Úreview_session_idÚaction_typeÚpost_close_follow_upÚtitleu   Theo dÃµi sau Ä‘Ã³ng review: zDossier findingÚdescriptionÚreasonÚowner_department_codeÚdepartment_codeÚresponsible_department_codeÚowner_employee_codeÚpriorityÚseverityÚimpact_levelÚis_blockingÚdue_dateÚstatusÚpendingÚdependency_refsÚ
finding_idÚexpected_outcomeu?   HoÃ n táº¥t hÃ nh Ä‘á»™ng follow-up sau khi review Ä‘Ã£ Ä‘Ã³ng.Úsuccess_criteriaÚrequires_human_confirmationTÚcompletion_noteÚ
created_atÚ	closed_atÚresolved_atÚcompleted_atÚmetadataÚtrigger_phaseÚ
post_closeÚsourceÚworkflow_metadata)Úfinding_statusr4   r6   z:post_verification:Úpost_verification_follow_upu   Theo dÃµi sau xÃ¡c minh: u<   HoÃ n táº¥t hÃ nh Ä‘á»™ng follow-up sau xÃ¡c minh bá»• sung.FÚpost_verification© )r   ÚgetÚ	enumerateÚ_collect_post_close_actionsÚappendr   Ú_derive_priorityÚ_ensure_string_listÚ_build_success_criteriaÚboolÚ_merge_metadataÚ"_collect_post_verification_actions)
Úselfr   r
   r   Úitemsr   r   r   ÚindexÚactions
             úUC:\Projects\DSCons\app\services\operations_case_management\actions_post_completion.pyÚ_build_post_completion_actionsz9ActionsPostCompletionMixin._build_post_completion_actions   sZ	  € ð -/ˆÝ˜7Ÿ;š; ~Ñ6Ô6Ð<¸"Ñ=Ô=ˆÝ˜Ÿš KÑ0Ô0Ð6°BÑ7Ô7ˆ	Ý˜7Ÿ;š; ~Ñ6Ô6Ð<¸"Ñ=Ô=ÐEÀˆå&Ø×,Ò,°WÀgÐ,ÑNÔNÐVWð
ñ 
ô 
ð A	ñ A	‰MˆE�6ð �LŠLÝ$ð <ð <ð <Ý!ØŸ
š
 ;Ñ/Ô/ÐR°gÐ3RÐ3RÈ5Ð3RÐ3Rñô ð ð<õ !$ØŸ
š
 =Ñ1Ô1ÐT¸Ð5TÐ5TÈUÐ5TÐ5Tñ!ô !ð !ð	<ð $˜Gð<ð ". ð<ð '0Ð&7°4øð<ð ". ð<õ !$ØŸ
š
 =Ñ1Ô1ÐKÐ5Kñ!ô !ð !ð<õ ØŸ
š
 7Ñ+Ô+ð gØf¸7¿;º;ÀwÑ;OÔ;OÐ;dÐSdÐfÐfñô ð ð<ð$ !'§
¢
¨=Ñ 9Ô 9Ð Q¸V¿ZºZÈÑ=QÔ=Qøð%<ð& +1¯*ª*Ð5FÑ*GÔ*Gð +BØ—{’{Ð#@ÑAÔAøð)<ð* )/¯
ª
Ð3HÑ(IÔ(IÐ(Ið+<õ, !ØŸ
š
 :Ñ.Ô.ð Ø×0Ò0Ø#ŸKšK¨
Ñ3Ô3Ø#ŸKšK¨Ñ7Ô7Ø#ŸKšK¨Ñ6Ô6ñô ñô ð ð-<ð< $ŸZšZ¨
Ñ3Ô3Ð3ð=<õ> ˜vŸzšz¨(Ñ3Ô3Ð@°yÑAÔAÐAð?<ðB —{’{ <Ñ0Ô0ð%¥S¨¯ª°\Ñ)BÔ)BÑ%CÔ%CÐ$DÐ$DàøðE<õF &)ØŸ
š
Ð#5Ñ6Ô6ð ]Ø\ñ&ô &ð &ðG<ðN &*×%=Ò%=ØŸ
š
Ð#5Ñ6Ô6ñ&ô &ð &=ð ×3Ò3°GÑ<Ô<øðU<õV 15ØŸ
š
Ð#@À$ÑGÔGñ1ô 1ð 1ðW<ð\ %+§J¢JÐ/@Ñ$AÔ$AÐ$Að]<ð^  &Ÿzšz¨,Ñ7Ô7ð  2Ø—{’{ ;Ñ/Ô/ð 2à—{’{ =Ñ1Ô1øðc<ðd "(§¢¨NÑ!;Ô!;Ð!;ðe<ðf "×1Ò1ØŸ
š
 :Ñ.Ô.à.5¯kªk¸(Ñ.CÔ.CØ-3¯ZªZ¸Ñ-HÔ-Hð .,Ø+Ø&,§j¢j°Ñ&:Ô&:Ð&QÐ>Qð	ð ñô ð ðg<ñ>ô >ð >ñ >õ@ 'Ø×3Ò3¸GÈWÐ3ÑUÔUØð
ñ 
ô 
ð B	ñ B	‰MˆE�6ð �LŠLÝ$ð <ð <ð <Ý!ØŸ
š
 ;Ñ/Ô/ð BØ%ÐAÐA¸%ÐAÐAñô ð ð<õ
 !$ØŸ
š
 =Ñ1Ô1ð BØ%ÐAÐA¸%ÐAÐAñ!ô !ð !ð<ð $˜Gð<ð ". ð<ð '0Ð&7°4øð<ð ". ð<õ !$ØŸ
š
 =Ñ1Ô1ÐRÐ5Rñ!ô !ð !ð<õ  ØŸ
š
 7Ñ+Ô+ð cØb°w·{²{À7Ñ7KÔ7KÐ7`ÐO`ÐbÐbñô ð ð!<ð( !'§
¢
¨=Ñ 9Ô 9Ð Q¸V¿ZºZÈÑ=QÔ=Qøð)<ð* +1¯*ª*Ð5FÑ*GÔ*Gð +BØ—{’{Ð#@ÑAÔAøð-<ð. )/¯
ª
Ð3HÑ(IÔ(IÐ(Ið/<õ0 !ØŸ
š
 :Ñ.Ô.ð Ø×0Ò0Ø#ŸKšK¨
Ñ3Ô3Ø#ŸKšK¨Ñ7Ô7Ø#ŸKšK¨Ñ6Ô6ñô ñô ð ð1<ð@ $ŸZšZ¨
Ñ3Ô3Ð3ðA<õB ˜vŸzšz¨(Ñ3Ô3Ð@°yÑAÔAÐAðC<ðF —{’{ <Ñ0Ô0ð%¥S¨¯ª°\Ñ)BÔ)BÑ%CÔ%CÐ$DÐ$DàøðI<õJ &)ØŸ
š
Ð#5Ñ6Ô6ð ZØYñ&ô &ð &ðK<ðR &*×%=Ò%=ØŸ
š
Ð#5Ñ6Ô6ñ&ô &ð &=ð ×3Ò3°GÑ<Ô<øðY<õZ 15ØŸ
š
Ð#@À%ÑHÔHñ1ô 1ð 1ð[<ð` %+§J¢JÐ/@Ñ$AÔ$AÐ$Aða<ðb  &Ÿzšz¨,Ñ7Ô7ÐU¸7¿;º;À}Ñ;UÔ;Uøðc<ðd "(§¢¨NÑ!;Ô!;Ð!;ðe<ðf "×1Ò1ØŸ
š
 :Ñ.Ô.à.5¯kªk¸(Ñ.CÔ.CØ-3¯ZªZ¸Ñ-HÔ-Hð .3Ø2Ø&,§j¢j°Ñ&:Ô&:Ð&QÐ>Qð	ð ñô ð ðg<ñ>ô >ð >ñ >ð@ ˆó    úlist[dict[str, Any]]c               ó:   — |                       ||dh d£d¬¦  «        S )zECollect post-close actions from finding/session metadata and actions.)Úpost_close_actionsÚpost_close_backlogÚclose_follow_ups>   Úsession_closedÚclose_follow_up_createdÚsession_close_follow_upr5   ©r   r
   Úmetadata_keysÚaction_typesÚdefault_trigger_phase©Ú_collect_follow_up_actions©rF   r   r
   s      rJ   r>   z6ActionsPostCompletionMixin._collect_post_close_actions£   s@   € ð ×.Ò.ØØðð
ð ð ð
 #/ð /ñ 
ô 
ð 	
rL   c               ó:   — |                       ||dh d£d¬¦  «        S )zLCollect post-verification actions from finding/session metadata and actions.)Úpost_verification_actionsÚverification_follow_upsÚpost_verify_actions>   Úsupplement_verifiedÚverification_completedÚverification_follow_up_createdr:   rU   rY   r[   s      rJ   rE   z=ActionsPostCompletionMixin._collect_post_verification_actions·   s@   € ð ×.Ò.ØØðð
ð ð ð
 #6ð /ñ 
ô 
ð 	
rL   N)r   r	   r
   r	   r   r   r   r   )r   r	   r
   r	   r   rM   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__rK   r>   rE   r;   rL   rJ   r   r   
   s[   € € € € € Ø@Ð@ðTð Tð Tð Tðl
ð 
ð 
ð 
ð(
ð 
ð 
ð 
ð 
ð 
rL   r   N)Ú
__future__r   Útypingr   Úapp.models.schemasr   r   r;   rL   rJ   ú<module>rj      sz   ðØ "Ð "Ð "Ð "Ð "Ð "à 6à Ð Ð Ð Ð Ð à 3Ð 3Ð 3Ð 3Ð 3Ð 3ðB
ð B
ð B
ð B
ð B
ñ B
ô B
ð B
ð B
ð B
rL   