§
     ’jï,  ã                  óT   — d dl mZ d dlZ ej        d¦  «        Z G d„ d¦  «        ZdS )é    )ÚannotationsNzdscons.telegram.commandsc                  ó"   — e Zd ZdZ	 	 	 ddd„ZdS )ÚTelegramCommandHandlersMixinz4Interactive command routing and response generators.õ   Ká»¹ SÆ°Údefault_chatNÚcommand_textÚstrÚ	user_nameÚchat_idÚ
project_idú
str | NoneÚreturnc              ƒ  óB  K  — |                      ¦   «         }|                     ¦   «         }|                     d¦  «        rd|› d�S |                     d¦  «        r	 dS |                     d¦  «        s|                     d¦  «        rodd	lm}  |¦   «                              ¦   «         }|j        d
›d�}	|j        d
›d�}
|j        j	        d
›d�}|j
        d›d�}d|	› d|
› d|› d|› d|j        j        › d�S |                     d¦  «        s|                     d¦  «        r$|dd…                               ¦   «         pd}d|› d�S |                     d¦  «        s|                     d¦  «        r5ddlm}  |¦   «                              ¦   «         }d|j        › d|j        › d �S |                     d!¦  «        s|                     d"¦  «        rFdd#lm}  |¦   «                              ¦   «         }d$|j        › d%|j        › d&|j        › d'|j        d
›d(�	S |                     d)¦  «        s|                     d*¦  «        r	 d+S |                     d,¦  «        s|                     d-¦  «        r	 d.S |                     d/¦  «        s|                     d0¦  «        r	 d1S |                     d2¦  «        r´|d3d…                               ¦   «         }|sd4S |pd5}| j                             ||¬6¦  «        }|                     d7d8¦  «        }d9|                     d:¦  «        › d;|                     d<¦  «        › d=|                     d>¦  «        › d?|                     d@¦  «        › dA|› dB�S |                     dC¦  «        r&|dDd…                               ¦   «         }|sdES dF|› dG�S dHS )Iz:Process incoming chat commands from engineers or managers.z/startu   ðŸ‘‹ <b>Xin chÃ o uF  !</b>

ChÃ o má»«ng báº¡n Ä‘áº¿n vá»›i <b>Bot Ä�iá»�u HÃ nh Hiá»‡n TrÆ°á»�ng & Trá»£ LÃ½ ERP DSCons</b>.

ðŸ“Œ <b>CÃ¡c lá»‡nh Ä‘iá»�u hÃ nh nhanh:</b>
 â€¢ <code>/duan</code>: Tra cá»©u danh má»¥c dá»± Ã¡n & tiáº¿n Ä‘á»™ WBS
 â€¢ <code>/nhatky [ná»™i dung]</code>: Ghi nháº­t kÃ½ thi cÃ´ng báº±ng AI
 â€¢ <code>/camay</code>: Kiá»ƒm tra danh má»¥c mÃ¡y mÃ³c & ca mÃ¡y
 â€¢ <code>/hoadon</code>: TÃ³m táº¯t hÃ³a Ä‘Æ¡n Ä‘iá»‡n tá»­ & chi phÃ­
 â€¢ <code>/ai [cÃ¢u há»�i]</code>: Há»�i Ä‘Ã¡p Luáº­t XÃ¢y dá»±ng 2026 & Ká»¹ thuáº­t
 â€¢ <code>/help</code>: Xem danh sÃ¡ch hÆ°á»›ng dáº«nz/helpu[  ðŸ“– <b>HÆ¯á»šNG DáºªN Sá»¬ Dá»¤NG TELEGRAM SUITE DSCONS</b>

1ï¸�âƒ£ <b>Ghi nháº­t kÃ½ giá»�ng nÃ³i/vÄƒn báº£n:</b>
GÃµ: <code>/nhatky CÃ´ng trÆ°á»�ng náº¯ng 32 Ä‘á»™ 28 thá»£ 3 ca mÃ¡y Ä‘á»• bÃª tÃ´ng mÃ³ng M300</code>

2ï¸�âƒ£ <b>Láº­p phiáº¿u gá»�i váº­t tÆ° (MR) nhanh:</b>
GÃµ: <code>/vattu 45m3 cÃ¡t vÃ ng bÃ£i Ä‘Ãºc cá»‘ng Báº¿n Kem</code>

3ï¸�âƒ£ <b>Tra cá»©u dÃ²ng tiá»�n & War Room:</b>
GÃµ: <code>/warroom</code>

4ï¸�âƒ£ <b>Kiá»ƒm tra Ä‘á»‹nh má»©c tiÃªu hao xÄƒng dáº§u:</b>
GÃµ: <code>/telematics</code>

5ï¸�âƒ£ <b>Ä�á»‘i soÃ¡t hÃ³a Ä‘Æ¡n & vÃ© cÃ¢n (3-Way Match):</b>
GÃµ: <code>/doisoat</code>

6ï¸�âƒ£ <b>Tra cá»©u danh má»¥c dá»± Ã¡n & ca mÃ¡y:</b>
GÃµ: <code>/duan</code> hoáº·c <code>/camay</code>

7ï¸�âƒ£ <b>TÆ° váº¥n ká»¹ thuáº­t & Luáº­t 2026:</b>
GÃµ: <code>/ai Ä�á»‹nh má»©c ca mÃ¡y mÃ¡y Ä‘Ã o Komatsu PC200 lÃ  bao nhiÃªu?</code>z/warroomz	/taichinhr   )ÚFinancialWarRoomServicez,.0fu    â‚«z.1fú%ub   ðŸ’Ž <b>EXECUTIVE FINANCIAL WAR ROOM (4 TRá»¤ Cá»˜T):</b>

