§
    kp•j%  ã                   ón   — d dl Z d dlmZ d dlmZ d dlmZ d dlmZm	Z	  e j
        e¦  «        Zdefd„ZdS )é    N)ÚDecimal)Ú	event_bus)ÚBasePostgresClient)ÚReserveStockCommandÚReserveStockCommandHandlerÚpostgres_clientc                 ó€   ‡ — dt           fˆ fd„}t          j        d|¦  «         t                               d¦  «         d S )NÚpayloadc           	   “   óº  •K  — |                       d¦  «        }|                       d¦  «        }|r|sdS t                               d|› d|› d�¦  «         t          |dt	          t          |¦  «        ¦  «        ¬¦  «        }t          ‰¦  «        }	 |                     |¦  «         dS # t          $ r(}t           	                    d	|› �¦  «         Y d}~dS d}~ww xY w)
u°   
        Xá»­ lÃ½ khi bÃ³c tÃ¡ch khá»‘i lÆ°á»£ng (Takeoff) Ä‘Æ°á»£c phÃª duyá»‡t.
        Sáº½ tá»± Ä‘á»™ng gá»­i yÃªu cáº§u giá»¯ chá»— (Reserve) váº­t tÆ° trong kho.
        Úmaterial_codeÚquantityNuL   [Inventory Module] Nháº­n Ä‘Æ°á»£c TakeoffApproved event. Ä�ang giá»¯ chá»— z cho z...ÚMAIN)r   Úwarehouse_idr   u4   [Inventory Module] Lá»—i khi giá»¯ chá»— váº­t tÆ°: )
ÚgetÚloggerÚinfor   r   Ústrr   ÚhandleÚ	ExceptionÚerror)r
   r   r   ÚcommandÚhandlerÚer   s         €úWC:\Projects\DSCons\app\modules\inventory\application\subscribers\takeoff_subscribers.pyÚon_takeoff_approvedz8setup_inventory_subscribers.<locals>.on_takeoff_approved   s+  øè è € ð
  Ÿš OÑ4Ô4ˆØ—;’;˜zÑ*Ô*ˆàð 	 Hð 	ØˆFå�Šð  EÐckð  Eð  EÐrð  Eð  Eð  Eñ  	Fô  	Fð  	Få%Ø'ØÝ�S ™]œ]Ñ+Ô+ð
ñ 
ô 
ˆõ -¨_Ñ=Ô=ˆð	UØ�NŠN˜7Ñ#Ô#Ð#Ð#Ð#øÝð 	Uð 	Uð 	UÝ�LŠLÐSÐPQÐSÐSÑTÔTÐTÐTÐTÐTÐTÐTÐTøøøøð	Uøøøs   ÂB( Â(
CÂ2CÃCÚTakeoffApprovedIntegrationEventuN   [Inventory Module] Ä�Ã£ Ä‘Äƒng kÃ½ láº¯ng nghe TakeoffApprovedIntegrationEvent)Údictr   Ú	subscriber   r   )r   r   s   ` r   Úsetup_inventory_subscribersr   	   s_   ø€ ðU­4ð Uð Uð Uð Uð Uð Uõ4 ÔÐ9Ð;NÑOÔOÐOÝ
‡K‚KÐ`ÑaÔaÐaÐaÐaó    )ÚloggingÚdecimalr   Ú#app.core.module_framework.event_busr   Ú&app.core.postgres.base_pkg.base_clientr   Ú*app.modules.inventory.application.commandsr   r   Ú	getLoggerÚ__name__r   r   © r    r   ú<module>r)      s›   ðØ €€€Ø Ð Ð Ð Ð Ð Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø EÐ EÐ EÐ EÐ EÐ EØ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fà	ˆÔ	˜8Ñ	$Ô	$€ðbÐ1Cð bð bð bð bð bð br    