§
     ’jä  ã                   óh  — d dl Z d dlmZmZmZ d dlmZmZ d dlm	Z	  e j
        e¦  «        Z eddg¬¦  «        Z e	¦   «         Z G d„ d	e¦  «        Ze                     d
¦  «         edd¬¦  «         edd¬¦  «         edd¬¦  «         edd¬¦  «         eddd¬¦  «         edddd¬¦  «        fdedz  dedededz  dedefd„¦   «         Ze                     d¦  «        d efd!„¦   «         Ze                     d"¦  «        d#„ ¦   «         Ze                     d¦  «        d ed$efd%„¦   «         ZdS )&é    N)Ú	APIRouterÚHTTPExceptionÚQuery)Ú	BaseModelÚField)ÚPartnerServicez/api/v1/partnerszPartners & Customers)ÚprefixÚtagsc                   ó6  — e Zd ZU  edd¬¦  «        Zedz  ed<    edd¬¦  «        Zedz  ed<    edd¬¦  «        Zedz  ed<    edd	¬¦  «        Z	edz  ed
<    edd¬¦  «        Z
edz  ed<    edd¬¦  «        Zedz  ed<    edd¬¦  «        Zedz  ed<   dS )ÚPartnerUpdatePayloadNu'   TÃªn viáº¿t táº¯t / tÃªn thÆ°Æ¡ng máº¡i©ÚdescriptionÚ
short_nameu   Sá»‘ Ä‘iá»‡n thoáº¡i liÃªn há»‡Úphoneu   Email giao dá»‹chÚemailu5   NgÆ°á»�i Ä‘áº¡i diá»‡n theo phÃ¡p luáº­t / liÃªn há»‡Úrepresentative_nameu?   Ä�Ã¡nh dáº¥u Ä‘á»‘i tÃ¡c há»£p tÃ¡c / liÃªn danh / tháº§u phá»¥Ú
is_partneru*   Tráº¡ng thÃ¡i (active, inactive, archived)Ústatusu   Ghi chÃº ná»™i bá»™Únotes)Ú__name__Ú
__module__Ú__qualname__r   r   ÚstrÚ__annotations__r   r   r   r   Úboolr   r   © ó    ú*C:\Projects\DSCons\app\routers\partners.pyr   r      s<  € € € € € € Ø"˜U 4Ð5^Ð_Ñ_Ô_€J��d‘
Ð_Ð_Ñ_Ø˜˜dÐ0QÐRÑRÔR€Eˆ3�‰:ÐRÐRÑRØ˜˜dÐ0CÐDÑDÔD€Eˆ3�‰:ÐDÐDÑDØ&+ eØÐQð'ñ 'ô 'Ð˜˜t™ð ð ñ ð $˜eØÐ[ðñ ô €J��t‘ð ð ñ ð ˜ØÐFðñ ô €FˆC�$‰Jð ð ñ ð ˜˜dÐ0EÐFÑFÔF€Eˆ3�‰:ÐFÐFÑFÐFÐFr   r   Ú u@   TÃ¬m kiáº¿m theo MST, TÃªn cÃ´ng ty, Ä�á»‹a chá»‰, Ä�áº¡i diá»‡nr   Úallu;   Bá»™ lá»�c vai trÃ²: 'all', 'customer', 'partner', 'vendor'u6   Bá»™ lá»�c loáº¡i: 'all', 'organization', 'individual'uD   Chá»‰ láº¥y cÃ¡c Ä‘Æ¡n vá»‹ cÃ³ lá»‹ch sá»­ Ä‘á»•i tÃªn/Ä‘á»‹a chá»‰é   u
   Trang sá»‘)Úger   é2   éÈ   u)   Sá»‘ lÆ°á»£ng báº£n ghi trÃªn má»™t trang)r"   Úler   ÚsearchÚroleÚcategoryÚhas_historyÚpageÚlimitc                 óâ   — 	 t                                | |||||¬¦  «        S # t          $ rB}t                               d|› �d¬¦  «         t          dt          |¦  «        ¬¦  «        ‚d}~ww xY w)u¥   
    Láº¥y danh sÃ¡ch Ä�á»‘i TÃ¡c, KhÃ¡ch HÃ ng & NhÃ  Cung Cáº¥p.
    Há»— trá»£ tÃ¬m kiáº¿m nhanh, lá»�c theo vai trÃ² vÃ  phÃ¢n loáº¡i phÃ¡p nhÃ¢n/cÃ¡ nhÃ¢n.
    )r&   Úrole_filterÚcategory_filterr)   r*   r+   zError fetching partners list: T©Úexc_infoéô  ©Ústatus_codeÚdetailN)Úpartner_serviceÚget_partnersÚ	ExceptionÚloggerÚerrorr   r   )r&   r'   r(   r)   r*   r+   Úes          r   Úlist_partnersr;      s�   € ð*<Ý×+Ò+ØØØ$Ø#ØØð ,ñ 