â€¢ <b>Tá»•ng Doanh Thu YTD:</b> <code>u.   </code>
â€¢ <b>Lá»£i Nhuáº­n Gá»™p:</b> <code>z	</code> (u'   )
â€¢ <b>Quá»¹ Tiá»�n RÃ²ng:</b> <code>u3   </code>
â€¢ <b>DÃ²ng Tiá»�n Dá»± PhÃ²ng:</b> <code>u†    NgÃ y An ToÃ n</code>

ðŸ“Š <i>4 Trá»¥ Cá»™t: Thi cÃ´ng XÃ¢y láº¯p | Xe Ben Logistics | Cho thuÃª MÃ¡y Ä‘Ã o | Mua bÃ¡n Váº­t tÆ°</i>z/vattuz/mré   Nu!   CÃ¡t vÃ ng Ä‘á»• bÃª tÃ´ng 45 mÂ³ue   ðŸ“¦ <b>Ä�Ãƒ KHá»žI Táº O PHIáº¾U YÃŠU Cáº¦U Cáº¤P Váº¬T TÆ¯ (MR):</b>

â€¢ <b>Ná»™i dung:</b> <code>u<  </code>
â€¢ <b>Dá»± Ã�n:</b> <code>DA-KM-BENKEM-2025-2026</code>
â€¢ <b>NgÆ°á»�i Láº­p:</b> <code>Ká»¹ sÆ° Pháº¡m VÄƒn TÃ¹ng</code>
â€¢ <b>Tráº¡ng ThÃ¡i:</b> ðŸŸ¡ <code>SUBMITTED (Chá»� Chá»‰ Huy TrÆ°á»Ÿng Duyá»‡t)</code>

ðŸ“² <i>Ä�Ã£ gá»­i thÃ´ng bÃ¡o xÃ¡c nháº­n Ä‘áº¿n bá»™ pháº­n kho & cung á»©ng váº­t tÆ°.</i>z/telematicsz
/nhienlieu)ÚFuelTelematicsServiceut   ðŸšœ <b>QUáº¢N LÃ� NHIÃŠN LIá»†U & Ä�á»ŠNH Má»¨C CA MÃ�Y (2026):</b>

â€¢ Tá»•ng thiáº¿t bá»‹ hoáº¡t Ä‘á»™ng: <code>u0    MÃ¡y</code>
â€¢ TiÃªu thá»¥ trung bÃ¬nh: <code>uÙ    LÃ­t/Giá»�</code>
â€¢ <b>Cáº£nh bÃ¡o vÆ°á»£t chuáº©n:</b> âš ï¸� <code>EXC-KOBELCO-02 (22.5 L/h - VÆ°á»£t 18.4%)</code>
â€¢ <b>Nháº¯c nhá»Ÿ Ä‘Äƒng kiá»ƒm:</b> ðŸš¨ <code>Xe ben Howo TRK-HOWO-01 (cÃ²n 12 ngÃ y)</code>z/doisoatz	/matching)ÚThreeWayMatchingServiceuz   âš–ï¸� <b>BÃ�O CÃ�O Ä�á»�I SOÃ�T 3 CHIá»€U (PO âŸ· VÃ‰ CÃ‚N âŸ· HÃ“A Ä�Æ N):</b>

