§
    t�’j<  ã                  ó&  — d dl mZ d dlmZ d dlmZ d dlmZmZ  ed¦  «        Z	e	 
                    dd¬¦  «          G d„ d	e¦  «        Z G d
„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        ZdS )é    )Úannotations)ÚPath)ÚAny)Ú	BaseModelÚFieldzstorage/secure_vaultT)ÚparentsÚexist_okc                  óŽ   — e Zd ZU dZded<   dZded<   dZded<   dZded<   dZded<   dZ	ded<   dZ
d	ed
<   dZd	ed<   dZd	ed<   dS )ÚTakeoffItemUpdateRequestNú
str | NoneÚ	item_nameÚwbs_codeÚ	norm_codeÚcategoryÚdimension_formulaÚunitúfloat | NoneÚquantityÚunit_price_vndÚtotal_amount_vnd)Ú__name__Ú
__module__Ú__qualname__r   Ú__annotations__r   r   r   r   r   r   r   r   © ó    ú>C:\Projects\DSCons\app\modules\takeoff\presentation\schemas.pyr   r      s­   € € € € € € Ø €IÐ Ð Ð Ñ Ø€HÐÐÐÑØ €IÐ Ð Ð Ñ Ø€HÐÐÐÑØ$(ÐÐ(Ð(Ð(Ñ(Ø€DÐÐÐÑØ!€HÐ!Ð!Ð!Ñ!Ø#'€NÐ'Ð'Ð'Ñ'Ø%)ÐÐ)Ð)Ð)Ñ)Ð)Ð)r   r   c                  ó4   — e Zd ZU  edd¬¦  «        Zded<   dS )ÚSyncWbsRequest.u(   ID cá»§a Dá»± Ã�n cáº§n Ä‘á»“ng bá»™ WBS©ÚdescriptionÚstrÚ
project_idN)r   r   r   r   r#   r   r   r   r   r   r      s3   € € € € € € Ø�e˜CÐ-WÐXÑXÔX€JÐXÐXÐXÑXÐXÐXr   r   c                  óÔ   — e Zd ZU  edd¬¦  «        Zded<    edd¬¦  «        Zded<    edd	¬¦  «        Zd
ed<    edd¬¦  «        Zd
ed<    edd¬¦  «        Z	ded<   dd„Z
dd„ZdS )ÚChatTrainRequestNuX   Ná»™i dung Ã½ kiáº¿n chá»‰ Ä‘áº¡o, pháº£n há»“i sai sÃ³t hoáº·c quy táº¯c huáº¥n luyá»‡nr    r   Úmessageu#   TÃªn tÆ°Æ¡ng Ä‘Æ°Æ¡ng cá»§a messageÚfeedback_messageFuY   Tá»± Ä‘á»™ng Ã¡p dá»¥ng danh má»¥c hiá»‡u chá»‰nh vÃ o báº£ng BoQ chÃ­nh ngay láº­p tá»©cÚboolÚ
auto_applyu&   TÃªn tÆ°Æ¡ng Ä‘Æ°Æ¡ng cá»§a auto_applyÚauto_apply_correctionsõ   Ká»¹ SÆ° TrÆ°á»Ÿng QSu*   Vai trÃ² cá»§a ngÆ°á»�i gá»­i pháº£n há»“ir"   Úsender_roleÚreturnc                óF   — | j         p| j        pd                     ¦   «         S ©NÚ )r&   r'   Ústrip©Úselfs    r   Úget_messagezChatTrainRequest.get_message/   s#   € Ø”Ð; Ô 5Ð;¸×BÒBÑDÔDÐDr   c                ó8   — t          | j        p| j        ¦  «        S ©N)r(   r)   r*   r2   s    r   Úshould_auto_applyz"ChatTrainRequest.should_auto_apply2   s   € Ý�D”OÐB tÔ'BÑCÔCÐCr   ©r-   r"   )r-   r(   )r   r   r   r   r&   r   r'   r)   r*   r,   r4   r7   r   r   r   r%   r%      sB  € € € € € € Ø˜%ØØnðñ ô €Gð ð ð ñ ð $) 5ØÐ?ð$ñ $ô $Ðð ð ð ñ ð �uØØoðñ ô €Jð ð ð ñ ð $) 5ØÐCð$ñ $ô $Ðð ð ð ñ ð �uØÐ-Yðñ ô €Kð ð ð ñ ðEð Eð Eð EðDð Dð Dð Dð Dð Dr   r%   c                  ó„   — e Zd ZU  edd¬¦  «        Zded<    edd¬¦  «        Zded<    edd	¬¦  «        Zded
<   dd„ZdS )ÚApplyChatCorrectionsRequestNu)   ID tin nháº¯n Ä‘á»� xuáº¥t hiá»‡u chá»‰nhr    r   Ú
message_idu-   Danh sÃ¡ch cÃ¡c dÃ²ng BoQ Ä‘Æ°á»£c Ã¡p dá»¥ngzlist[dict[str, Any]] | NoneÚsuggested_itemsu+   TÃªn tÆ°Æ¡ng Ä‘Æ°Æ¡ng cá»§a suggested_itemsÚsuggested_boq_itemsr-   úlist[dict[str, Any]]c                ó"   — | j         p| j        pg S r6   )r<   r=   r2   s    r   Ú	get_itemsz%ApplyChatCorrectionsRequest.get_items?   s   € ØÔ#ÐE tÔ'?ÐEÀ2ÐEr   )r-   r>   )	r   r   r   r   r;   r   r<   r=   r@   r   r   r   r:   r:   6   s´   € € € € € € Ø"˜U 4Ð5`ÐaÑaÔa€JÐaÐaÐaÑaØ38°5ØÐIð4ñ 4ô 4€Oð ð ð ñ ð 8=°uØÐGð8ñ 8ô 8Ðð ð ð ñ ðFð Fð Fð Fð Fð Fr   r:   c                  ó�  — e Zd ZU  edd¬¦  «        Zded<    edd¬¦  «        Zded<    ed	d
¬¦  «        Zded<    ed	d¬¦  «        Zded<    ed	d¬¦  «        Z	ded<    ed	d¬¦  «        Z
ded<    ed	d¬¦  «        Zded<    ed	d¬¦  «        Zded<    edd¬¦  «        Zded<    edd¬¦  «        Zded<   d"d„Zd"d „Zd"d!„Zd	S )#ÚLearnedRuleCreateRequestÚgeneralu   Loáº¡i cÃ´ng trÃ¬nh Ã¡p dá»¥ngr    r"   Údrawing_typeÚallu   NhÃ³m cÃ´ng tÃ¡cr   Nu   TÃªn tÆ°Æ¡ng Ä‘Æ°Æ¡ng categoryr   Úrule_categoryu   Dáº¡ng sai sÃ³t phÃ¡t hiá»‡nÚerror_patternu#   TÃªn tÆ°Æ¡ng Ä‘Æ°Æ¡ng error_patternÚtrigger_patternu   TiÃªu Ä‘á»� quy táº¯cÚ
rule_titleu2   Quy táº¯c Ä‘á»‹nh má»©c / kinh nghiá»‡m bÃ³c tÃ¡chÚcorrection_ruleu%   TÃªn tÆ°Æ¡ng Ä‘Æ°Æ¡ng correction_ruleÚcorrection_directiver+   u   NgÆ°á»�i táº¡oÚcreated_by_roleg      ð?u   Trá»�ng sá»‘ tin cáº­yÚfloatÚconfidence_weightr-   c                ó"   — | j         p| j        pdS )NrE   )r   rF   r2   s    r   Úget_categoryz%LearnedRuleCreateRequest.get_categoryU   s   € ØŒ}Ð; Ô 2Ð;°eÐ;r   c                ó0   — | j         p| j        p| j        pdS r/   )rG   rH   rI   r2   s    r   Úget_error_patternz*LearnedRuleCreateRequest.get_error_patternX   s    € ØÔ!ÐR TÔ%9ÐR¸T¼_ÐRÐPRÐRr   c                ó"   — | j         p| j        pdS r/   )rJ   rK   r2   s    r   Úget_correction_rulez,LearnedRuleCreateRequest.get_correction_rule[   s   € ØÔ#ÐF tÔ'@ÐFÀBÐFr   r8   )r   r   r   r   rD   r   r   rF   rG   rH   rI   rJ   rK   rL   rN   rP   rR   rT   r   r   r   rB   rB   C   sÜ  € € € € € € Ø˜˜iÐ5UÐVÑVÔV€LÐVÐVÐVÑVØ�E˜%Ð-?Ð@Ñ@Ô@€HÐ@Ð@Ð@Ñ@Ø %  dÐ8XÐ YÑ YÔ Y€MÐYÐYÐYÑYØ %  dÐ8VÐ WÑ WÔ W€MÐWÐWÐWÑWØ"' %ØÐ?ð#ñ #ô #€Oð ð ð ñ ð #˜U 4Ð5LÐMÑMÔM€JÐMÐMÐMÑMØ"' %ØÐNð#ñ #ô #€Oð ð ð ñ ð (- uØÐAð(ñ (ô (Ðð ð ð ñ ð !˜5Ð!8ÐFVÐWÑWÔW€OÐWÐWÐWÑWØ$˜u SÐ6NÐOÑOÔOÐÐOÐOÐOÑOð<ð <ð <ð <ðSð Sð Sð SðGð Gð Gð Gð Gð Gr   rB   c                  óX   — e Zd ZU  edd¬¦  «        Zded<    edd¬¦  «        Zded<   dS )ÚItemQuantitiesUpdateRequestNu7   Khá»‘i lÆ°á»£ng HSMT / TiÃªn lÆ°á»£ng má»�i tháº§u CÄ�Tr    r   Úhsmt_quantityu4   Khá»‘i lÆ°á»£ng thá»±c táº¿ thi cÃ´ng / Nghiá»‡m thuÚactual_quantity)r   r   r   r   rW   r   rX   r   r   r   rV   rV   _   sx   € € € € € € Ø"' %ØÐSð#ñ #ô #€Mð ð ð ñ ð %* EØÐPð%ñ %ô %€Oð ð ð ñ ð ð r   rV   N)Ú
__future__r   Úpathlibr   Útypingr   Úpydanticr   r   ÚSTORAGE_VAULTÚmkdirr   r   r%   r:   rB   rV   r   r   r   ú<module>r_      s¢  ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à %Ð %Ð %Ð %Ð %Ð %Ð %Ð %à�Ð+Ñ,Ô,€Ø × Ò ˜D¨4Ð Ñ 0Ô 0Ð 0ð	*ð 	*ð 	*ð 	*ð 	*˜yñ 	*ô 	*ð 	*ðYð Yð Yð Yð Y�Yñ Yô Yð YðDð Dð Dð Dð D�yñ Dô Dð Dð4
Fð 
Fð 
Fð 
Fð 
F )ñ 
Fô 
Fð 
FðGð Gð Gð Gð G˜yñ Gô Gð Gð8ð ð ð ð  )ñ ô ð ð ð r   