§
    ÔŸ’jM  ã                  óT   — 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)ÚOperationsActionItemé   )ÚActionsPostCompletionMixinc                  ó   — e Zd ZdZdd„ZdS )	ÚActionsBuilderMixinz+Action items extraction from session mixin.Úsessionúdict[str, Any]Úreturnúlist[OperationsActionItem]c                ó  — g }t          |                     d¦  «        pd¦  «        }t          |                     d¦  «        pd¦  «        }|                      |                     d¦  «        ¦  «        D �]“}|                      ||¬¦  «        }|                      |                     d¦  «        ¦  «        }|�r$|D �]}t          |                     d¦  «        pd¦  «        }	t          |                     d¦  «        pd	¦  «        }
|                     t          d<i d
|	p|› d�“d|	p|› d�“d|“d|“d|pd“dt          |                     d¦  «        pd¦  «        pd“dd“dt          |                     d¦  «        pd¦  «        “d|                     d¦  «        p|                     d¦  «        “d|                     d¦  «        p|                     d¦  «        “d|                     d¦  «        “dt          |                     d¦  «        pO|                      |                     d¦  «        |                     d¦  «        |                     d¦  «        ¦  «        ¦  «        “d |                     d ¦  «        p|                     d ¦  «        “d|
“d!|                     d"¦  «        r#t          |                     d"¦  «        ¦  «        gng “d#|                      |¦  «        “d$|                      |¦  «        “d%|
d&v “d'|                     d(¦  «        “d)|                     d*¦  «        p|                     d+¦  «        “d,|                     d-¦  «        p|                     d.¦  «        “d/|  	                    |                     d/¦  «        |                     d¦  «        |                     d0¦  «        |                     d1¦  «        d2œ¦  «        “Ž¦  «         �Œ �nÿ|                     t          d<i d
|› d3�“d|› d3�“d|“d|“d|pd“dt          |                     d¦  «        pd¦  «        pd“dd4“dd5|                     d¦  «        pd6› �“d|                     d¦  «        “d|                     d¦  «        “dd“d|                      |                     d¦  «        |                     d¦  «        |                     d¦  «        ¦  «        “d |                     d ¦  «        “dd	“d!|                     d"¦  «        r#t          |                     d"¦  «        ¦  «        gng “d#|                      |¦  «        “d$|                      |¦  «        “d%d7“d'd“d)|                     d+¦  «        “d,|                     d8¦  «        “d/|  	                    |                     d/¦  «        |                     d¦  «        |                     d0¦  «        d9d:œ¦  «        “Ž¦  «         | 
                    |                      |||¬;¦  «        ¦  «         �Œ•|S )=z;Map one review session into operational action queue items.Úproject_codeÚ Ú	review_idÚfindings)r   ÚfindingÚassignmentsÚassignment_idÚstatusÚpendingÚ	action_idz:assignmentÚaction_codeÚcase_idÚreview_session_idNÚfinding_codeÚaction_typeÚassignment_follow_upÚtitleu   Theo dÃµi bá»• sung há»“ sÆ¡ÚdescriptionÚassignment_noteÚowner_department_codeÚassigned_department_codeÚresponsible_department_codeÚowner_employee_codeÚassigned_employee_codeÚpriorityÚseverityÚimpact_levelÚis_blockingÚdue_dateÚdependency_refsÚ
finding_idÚexpected_outcomeÚsuccess_criteriaÚrequires_human_confirmation>   Ú	submittedÚpending_verificationÚcompletion_noteÚlatest_submission_noteÚ
created_atÚaccepted_atÚdetected_atÚcompleted_atÚverified_atÚ	closed_atÚmetadataÚsupplement_statusÚassigned_by_employee_code)Úfinding_statusr<   r=   z:triageÚtriageu   PhÃ¢n cÃ´ng xá»­ lÃ½: zDossier findingTÚresolved_atÚunassigned_finding)r>   r<   Úsource)r
   r   r   © )ÚstrÚgetÚ_ensure_listÚ_build_case_idÚappendr   Ú_derive_priorityÚ_build_expected_outcomeÚ_build_success_criteriaÚ_merge_metadataÚextendÚ_build_post_completion_actions)Úselfr
   Úitemsr   r   r   r   r   Ú