â€¢ Tá»•ng hÃ³a Ä‘Æ¡n kiá»ƒm tra: <code>u<    HÃ³a Ä‘Æ¡n</code>
â€¢ Khá»›p ná»‘i hoÃ n háº£o 100%: <code>u`    HÄ� (CÃ¡t Trung KiÃªn)</code>
â€¢ Cáº£nh bÃ¡o lá»‡ch giÃ¡/lá»‡ch khá»‘i lÆ°á»£ng: âš ï¸� <code>uP    HÄ� (ThuÃª mÃ¡y Loan Kháº£i)</code>
â€¢ Tá»•ng giÃ¡ trá»‹ chÃªnh lá»‡ch: <code>u    â‚«</code>z/duanz	/projectsu�  ðŸ�—ï¸� <b>DANH Má»¤C Dá»° Ã�N Ä�ANG THI CÃ”NG (DSCons ERP):</b>

1. <b>PILOT-NAM-HK-2026</b> Â· Cá»¥m cáº¥p nÆ°á»›c & Tráº¡m bÆ¡m Nam HÆ°ng
   â€¢ Tiáº¿n Ä‘á»™ WBS: <code>68%</code> Â· SPI: <code>1.04</code> (Ä�Ãºng tiáº¿n Ä‘á»™)
   â€¢ Chi phÃ­ EVM: <code>2.450.000.000 â‚«</code> Â· CPI: <code>1.02</code>

2. <b>DA-KIENMINH-2026</b> Â· Tuyáº¿n kÃªnh tÆ°á»›i tiÃªu Kiáº¿n Minh
   â€¢ Tiáº¿n Ä‘á»™ WBS: <code>45%</code> Â· SPI: <code>0.98</code>
   â€¢ Chi phÃ­ EVM: <code>1.850.000.000 â‚«</code>

3. <b>DA-SONGLO-2026</b> Â· Cá»¥m Ä‘Ãª kÃ¨ phÃ²ng chá»‘ng sáº¡t lá»Ÿ SÃ´ng LÃ´
   â€¢ Tiáº¿n Ä‘á»™ WBS: <code>25%</code> Â· Ä�ang Ä‘Ã o Ä‘áº¥t & Ã©p cá»�cz/camayz/thietbiuÏ  ðŸšœ <b>Ä�á»˜I MÃ�Y CÆ  GIá»šI & PHÆ¯Æ NG TIá»†N DOANH NGHIá»†P:</b>

â€¢ <b>EQ-TRUTH-EXC-021:</b> MÃ¡y Ä‘Ã o bÃ¡nh lá»‘p Volvo EW140E (HÄ� 0044) â€” Sáºµn sÃ ng
â€¢ <b>EQ-TRUTH-EXC-012:</b> MÃ¡y Ä‘Ã o bÃ¡nh xÃ­ch Komatsu PC200-8 (HÄ� 0088) â€” Sáºµn sÃ ng
â€¢ <b>EQ-TRUTH-TRU-002:</b> Xe Ã´ tÃ´ táº£i tá»± Ä‘á»• Howo 4 chÃ¢n 371HP (HÄ� 0312) â€” Sáºµn sÃ ng
â€¢ <b>EQ-TRUTH-TRU-001:</b> Xe Ã´ tÃ´ táº£i tá»± Ä‘á»• Thaco Auto (THACO Forland FD250) â€” Sáºµn sÃ ngz/hoadonz	/invoicesu±  ðŸ§¾ <b>Tá»”NG Há»¢P HÃ“A Ä�Æ N Ä�Iá»†N Tá»¬ & KHO Váº¬T TÆ¯ (TRUTH TCT):</b>

â€¢ Tá»•ng sá»‘ hÃ³a Ä‘Æ¡n Ä‘Ã£ Ä‘á»“ng bá»™: <code>106 HÃ³a Ä‘Æ¡n</code>
â€¢ Tá»•ng tiá»�n thanh toÃ¡n: <code>145.545.803.953 â‚«</code>
â€¢ Thuáº¿ VAT Ä‘áº§u vÃ o: <code>10.781.170.663 â‚«</code>
â€¢ TÃ i sáº£n thiáº¿t bá»‹ sá»Ÿ há»¯u trÃ­ch xuáº¥t: <code>2 MÃ¡y (1,819 Tá»· â‚«)</code>
â€¢ LÃ´ váº­t tÆ° nháº­p kho chá»� xuáº¥t: <code>3.042 LÃ´</code>z/nhatkyé   uý   âš ï¸� Vui lÃ²ng nháº­p ná»™i dung nháº­t kÃ½ sau lá»‡nh <code>/nhatky</code>.
<i>VÃ­ dá»¥: /nhatky HÃ´m nay trá»�i náº¯ng 32 Ä‘á»™ 34 cÃ´ng nhÃ¢n 4 ca mÃ¡y hoÃ n thÃ nh Ä‘Ã o mÃ³ng vÃ  gia cÃ´ng cá»‘t thÃ©p Ä‘Ã i Ä�M1 láº¥y 03 tá»• máº«u bÃª tÃ´ng.</i>z$00000000-0000-0000-0000-000000000001)r   Útranscript_textÚcompleted_work_summaryÚ u`   âš¡ <b>AI BÃ“C TÃ�CH NHáº¬T KÃ� CÃ”NG TRÆ¯á»œNG THÃ€NH CÃ”NG!</b>