ô 
ð 	
øõ ð <ð <ð <Ý�ŠÐ9°aÐ9Ð9ÀDˆÑIÔIÐIÝ¨µC¸±F´FÐ;Ñ;Ô;Ð;øøøøð<øøøs   ‚" ¢
A.¬=A)Á)A.z/{partner_id}Ú
partner_idc                 ó  — 	 t                                | ¦  «        }|st          dd¬¦  «        ‚|S # t          $ r ‚ t          $ rE}t                               d| › d|› �d¬¦  «         t          dt          |¦  «        ¬¦  «        ‚d	}~ww xY w)
u  
    Láº¥y thÃ´ng tin chi tiáº¿t má»™t Ä‘á»‘i tÃ¡c/khÃ¡ch hÃ ng, kÃ¨m:
    - ToÃ n bá»™ dÃ²ng thá»�i gian lá»‹ch sá»­ thay Ä‘á»•i tÃªn vÃ  Ä‘á»‹a chá»‰
    - Danh sÃ¡ch hÃ³a Ä‘Æ¡n liÃªn quan (Ä‘áº§u vÃ o & Ä‘áº§u ra)
    - Danh sÃ¡ch dá»± Ã¡n xÃ¢y láº¯p liÃªn káº¿t
    é”  u6   KhÃ´ng tÃ¬m tháº¥y thÃ´ng tin Ä‘á»‘i tÃ¡c/khÃ¡ch hÃ ngr2   z"Error fetching partner detail for ú: Tr/   r1   N)r5   Úget_partner_detailr   r7   r8   r9   r   )r<   Údatar:   s      r   r@   r@   B   sÅ   € ð<Ý×1Ò1°*Ñ=Ô=ˆØð 	ÝØÐ(`ðñ ô ð ð ˆøÝð ð ð ØÝð <ð <ð <Ý�ŠØB°ÐBÐB¸qÐBÐBÈTð 	ñ 	
ô 	
ð 	
õ ¨µC¸±F´FÐ;Ñ;Ô;Ð;øøøøð	<øøøs   ‚.1 ±B
ÁA BÂB
z/extract-from-invoicesc                  óØ   — 	 t                                ¦   «         } | S # t          $ rB}t                               d|› �d¬¦  «         t          dt          |¦  «        ¬¦  «        ‚d}~ww xY w)uy   
    KÃ­ch hoáº¡t quÃ©t vÃ  Ä‘á»“ng bá»™ láº¡i danh má»¥c Ä‘á»‘i tÃ¡c tá»« 100% hÃ³a Ä‘Æ¡n Ä‘iá»‡n tá»­ thá»±c táº¿.
    z)Error extracting partners from invoices: Tr/   r1   r2   N)r5   Ú+extract_and_sync_all_partners_from_invoicesr7   r8   r9   r   r   )Úresr:   s     r   Útrigger_extract_from_invoicesrE   Z   st   € ð
<Ý×IÒIÑKÔKˆØˆ
øÝð <ð <ð <Ý�ŠÐDÀÐDÐDÈtˆÑTÔTÐTÝ¨µC¸±F´FÐ;Ñ;Ô;Ð;øøøøð<øøøs   ‚ �
A)§=A$Á$A)Úpayloadc                 óH  — 	 |                      d¬¦  «        }t                               | |¦  «        }|st          dd¬¦  «        ‚|S # t          $ r ‚ t          $ rE}t
                               d| › d|› �d¬¦  «         t          d	t          |¦  «        ¬¦  «        ‚d
}~ww xY w)u�   
    Cáº­p nháº­t thÃ´ng tin bá»• sung Ä‘á»‘i tÃ¡c (SÄ�T, Email, NgÆ°á»�i Ä‘áº¡i diá»‡n, Ghi chÃº, Ä�Ã¡nh dáº¥u Ä‘á»‘i tÃ¡c há»£p tÃ¡c).
    T)Úexclude_unsetr>   u)   KhÃ´ng tÃ¬m tháº¥y thÃ´ng tin Ä‘á»‘i tÃ¡cr2   zError updating partner r?   r/   r1   N)Ú
model_dumpr5   Úupdate_partnerr   r7   r8   r9   r   )r<   rF   ÚupdatesrD   r:   s        r   rJ   rJ   g   sÒ   € ð
<Ø×$Ò$°4Ð$Ñ8Ô8ˆÝ×,Ò,¨Z¸ÑAÔAˆØð 	ÝØÐ(Sðñ ô ð ð ˆ
øÝð ð ð ØÝð <ð <ð <Ý�ŠÐ@¨zÐ@Ð@¸QÐ@Ð@È4ˆÑPÔPÐPÝ¨µC¸±F´FÐ;Ñ;Ô;Ð;øøøøð<øøøs   ‚AA ÁB!ÁA BÂB!)ÚloggingÚfastapir   r   r   Úpydanticr   r   Ú0app.modules.partners.application.partner_servicer   Ú	getLoggerr   r8   Úrouterr5   r   Úgetr   r   Úintr;   r@   ÚpostrE   ÚpatchrJ   r   r   r   ú<module>rV      sp  ðØ €€€à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø %Ð %Ð %Ð %Ð %Ð %Ð %Ð %à KÐ KÐ KÐ KÐ KÐ Kà	ˆÔ	˜8Ñ	$Ô	$€à	ˆÐ,Ð4JÐ3KÐ	LÑ	LÔ	L€à �.Ñ"Ô"€ðGð Gð Gð Gð G˜9ñ Gô Gð Gð  ‡‚ˆB�„à˜ØÐ\ðñ ô ð �ØÐXðñ ô ð �EØÐSðñ ô ð  %˜uØÐ`ð ñ  ô  ð ��a˜A¨<Ð8Ñ8Ô8Ø��r˜a CÐ5`ÐaÑaÔað<ð <Ø�$‰Jð<ð ð	<ð ð<ð ˜‘ð<ð ð<ð ð<ð <ð <ñ „ð<ðD ‡‚ˆOÑÔð< 3ð <ð <ð <ñ Ôð<ð. ‡‚Ð%Ñ&Ô&ð	<ð 	<ñ 'Ô&ð	<ð ‡‚ˆoÑÔð<˜sð <Ð-Að <ð <ð <ñ Ôð<ð <ð <r   