assignmentr   r   s              úMC:\Projects\DSCons\app\services\operations_case_management\actions_builder.pyÚ_build_actions_from_sessionz/ActionsBuilderMixin._build_actions_from_session   sk  € ð -/ˆÝ˜7Ÿ;š; ~Ñ6Ô6Ð<¸"Ñ=Ô=ˆÝ˜Ÿš KÑ0Ô0Ð6°BÑ7Ô7ˆ	à×(Ò(¨¯ª°ZÑ)@Ô)@ÑAÔAð q	ñ q	ˆGØ×)Ò)°IÀwÐ)ÑOÔOˆGØ×+Ò+¨G¯KªK¸Ñ,FÔ,FÑGÔGˆKàñ eØ"-ð :ñ :�JÝ$'¨
¯ª°Ñ(GÔ(GÐ(MÈ2Ñ$NÔ$N�MÝ  §¢°Ñ!9Ô!9Ð!F¸YÑGÔG�FØ—L’LÝ,ð 5ð 5ð 5Ø&3Ð&N¸'Ð7NÐ7NÐ7Nøð5à(5Ð(P¸GÐ9PÐ9PÐ9Pøð5ð %, Gð5ð *6¨ð	5ð
 /8Ð.?¸4øð5õ *-¨W¯[ª[¸Ñ-HÔ-HÐ-NÈBÑ)OÔ)OÐ)WÐSWøð5ð )?Ð(>ð5õ #& g§k¢k°'Ñ&:Ô&:Ð&\Ð>\Ñ"]Ô"]Ð"]ð5ð )3¯ªÐ7HÑ(IÔ(Ið ):Ø&Ÿ{š{¨=Ñ9Ô9øð5ð 3=·.².Ø :ñ3ô 3ð 3Jð  'Ÿ{š{Ð+HÑIÔIøð5ð 1;·²Ø 8ñ1ô 1ð 1ð5õ$ &)Ø *§¢¨zÑ :Ô :ð !"Ø#'×#8Ò#8Ø$+§K¢K°
Ñ$;Ô$;Ø$+§K¢K°Ñ$?Ô$?Ø$+§K¢K°Ñ$>Ô$>ñ$"ô $"ñ&ô &ð &ð%5ð4 &0§^¢^°JÑ%?Ô%?ð &7Ø&Ÿ{š{¨:Ñ6Ô6øð75ð8 $* 6ð95ð<  'Ÿ{š{¨<Ñ8Ô8ð-$­S°·²¸\Ñ1JÔ1JÑ-KÔ-KÐ,LÐ,Là!#øð?5ð@ .2×-IÒ-IÈ'Ñ-RÔ-RÐ-RðA5ðB .2×-IÒ-IÈ'Ñ-RÔ-RÐ-RðC5ðD 9?ØDð9Eð 9EðE5ðH -7¯NªNÐ;SÑ,TÔ,TÐ,TðI5ðJ (2§~¢~°mÑ'DÔ'Dð (:Ø&Ÿ{š{¨=Ñ9Ô9øðM5ðN *4¯ª¸Ñ)FÔ)Fð *;Ø)Ÿ~š~¨kÑ:Ô:øðQ5ðR &*×%9Ò%9Ø *§¢¨zÑ :Ô :à6=·k²kÀ(Ñ6KÔ6KØ9@¿ºØ(;ñ:&ô :&ð BLÇÂØ(CñB&ô B&ð!"ð !"ñ&ô &ð &ðS5ñ7ô 7ð 7ñ 7ñ:ðx —’Ý(ð &ð &ð &Ø%,Ð"5Ð"5Ð"5Ð"5ð&à'.Ð$7Ð$7Ð$7Ð$7ð&ð !( ð&ð &2 \ð	&ð
 +4Ð*;°tøð&õ &)¨¯ª°^Ñ)DÔ)DÐ)JÈÑ%KÔ%KÐ%SÈtøð&ð %- Hð&ð c°w·{²{À7Ñ7KÔ7KÐ7`ÐO`ÐbÐbÐbð&ð %,§K¢K°Ñ$>Ô$>Ð$>ð&ð /6¯kªkØ9ñ/ô /ð /ð&ð -1¨Dð&ð "&×!6Ò!6Ø#ŸKšK¨
Ñ3Ô3Ø#ŸKšK¨Ñ7Ô7Ø#ŸKšK¨Ñ6Ô6ñ"ô "ð "ð&ð& ")§¢¨ZÑ!8Ô!8Ð!8ð'&ð(  )˜yð)&ð, #Ÿ;š; |Ñ4Ô4ð) ­¨W¯[ª[¸Ñ-FÔ-FÑ)GÔ)GÐ(HÐ(Hàøð/&ð0 *.×)EÒ)EÀgÑ)NÔ)NÐ)Nð1&ð2 *.×)EÒ)EÀgÑ)NÔ)NÐ)Nð3&ð4 59°Dð5&ð6 )-¨ð7&ð8 $+§;¢;¨}Ñ#=Ô#=Ð#=ð9&ð: &-§[¢[°Ñ%?Ô%?Ð%?ð;&ð< "&×!5Ò!5Ø#ŸKšK¨
Ñ3Ô3à29·+²+¸hÑ2GÔ2GØ5<·[²[ÐATÑ5UÔ5UØ*>ðð ñ"ô "ð "ð=&ñ(ô (ð (ðT �LŠLØ×3Ò3Ø#Ø#Ø#ð 4ñ ô ñô ð ñ ð ˆó    N)r
   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__rS   rC   rT   rR   r	   r	      s4   € € € € € Ø5Ð5ð{ð {ð {ð {ð {ð {rT   r	   N)	Ú
__future__r   Útypingr   Úapp.models.schemasr   Úactions_post_completionr   r	   rC   rT   rR   ú<module>r]      s�   ðØ "Ð "Ð "Ð "Ð "Ð "à 0à Ð Ð Ð Ð Ð à 3Ð 3Ð 3Ð 3Ð 3Ð 3à ?Ð ?Ð ?Ð ?Ð ?Ð ?ð~ð ~ð ~ð ~ð ~Ð4ñ ~ô ~ð ~ð ~ð ~rT   