â˜€ï¸� <b>Thá»�i Tiáº¿t:</b> Úweather_conditionz (Útemperature_celsiusu#   Â°C)
ðŸ‘· <b>QuÃ¢n Sá»‘:</b> <code>Úworkforce_countu.    NhÃ¢n sá»±</code>
ðŸšœ <b>Ca MÃ¡y:</b> <code>Úmachine_countuC    Ca mÃ¡y</code>

ðŸ”¨ <b>Háº¡ng Má»¥c Ä�Ã£ Khá»›p WBS & QA/QC:</b>
uU   

âœ… <i>Ä�Ã£ lÆ°u vÃ o há»‡ thá»‘ng ERP DSCons sáºµn sÃ ng cho TVGS kÃ½ duyá»‡t.</i>z/aié   u    âš ï¸� Vui lÃ²ng nháº­p cÃ¢u há»�i sau lá»‡nh <code>/ai</code>.
<i>VÃ­ dá»¥: /ai TiÃªu chuáº©n báº£o dÆ°á»¡ng áº©m bÃª tÃ´ng theo TCVN 4453 lÃ  máº¥y ngÃ y?</i>uS   ðŸ¤– <b>AI ChuyÃªn Gia Ká»¹ Thuáº­t & PhÃ¡p LÃ½ DSCons:</b>

<b>CÃ¢u há»�i:</b> <i>u@  </i>

<b>Tráº£ lá»�i:</b>
CÄƒn cá»© theo <b>Luáº­t XÃ¢y dá»±ng 2025 (Luáº­t sá»‘ 135/2025/QH15 - hiá»‡u lá»±c 01/07/2026)</b>, Nghá»‹ Ä‘á»‹nh 206/2026/NÄ�-CP vÃ  há»‡ thá»‘ng Ä‘á»‹nh má»©c chuyÃªn ngÃ nh cá»§a DSCons:
â€¢ Má»�i cÃ´ng tÃ¡c nghiá»‡m thu bÃª tÃ´ng vÃ  ca mÃ¡y pháº£i cÃ³ biÃªn báº£n KCS 3 bÃªn kÃ¨m nháº­t kÃ½ hiá»‡n trÆ°á»�ng.
â€¢ Quy trÃ¬nh báº£o dÆ°á»¡ng áº©m bÃª tÃ´ng tá»‘i thiá»ƒu 3-7 ngÃ y Ä‘áº§u káº¿t há»£p láº¥y máº«u R28 kiá»ƒm Ä‘á»‹nh phÃ²ng LAS-XD há»£p chuáº©n.

<i>(Ä�Ã£ tra cá»©u cÆ¡ sá»Ÿ tri thá»©c PhoBERT 1024d & VÄƒn báº£n phÃ¡p quy 2026)</i>um   â�“ Lá»‡nh khÃ´ng nháº­n diá»‡n Ä‘Æ°á»£c. GÃµ <code>/help</code> Ä‘á»ƒ xem danh sÃ¡ch cÃ¡c lá»‡nh há»— trá»£.)ÚstripÚlowerÚ
startswithÚ<app.modules.financial.application.financial_war_room_servicer   Úget_war_room_summaryÚtotal_revenue_ytdÚtotal_gross_profit_ytdÚcashflow_runwayÚcurrent_cash_balanceÚoverall_margin_percentageÚnet_runway_daysÚ:app.modules.operations.application.fuel_telematics_servicer   Úget_dashboard_summaryÚtotal_active_equipmentÚ#average_consumption_liters_per_hourÚ-app.modules.core.application.matching_servicer   Útotal_invoices_checkedÚperfect_matches_countÚmismatches_countÚtotal_discrepancy_amountÚsite_diary_serviceÚprocess_voice_to_diaryÚget)Úselfr   r
   r   r   ÚcmdÚ	cmd_lowerr   Úwr_dataÚrev_strÚ
profit_strÚcash_strÚ
margin_strÚraw_matr   Ú	fuel_datar   Úm_dataÚraw_textÚtarget_project_idÚparsedÚwork_summaryÚquestions                          úTC:\Projects\DSCons\app\modules\integrations\application\telegram\command_handlers.pyÚprocess_commandz,TelegramCommandHandlersMixin.process_command   sŠ  è è € ð × Ò Ñ"Ô"ˆØ—I’I‘K”Kˆ	à×Ò Ñ)Ô)ð 	ðI Yð Ið Ið Ið
ð ×Ò Ñ(Ô(ð 	ðgðð ð$ ×Ò 
Ñ+Ô+ð 	¨y×/CÒ/CÀKÑ/PÔ/Pð 	ØlÐlÐlÐlÐlÐlà-Ð-Ñ/Ô/×DÒDÑFÔFˆGØ Ô2Ð=Ð=Ð=Ð=ˆGØ#Ô:ÐEÐEÐEÐEˆJØ!Ô1ÔFÐQÐQÐQÐQˆHØ#Ô=ÐDÐDÐDÐDˆJðAØ:AðAð Aà9CðAð AàNXðAð Að 9AðAð Að ?FÔ>UÔ>eð	Að Að Aðð ×Ò Ñ)Ô)ð 		¨Y×-AÒ-AÀ%Ñ-HÔ-Hð 		Ø˜!˜"˜"”g—m’m‘o”oÐLÐ)LˆGðpØ07ðpð pð pðð ×Ò Ñ.Ô.ð 
	°)×2FÒ2FÀ|Ñ2TÔ2Tð 
	ØhÐhÐhÐhÐhÐhà-Ð-Ñ/Ô/×EÒEÑGÔGˆIðsØAJÔAaðsð sà6?Ô6cðsð sð sðð ×Ò 
Ñ+Ô+ð 
	¨y×/CÒ/CÀKÑ/PÔ/Pð 
	Ø]Ð]Ð]Ð]Ð]Ð]à,Ð,Ñ.Ô.×DÒDÑFÔFˆFðpØ;AÔ;Xðpð pà<BÔ<Xðpð pð U[ÔTkðpð pð ?EÔ>]Ðoð	pð pð pðð ×Ò Ñ(Ô(ð 	¨I×,@Ò,@ÀÑ,MÔ,Mð 	ð^ð
ð 
ð ×Ò Ñ)Ô)ð 	¨Y×-AÒ-AÀ*Ñ-MÔ-Mð 	ð{ðð ð ×Ò 	Ñ*Ô*ð 	¨i×.BÒ.BÀ;Ñ.OÔ.Oð 	ðTðð ð ×Ò 	Ñ*Ô*ð 	Ø˜1˜2˜2”w—}’}‘”ˆHØð Xð Xð  Xà *Ð TÐ.TÐØÔ,×CÒCØ,Ø (ð Dñ ô ˆFð "Ÿ:š:Ð&>ÀÑCÔCˆLðfØ06·
²
Ð;NÑ0OÔ0Oðfð fØSY×S]ÒS]Ð^sÑStÔStðfð fà17·²Ð<MÑ1NÔ1Nðfð fð /5¯jªj¸Ñ.IÔ.Iðfð fð GSð	fð fð fðð ×Ò Ñ&Ô&ð 	Ø˜1˜2˜2”w—}’}‘”ˆHØð {ð {ð  {ðhØ)1ðhð hð hð	ð Ð~ó    )r   r   N)
r   r	   r
   r	   r   r	   r   r   r   r	   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__rF   © rG   rE   r   r      sL   € € € € € Ø>Ð>ð
 $Ø%Ø!%ðdð dð dð dð dð dð drG   r   )Ú
__future__r   ÚloggingÚ	getLoggerÚloggerr   rL   rG   rE   ú<module>rQ      sy   ðØ "Ð "Ð "Ð "Ð "Ð "à €€€à	ˆÔ	Ð5Ñ	6Ô	6€ðgð gð gð gð gñ gô gð gð gð grG   