§
    Üý§j–  ã                   óú   — d dl Z d dlmZmZmZmZmZ d dlmZ d dl	m	Z	m
Z
 d dlZd dlZd dlZej                             d¬¦  «          G d„ d¦  «        Zed	k    r  e¦   «         Ze                     ¦   «          dS dS )
é    N)ÚFontÚ	AlignmentÚPatternFillÚBorderÚSide)Úget_column_letter)ÚdatetimeÚdateúutf-8©Úencodingc                   ó>   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	S )
ÚDataCleanerAndMergerT37c                 ó"  — i dd“dd“dd“dd“dd“d	d
“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“i dd“dd“dd“dd“dd“d d!“d"d!“d#d$“d%d$“d&d$“d'd(“d)d*“d+d,“d-d,“d.d/“d0d1“d2d3“¥i d4d3“d5d3“d6d7“d8d7“d9d:“d;d<“d=d<“d>d?“d@d?“dAdB“dCdD“dEdD“dFdG“dHdG“dIdJ“dKd3“dLd1“¥i dMdN“dOdN“dPdQ“dRdS“dTdU“dVd?“dWdX“dYdZ“d[d\“d]d^“d_d`“dadb“dcdd“dedf“dgdf“dhd<“didj“¥i dkdl“dmd1“dndo“dpdo“dqdo“drdo“dsdt“dudv“dwdx“dydz“d{d|“d}d|“d~d“d€d�“d‚dƒ“d„d…“d†d‡“¥i dˆd‰“dŠd‹“dŒd�“dŽd�“d�d‘“d’d‘“d“d”“d•d–“d—d˜“d™d˜“dšd›“dœd�“dždŸ“d dŸ“d¡d¢“d£d¢“d¤d¥“¥i d¦d§“d¨d©“dªd©“d«d©“d¬d­“d®d­“d¯d°“d±d°“d²d³“d´dµ“d¶dµ“d·d¸“d¹dº“d»dº“d¼d½“d¾d½“d¿d½“¥i dÀdÁ“dÂdÃ“dÄdÃ“dÅdÆ“dÇdÆ“dÈdÉ“dÊdÉ“dËdÉ“dÌdÍ“dÎdÏ“dÐdÑ“dÒdÑ“dÓdÔ“dÕdÖ“d×dÖ“dØdÙ“dÚdÙ“¥i dÛdÜ“dÝdÞ“dßdà“dádâ“dãdä“dådæ“dçdè“dédê“dëdì“dídî“dïdî“dðdñ“dòdó“dôdó“dõdö“d÷dø“dùdú“¥i dûdü“dýdü“dþdÿ“�d �d“�d�d“�dd/“�d�d“�d�d“�d	�d
“�d�d“�d�d“�d�d“�d�d“�d�d“�d�d“�d�d“�d�d“¥i �d�d“�d�d“�d�d“�d�d “�d!�d “�d"�d#“�d$�d%“�d&�d'“�d(�d)“�d*�d+“�d,�d-“�d.�d/“�d0dZ“�d1�d2“�d3�d4“�d5�d6“�d7�d8“¥�d9�d8i¥| _         d S (:  Nu   tráº§n dÅ©ngu   Tráº§n DÅ©ngu   tráº§n dungu   tráº§n thanh dungu   Tráº§n Thanh DÅ©ngu   tráº§n thanh dÅ©ngu   nguyá»…n vÄƒn tuÃ¢nu   Nguyá»…n VÄƒn TuÃ¢nu   nguyá»…n vÄƒn tuáº¥nu   Nguyá»…n VÄƒn Tuáº¥nu   nguyÃªn hÆ°u lá»£iu   Nguyá»…n Há»¯u Lá»£iu   nguyÃªn há»¯u lá»£iu   nguyá»…n hÆ°u lá»£iu   nguyá»…n há»¯u lá»£iu   nguyá»…n hÆ°u lÆ¡iu   nguyÃªn hÆ°u lÆ¡iu   lá»£iu   kt cáº¯m táº¡i nha mÃ¡y lÃ mu   nÃ´ng Ä‘Æ°c trÆ°á»�ngu   NÃ´ng Ä�á»©c TrÆ°á»�ngu   nÃ´ng Ä‘á»©c trÆ°á»�ngu   Ä‘á»— quang thuá»·u   Ä�á»— Quang Thá»§yu   Ä‘á»— quang thá»§yu   Ä‘Ãµ quang thuá»·u   nguyá»…n vÄƒn tÃ¹ngu   Nguyá»…n VÄƒn TÃ¹ngu   Ä‘oÃ n thanh nhÃ¢nu   Ä�oÃ n Thanh NhÃ¢nu   Ä‘oÃ n thang nhÃ¢nu   dÆ°Æ¡ng táº¥n hiá»�nu   DÆ°Æ¡ng Táº¥n Hiá»�nu   dÆ°Æ¡g táº¥n hiá»�nu   trá»‹nh há»¯u háº£iu   Trá»‹nh Há»¯u Háº£iu   trinh há»¯u háº£iu   háº£iu   phan vÄƒn hiáº¿uu   Phan VÄƒn Hiáº¿uu   lÃª vÄƒn hoau   LÃª VÄƒn Hoau   lÃª vÄƒn hÃ²au   LÃª VÄƒn HÃ²au   lÃª vÄƒn hoÃ u   bÃ¹i vÄƒn tuáº¥nu   BÃ¹i VÄƒn Tuáº¥nu   pháº¡m thanh hoÃ nu   Pháº¡m Thanh HoÃ nu   lÃª xuÃ¢n tÆ°Æ¡ngu   LÃª XuÃ¢n TÆ°Æ¡ngu   lÃª xuÃ¢n tuongu   lÃª xuan tÆ°Æ¡ngu   há»“ tiáº¿n sÄ©u   Há»“ Tiáº¿n SÄ©u   há»“ tiáº¿n sá»¹u	   sá»¹ chÃ­u	   Sá»¹ ChÃ­u   ngá»�c dÆ°Æ¡ngu   Ngá»�c DÆ°Æ¡ngu   cao ngá»�c dÆ°Æ¡ngu   tráº§n vÄƒn thÆ°á»Ÿngu   Tráº§n VÄƒn ThÆ°á»Ÿngu   tráº§n thÆ°á»Ÿngu   nguyá»…n vÄƒn hoanu   Nguyá»…n VÄƒn Hoanu   hoÃ ng phongu   BÃ¹i HoÃ ng Phongu   bÃ¹i hoÃ ng phongu   há»¯u nhá»±tu   Há»¯u Nhá»±tu   tráº§n há»¯u nhá»±tu   há»¯u nghá»‹u   Há»¯u Nghá»‹u   xuÃ¢n tÆ°Æ¡ngu   thanh hoÃ nu
   phÃº vÄ©nhu   Nguyá»…n PhÃº VÄ©nhu   nguyá»…n phÃº vÄ©nhu   vÄƒn lá»‹nhu   VÄƒn Lá»‹nhu   Ä‘Ã´ng (sÆ¡n nÆ°á»›c)u   Ä�Ã´ng (SÆ¡n NÆ°á»›c)u   Ä‘Ã´ng , thÆ°á»Ÿngu   Ä�Ã´ng , Tráº§n VÄƒn ThÆ°á»Ÿngu	   thÆ°á»Ÿngu   tráº§n vÄƒn hÃ¡tu   Tráº§n VÄƒn HÃ¡tu	   nho xuÃ¢nu	   Nho XuÃ¢nu   nguyáº¿n vÄƒn Ã¢nu   Nguyá»…n VÄƒn Ã‚nu   vÄƒn khÆ°Æ¡ngu   VÄƒn KhÆ°Æ¡ngu   nguyá»…n trÆ°á»�ng háº­nu   Nguyá»…n TrÆ°á»�ng Háº­nu   báº£ou   Báº£oÚchinhÚChinhÚcoiu   CÃ²iu   cÃ²iu   dÆ°Æ¡ngu   hiÃªnu   HiÃªnu   quá»‘c hiÃªnu   Quá»‘c HiÃªnu   hoÃ nÚkhoiu   VÃµ Quá»‘c Khá»Ÿiu   khá»ŸiÚkhoqiru   khÆ¡iu   khÆ°Æ¡ng duy longu   KhÆ°Æ¡ng Duy Longu   lÃª vÄƒn nhÆ°u   LÃª VÄƒn NhÆ°u   lÃª Ä‘Äƒng duyÃªnu   LÃª Ä�Äƒng DuyÃªnu   lÆ°u thanh nháº­t táº£ou   LÆ°u Thanh Nháº­t Táº£ou   nguyá»…n nhÆ° quyá»�nu   Nguyá»…n NhÆ° Quyá»�nu   nguyá»…n hÆ° quyá»�nu   nguyá»…n quá»‘c khÃ¡nhu   Nguyá»…n Quá»‘c KhÃ¡nhu   nguyá»…n thÃ¡i báº£ou   Nguyá»…n ThÃ¡i Báº£ou   nguyá»…n thá»‹ thuõ   Nguyá»…n Thá»‹ Thuu   pháº¡m vÄƒn linhu   Pháº¡m VÄƒn Linhu   pháº¡m vÄƒn tÃ¹ngu   Pháº¡m VÄƒn TÃ¹ngu   trÆ°Æ¡ng cÃ´ng minhu   TrÆ°Æ¡ng CÃ´ng Minhu   trÆ°Æ¡ng vÄƒn nghÄ©au   TrÆ°Æ¡ng VÄƒn NghÄ©au   tráº§n vÄƒn tÃ¹ngu   Tráº§n VÄƒn TÃ¹ngu   Ä‘Ã o hÃ³a emu   Ä�Ã o HÃ³a Emu   huá»³nh cÃ´ng nÃ´ngu   Huá»³nh CÃ´ng NÃ´ngu   cÃ´ng nÃ´ngu   lÃ¢m vÄƒn nÃ´ngu   LÃ¢m VÄƒn NÃ´ngu   vÅ© duy háº­uu   VÅ© Duy Háº­uu   Ä‘áº¡i phÆ°á»›cu   Ä�áº¡i PhÆ°á»›cu   phÆ°á»›cu   Ä‘áº¡tu   Ä�áº¡tu   vá»‹nhu   Vá»‹nhu   giÃ¡p vÄƒn sÃ¡uu   GiÃ¡p VÄƒn SÃ¡uu   sÃ¡uu   quÃ¡ch vÄƒn vÅ©u   QuÃ¡ch VÄƒn VÅ©u   quach vÄƒn vÅ©u   thÃ¡i thÃ nh lÆ°uu   ThÃ¡i ThÃ nh LÆ°uu   thÃ¡i vÄƒn tiáº¿nu   ThÃ¡i VÄƒn Tiáº¿nu   Ä‘Äƒng hiá»‡pu   Ä�Äƒng Hiá»‡pu   hiá»‡pu   nguyá»…n Ä‘Äƒng hiá»‡pu   duy tÃ iu   Nguyá»…n Duy TÃ iu   nguyá»…n duy tÃ iu   nguyá»…n minh thoáº¡iu   Nguyá»…n Minh Thoáº¡iu   minh thoáº¡iu   há»“ vÄƒn trÃ²n emu   Há»“ VÄƒn TrÃ²n Emu   vay lÆ°Æ¡ng thuáº­nu   Vay LÆ°Æ¡ng Thuáº­nu   vay lÆ°á»£ng thuáº­nu   há»“ vÄƒn viá»‡tu   Há»“ VÄƒn Viá»‡tu   lÃª vÄƒn thÃ nhu   LÃª VÄƒn ThÃ nhu   lÃª vÄƒn thÃ nh-kt má»›iu   phan vÄƒn viá»‡t-kt má»›iu   Phan VÄƒn Viá»‡tu   phan vÄƒn viá»‡tu   viá»‡tu   bÃ¹i vÄƒn giangu   BÃ¹i VÄƒn Giangu   quang khÃ¡i chá»‰nhu   Quang Kháº£iu   quang kháº£iu   thanh tuyáº¿nu   BÃ nh Thanh Tuyáº¿nu   bÃ nh thanh tuyáº¿nu
   duy khÃ¡nhu   Há»“ Duy KhÃ¡nhu   há»“ duy khÃ¡nhu   khÃ¡nhu   nguyá»…n vÄƒn nÄƒmu   Nguyá»…n VÄƒn NÄƒmu   trÆ°Æ¡ng vÅ© linhu   TrÆ°Æ¡ng VÅ© Linhu   trinh bÃ¡ quyá»�nu   Trá»‹nh BÃ¡ Quyá»�nu   trá»‹nh bÃ¡ quyá»�nu   lÃª vÄƒn háº¡nhu   LÃª VÄƒn Háº¡nhu   pháº¡m vÄƒn vá»�ngu   Pháº¡m VÄƒn Vá»�ngu   pháº¡m vÄƒn vongu
   quang tÃ¢nu   Nguyá»…n Quang TÃ¢nu   nguyá»…n quang tÃ¢nu
   lÃª thÃ nhu
   LÃª ThÃ nhu   nguyá»…n ngá»�c tháº¡chu   Nguyá»…n Ngá»�c Tháº¡chu   bÃ¹i vÄƒn cháº¥tu   BÃ¹i VÄƒn Cháº¥tu   hoÃ n xuÃ¢nu   HoÃ n XuÃ¢nu   lÃ¢m há»“ng thÃ´ngu   LÃ¢m Há»“ng ThÃ´ngu   tráº§n vÄƒn tuáº¥nu   Tráº§n VÄƒn Tuáº¥nu   lÃªu   LÃªu   nguyá»…n hoÃ ng khangu   Nguyá»…n HoÃ ng Khangu   nguyá»…n kim giangu   Nguyá»…n Kim Giangu   nguyá»…n Ä‘Ã¬nh vinhu   Nguyá»…n Ä�Ã¬nh Vinhu   nguyá»…n Ä‘inh vinhu   nguyá»…n vÄƒn ninhu   Nguyá»…n VÄƒn Ninhu   thiÃªmu   Pháº¡m VÄƒn ThiÃªmu   pháº¡m vÄƒn thiÃªmu   triá»‡u vÄƒn Ä‘Ã´ngu   Triá»‡u VÄƒn Ä�Ã´ngu   tráº§n vÄƒn lÃªu   Tráº§n VÄƒn LÃªÚtrungÚTrungu   nguyá»…n trá»�ng phongu   Nguyá»…n Trá»�ng Phongu   trá»�ng phongu   dÆ°Æ¡ng minh tÆ°á»�ngu   DÆ°Æ¡ng Minh TÆ°á»�ngu   duy khÆ°Æ¡ngu   Duy KhÆ°Æ¡ngu   Ä‘áº·ng vÄƒn chiáº¿nu   Ä�áº·ng VÄƒn Chiáº¿nu   tuáº¥nu   lÆ°Æ¡ngu   LÆ°Æ¡ngu   lÃ¢m thÃ nh cÃ´ngu   LÃ¢m ThÃ nh CÃ´ngu   nguyá»…n minh nhÃ­u   Nguyá»…n Minh NhÃ­u   pháº¡m vÄƒn tháº¡chu   Pháº¡m VÄƒn Tháº¡chu   bÃ¹i quá»‘c quiu   BÃ¹i Quá»‘c Quyu   bÃ¹i quá»‘c quyu   nguyá»…n trá»�ng nhÃ¢nu   Nguyá»…n Trá»�ng NhÃ¢nu   tráº§n vÄƒn kÃ©pu   Tráº§n VÄƒn KÃ©pu   trinh vÄƒn tháº±ngu   Trá»‹nh VÄƒn Tháº¯ngu   trá»‹nh vÄƒn tháº¯ngu   táº¡ou   Táº¡ou   thÆ¡mu   ThÆ¡mu   Ä‘oÃ nu   Ä�oÃ nu   thanh xuÃ¢nu   Thanh XuÃ¢nu   hoÃ ng vÄƒn sangu   HoÃ ng VÄƒn Sangu   hoÃ n vÄƒn sangu   lÃª vÄƒn bá»¥ngu   LÃª VÄƒn Bá»¥ngu   tráº§n quá»‘c khangu   Tráº§n Quá»‘c Khangu   ngÃ´ trá»�ng nhÃ¢nu   NgÃ´ Trá»�ng NhÃ¢nu   nÃ´ng quá»‘c toáº£nu   NÃ´ng Quá»‘c Toáº£nu   hÃ¹ngu   HÃ¹ngu   nguyá»…n minh khangu   Nguyá»…n Minh Khangu   nguyá»…n hoÃ ng giangu   Nguyá»…n HoÃ ng Giangu   xuÃ¢nu   Ä‘Ã´ngu   Ä�Ã´ngu   pháº¡m vÄƒn dÅ©ngu   Pháº¡m VÄƒn DÅ©ngu   trÃ¬nhu   TrÃ¬nhu   Ä‘á»— trá»�ng longu   Ä�á»— Trá»�ng Longu   Ä‘á»™ trá»�ng long)Úkythuat_map)Úselfs    úHC:\Claw 2\Bao cao - Hanh chinh\Bao cao lam mau\clean_and_merge_tuan37.pyÚ__init__z DataCleanerAndMergerT37.__init__   så  € ð~
Ø˜Nð~
à˜>ð~
ð  Ð!5ð~
ð !Ð"6ð	~
ð
 "Ð#8ð~
ð #Ð$:ð~
ð !Ð"8ð~
ð "Ð#9ð~
ð "Ð#9ð~
ð #Ð$:ð~
ð !Ð"8ð~
ð  Ð!7ð~
ð Ð+ð~
ð +Ð,Bð~
ð $Ð%=ð~
ð  %Ð&>ð!~
ð" !Ð"6ð#~
ð ~
ð$ !Ð"6ð%~
ð&  Ð!5ð'~
ð( "Ð#8ð)~
ð* !Ð"6ð+~
ð, !Ð"6ð-~
ð. #Ð$:ð/~
ð0 "Ð#9ð1~
ð2 "Ð#8ð3~
ð4  Ð!6ð5~
ð6 Ð*ð7~
ð8 Ð 2ð9~
ð: ˜Nð;~
ð< ˜_ð=~
ð> ˜_ð?~
ð@ Ð 2ðA~
ðB !Ð"6ðC~
ðD  Ð!4ðE~
ð ~
ð ~
ðF Ð2ðG~
ðH Ð 3ðI~
ðJ Ð0ðK~
ðL Ð 1ðM~
ðN ˜ðO~
ðP Ð.ðQ~
ðR !Ð"2ðS~
ðT $Ð%<ðU~
ðV Ð 7ðW~
ðX !Ð"6ðY~
ðZ Ð/ð[~
ð\  Ð!4ð]~
ð^ ˜Nð_~
ð` " >ða~
ðb ˜Nðc~
ðd Ð0ðe~
ðf Ð/ðg~
ð ~
ð ~
ðh Ð/ði~
ðj "Ð#8ðk~
ðl ˜=ðm~
ðn $Ð%<ðo~
ðp !Ð"Bðq~
ðr Ð0ðs~
ðt Ð 2ðu~
ðv ˜ðw~
ðx  Ð!4ðy~
ðz ˜_ð{~
ð| 'Ð(Bð}~
ð~ �Wð~
ð@ �WðA~
ðB �6ðC~
ðD �FðE~
ðF Ð'ðG~
ðH �WðI~
ð ~
ð ~
ðJ ˜NðK~
ðL Ð)ðM~
ðN Ð'ðO~
ðP Ð)ðQ~
ðR Ð)ðS~
ðT Ð(ðU~
ðV  Ð!4ðW~
ðX ˜_ðY~
ðZ  Ð!4ð[~
ð\ &Ð'@ð]~
ð^ $Ð%<ð_~
ð` #Ð$;ða~
ðb %Ð&>ðc~
ðd #Ð$:ðe~
ðf !Ð"6ðg~
ðh Ð 2ði~
ðj  Ð!4ðk~
ð ~
ð ~
ðl "Ð#8ðm~
ðn #Ð$:ðo~
ðp  Ð!4ðq~
ðr ˜_ðs~
ðt "Ð#8ðu~
ðv Ð0ðw~
ðx Ð0ðy~
ðz ˜_ð{~
ð| Ð0ð}~
ð~ Ð)ð~
ð@ �hðA~
ðB �hðC~
ðD Ð0ðE~
ðF Ð%ðG~
ðH Ð0ðI~
ðJ Ð/ðK~
ðL  Ð!4ðM~
ð ~
ð ~
ðN  Ð!4ðO~
ðP ˜_ðQ~
ðR �oðS~
ðT % oðU~
ðV Ð+ðW~
ðX  Ð!4ðY~
ðZ $Ð%<ð[~
ð\ Ð3ð]~
ð^ !Ð"6ð_~
ð` "Ð#8ða~
ðb #Ð$9ðc~
ðd Ð 2ðe~
ðf Ð0ðg~
ðh 'Ð(9ði~
ðj (Ð);ðk~
ðl Ð 2ðm~
ðn Ð(ðo~
ð ~
ð ~
ðp Ð0ðq~
ðr " >ðs~
ðt ˜Nðu~
ðv Ð2ðw~
ðx "Ð#8ðy~
ðz Ð+ð{~
ð| Ð0ð}~
ð~ Ð'ð~
ð@ !Ð"6ðA~
ðB  Ð!4ðC~
ðD  Ð!6ðE~
ðF "Ð#8ðG~
ðH Ð0ðI~
ðJ !Ð"6ðK~
ðL Ð 4ðM~
ðN Ð/ðO~
ðP "Ð#8ðQ~
ð ~
ð ~
ðR ˜,ðS~
ðT &Ð'@ðU~
ðV Ð 2ðW~
ðX ˜=ðY~
ðZ !Ð"6ð[~
ð\ !Ð"6ð]~
ð^ �5ð_~
ð` $Ð%<ða~
ðb !Ð"6ðc~
ðd #Ð$:ðe~
ðf "Ð#9ðg~
ðh !Ð"6ði~
ðj Ð*ðk~
ðl !Ð"6ðm~
ðn "Ð#8ðo~
ðp Ð0ðq~
ðr �Wðs~
ð ~
ð ~
ðt %Ð&>ðu~
ðv Ð5ðw~
ðx $Ð%<ðy~
ñz ™Nð{~
ñ| #Ñ$:ð}~
ñ~ Ð(ð~
ñ@ ‘yðA~
ñB  Ñ!4ðC~
ñD !Ñ"6ðE~
ñF "Ñ#8ðG~
ñH Ñ0ðI~
ñJ Ñ0ðK~
ñL %Ñ&>ðM~
ñN Ñ 2ðO~
ñP !Ñ"8ðQ~
ñR #Ñ$:ðS~
ñT ‘WðU~
ð ~
ð ~
ñV ‘WðW~
ñX ‘hðY~
ñZ ™=ð[~
ñ\ Ñ 2ð]~
ñ^ Ñ1ð_~
ñ` Ñ0ða~
ñb "Ñ#8ðc~
ñd !Ñ"6ðe~
ñf "Ñ#8ðg~
ñh ‘Wði~
ñj "Ñ#8ðk~
ñl $Ñ%<ðm~
ñn �[ðo~
ñp ‘hðq~
ñr  Ñ!4ðs~
ñt ‘hðu~
ñx !Ñ"6ðy~
ð ~
ñz !Ñ"6ð{~
ð ~
ˆÔÐÐó    c                 óD  — |€dS t          |t          ¦  «        r%|j        }|dk    rd}|j        d›d|j        d›d|› �S t          |t
          ¦  «        r%|j        }|dk    rd}|j        d›d|j        d›d|› �S t          |t          t          f¦  «        r}	 t          ddd¦  «        }|t          d¦  «         	                    t          |¦  «        ¬	¦  «        z   }| 
                    d
¦  «        S #  t          t          |¦  «        ¦  «        cY S xY wt          |¦  «                             ¦   «         }|sdS t          j        d|¦  «        r|S t          j        d|¦  «        }|rZt          |                     d¦  «        ¦  «        }|dk    rd}|                     d¦  «        › d|                     d¦  «        › d|› �S t          j        d|¦  «        }|rJt          |                     d¦  «        ¦  «        d›dt          |                     d¦  «        ¦  «        d›d�S |S )z;Converts Excel cell date values to DD/MM/YYYY string formatNiê  Ú02dú/ik  é   é   r	   )Údaysú%d/%m/%Yz^\d{2}/\d{2}/\d{4}$z^(\d{4})-(\d{2})-(\d{2})é   é   é   z^(\d{1,2})/(\d{1,2})$z/2026)Ú
isinstancer	   ÚyearÚdayÚmonthr
   ÚintÚfloatÚ
__import__Ú	timedeltaÚstrftimeÚstrÚstripÚreÚmatchÚgroup)	r   Úvalr)   ÚbaseÚdÚsÚmÚyrÚm2s	            r   Ú
parse_datez"DataCleanerAndMergerT37.parse_dateÎ   s8  € àˆ;Ø�4Ý�c�8Ñ$Ô$ð 	;Ø”8ˆDØ�dŠ{ˆ{Ø�Ø”gÐ:Ð:Ð: C¤IÐ:Ð:Ð:°DÐ:Ð:Ð:Ý�c�4Ñ Ô ð 	;Ø”8ˆDØ�dŠ{ˆ{Ø�Ø”gÐ:Ð:Ð: C¤IÐ:Ð:Ð:°DÐ:Ð:Ð:Ý�c�C¥˜<Ñ(Ô(ð 	%ð%Ý  b¨"Ñ-Ô-�Ø�: jÑ1Ô1×;Ò;ÅÀSÁÄÐ;ÑJÔJÑJ�Ø—z’z *Ñ-Ô-Ð-øð%Ý�3˜s™8œ8‘}”}Ð$Ð$Ð$øøøÝ�‰HŒH�NŠNÑÔˆØð 	Ø�4ÝŒ8Ð*¨AÑ.Ô.ð 	ØˆHÝŒHÐ0°!Ñ4Ô4ˆØð 	5Ý�Q—W’W˜Q‘Z”Z‘”ˆBØ�DŠyˆyØ�Ø—g’g˜a‘j”jÐ4Ð4 1§7¢7¨1¡:¤:Ð4Ð4°Ð4Ð4Ð4ÝŒXÐ.°Ñ2Ô2ˆØð 	IÝ˜"Ÿ(š( 1™+œ+Ñ&Ô&ÐHÐHÐH­S°·²¸!±´Ñ-=Ô-=ÐHÐHÐHÐHÐHØˆs   ÂAC/ Ã/Dc                 ó>  — |€dS t          |¦  «                             ¦   «         }|sdS |                     d¦  «        }|                     ¦   «                              ¦   «         }|dk    rdS |dk    rdS |dk    rdS |d	k    rd
S |dk    rdS t	          j        d|t          j        ¬¦  «        }g }|D �]R}|                     ¦   «         }|sŒt	          j        dd|¦  «        }t	          j        dd|¦  «                             ¦   «         }|s(|                     |                     ¦   «         ¦  «         Œ‚t	          j        dd|t          j        ¬¦  «                             ¦   «         }|sŒ¹|                     ¦   «                              ¦   «         }|| j	        v r"|                     | j	        |         ¦  «         �Œ
|                     ¦   «         }	d„ |	D ¦   «         }
|                     d 
                    |
¦  «        ¦  «         �ŒT|sdS d 
                    |¦  «        S )z$Clean and normalize technician namesNú,u   trung hÃ¹ng háº£i lá»£iu:   Trung , HÃ¹ng , Trá»‹nh Há»¯u Háº£i , Nguyá»…n Há»¯u Lá»£iu   lá»£i hÃ¹ngu   Nguyá»…n Há»¯u Lá»£i , HÃ¹ngu   trung lá»£iu   Trung , Nguyá»…n Há»¯u Lá»£iu   nhá»±t + quiu   Há»¯u Nhá»±t , BÃ¹i Quá»‘c Quyu   hoÃ n trungu   Pháº¡m Thanh HoÃ n , Trungu   [,+\n/&.]+|\band\b|\bvÃ \b)Úflagsz\s+Ú z\(.*?\)Ú u   kt\s+c[Äƒa]m\s+t[aii].*$c                 óÊ   — g | ]`}t          |¦  «        d k    r7|d                              ¦   «         |d d…                              ¦   «         z   n|                     ¦   «         ‘ŒaS )r%   r   N)ÚlenÚupperÚlower)Ú.0Úws     r   ú
<listcomp>z=DataCleanerAndMergerT37.normalize_kythuat.<locals>.<listcomp>!  sZ   € Ð#mÐ#mÐ#mÐbcÅCÈÁFÄFÈQÂJÀJ A a¤D§J¢J¡L¤L°1°Q°R°R´5·;²;±=´=Ñ$@Ð$@ÐTU×T[ÒT[ÑT]ÔT]Ð#mÐ#mÐ#mr   z , )r1   r2   ÚrstriprF   r3   ÚsplitÚ
IGNORECASEÚsubÚappendr   Újoin)r   Únamer9   Ús_lowerÚpartsÚnormalized_partsÚpartÚ
part_cleanÚp_lowerÚwordsÚnormalized_wordss              r   Únormalize_kythuatz)DataCleanerAndMergerT37.normalize_kythuató   s9  € àˆ<Ø�4Ý�‰IŒI�OŠOÑÔˆØð 	Ø�4ð �HŠH�S‰MŒMˆð —'’'‘)”)—/’/Ñ#Ô#ˆØÐ/Ò/Ð/ØOÐOØ�mÒ#Ð#Ø1Ð1Ø�mÒ#Ð#Ø1Ð1Ø�nÒ$Ð$Ø3Ð3Ø�mÒ#Ð#Ø/Ð/õ ”Ð6¸ÅÄÐOÑOÔOˆØÐØð 	Dñ 	DˆDØ—:’:‘<”<ˆDØð ØÝ”6˜& # tÑ,Ô,ˆDÝœ 
¨B°Ñ5Ô5×;Ò;Ñ=Ô=ˆJØð Ø ×'Ò'¨¯
ª
©¬Ñ5Ô5Ð5ØåœÐ ;¸RÀÕSUÔS`ÐaÑaÔa×gÒgÑiÔiˆJØð Øà ×&Ò&Ñ(Ô(×.Ò.Ñ0Ô0ˆGØ˜$Ô*Ð*Ð*Ø ×'Ò'¨Ô(8¸Ô(AÑBÔBÐBÑBà"×(Ò(Ñ*Ô*�Ø#mÐ#mÐglÐ#mÑ#mÔ#mÐ Ø ×'Ò'¨¯ªÐ1AÑ(BÔ(BÑCÔCÐCÑCàð 	Ø�4Ø�zŠzÐ*Ñ+Ô+Ð+r   c                 óš  — t          j        |d¬¦  «        }|j        }g }d}d}t          ||j        dz   ¦  «        D �]�}|                     |d¦  «        j        }|                     |d¦  «        j        }	|                     |d¦  «        j        }
|                     |d¦  «        j        }|                     |d	¦  «        j        }|                     |d
¦  «        j        }|                     |d¦  «        j        }|                     |d¦  «        j        }|                     |d¦  «        j        }|                     |d¦  «        j        }|                     |d¦  «        j        }|                     |d¦  «        j        }|                     |d¦  «        j        }|                     |d¦  «        j        }|                     |d¦  «        j        }|                     |d¦  «        j        }|€|	€|
€|€|€|€|€|€|€
|€|€|€|€�ŒÏ|	�!t          |	¦  «                             ¦   «         nd}| 	                    ¦   «         dv r�Œ|r|}d}d}|�!t          |¦  «                             ¦   «         nd}|�!t          |¦  «                             ¦   «         nd}|�!t          |¦  «                             ¦   «         nd}| 	                    ¦   «         dk    rd}n9| 	                    ¦   «         dk    rd}n|r| 	                    ¦   «         dk    rd}|}d}|�!t          |¦  «                             ¦   «         nd}|�!t          |¦  «                             ¦   «         nd} |  	                    ¦   «         dk    rd}n| 	                    ¦   «         dk    rd}nd}|r|  
                    |¦  «        nd}!|                      |¦  «        }"|                      |¦  «        }#|r|n|}$d}%|�9t          |¦  «                             ¦   «          	                    ¦   «         dk    rd}%|}&|&�xt          |&t          ¦  «        rK	 t          t          |&                     dd¦  «                             ¦   «         ¦  «        ¦  «        }&n#  Y nxY w	 t          |&¦  «        }&n#  Y nxY w|}'|�F	 t          t          t          |¦  «                             dd¦  «        ¦  «        ¦  «        }'n#  Y nxY w|
�!t          |
¦  «                             ¦   «         nd}(|(dv rd}(|�!t          |¦  «                             ¦   «         nd})|)dv rd})|�!t          |¦  «                             ¦   «         nd}*|*dv rd}*|(d v r|*s|(}*d}(|'�|$r|(s|)s|s
|s|&s|!s|*sd!}*|                     |'|$|(|)|�!t          |¦  «                             ¦   «         nd|"|#|||&|!||%|*d"œ¦  «         �Œ�|S )#uU   Cleans File 1: TUáº¦N 37 (07.09-12.09).xlsx (Custom col 13=HT, 14=DK, 15=DH, 17=Note)T©Ú	data_onlyNr!   r%   r'   r&   é   é   é   é   é   é	   é
   é   é   é   é   é   rB   ©u   Tá»”NGu   Tá»”NG Cá»˜NGÚXõ   Má»›iõ   NhÃ¢nõ   Bá»™ÚDKÚHTõ   Ä�Lr?   Ú=©ÚNonerB   ©u   KHÃ”NG CÃ“ MáºªUõ   KHÃ”NG LÃ€M MáºªUu   CHÆ¯A Gá»¬I Káº¾T QUáº¢ MáºªUru   ©ÚsttÚnha_mayÚma_ptÚma_nmÚ
khach_hangÚ	ngay_nhanÚngay_htÚloai_mauÚspÚso_luongÚky_thuatÚ
trang_thaiÚco_dhÚghi_chu©ÚopenpyxlÚload_workbookÚactiveÚrangeÚmax_rowÚcellÚvaluer1   r2   rE   rY   r=   r(   r,   r-   ÚreplacerN   )+r   Ú	file_pathÚwbÚwsÚ	data_rowsÚcurrent_nha_mayÚ	start_rowÚrrw   rx   ry   rz   r{   r|   r}   Úloai_moiÚ	loai_nhanÚloai_bor€   r�   Útrang_thai_htÚtrang_thai_dkrƒ   r„   Únha_may_strr~   r   Úloai_moi_strÚloai_nhan_strÚloai_bo_strr‚   Ú	tt_ht_strÚ	tt_dk_strÚky_thuat_cleanÚngay_nhan_cleanÚngay_ht_cleanÚnha_may_finalÚco_dh_finalÚsl_finalÚ	stt_finalÚma_pt_finalÚma_nm_finalÚghi_chu_finals+                                              r   Úclean_file1z#DataCleanerAndMergerT37.clean_file1(  s4  € åÔ# I¸Ð>Ñ>Ô>ˆØŒYˆàˆ	ØˆØˆ	å�y "¤*¨q¡.Ñ1Ô1ð 	ñ 	ˆAØ—'’'˜!˜Q‘-”-Ô%ˆCØ—g’g˜a ‘m”mÔ)ˆGØ—G’G˜A˜q‘M”MÔ'ˆEØ—G’G˜A˜q‘M”MÔ'ˆEØŸš  A™œÔ,ˆJØŸš  1™œÔ+ˆIØ—g’g˜a ‘m”mÔ)ˆGà—w’w˜q !‘}”}Ô*ˆHØŸš  1™œÔ+ˆIØ—g’g˜a ‘n”nÔ*ˆGà—w’w˜q "‘~”~Ô+ˆHØ—w’w˜q "‘~”~Ô+ˆHàŸGšG A r™NœNÔ0ˆMØŸGšG A r™NœNÔ0ˆMØ—G’G˜A˜r‘N”NÔ(ˆEØ—g’g˜a ‘n”nÔ*ˆGà�  °E°MÀeÀmØÐ" yÐ'8¸W¸_ØÐ  YÐ%6¸7¸?ØÐ  XÐ%5¸'¸/Ùà29Ð2E�#˜g™,œ,×,Ò,Ñ.Ô.Ð.È2ˆKà× Ò Ñ"Ô"Ð&AÐAÐAÙàð .Ø"-�àˆHØˆBØ4<Ð4H�3˜x™=œ=×.Ò.Ñ0Ô0Ð0ÈbˆLØ6?Ð6K�C 	™NœN×0Ò0Ñ2Ô2Ð2ÐQSˆMØ29Ð2E�#˜g™,œ,×,Ò,Ñ.Ô.Ð.È2ˆKà×!Ò!Ñ#Ô# sÒ*Ð*Ø"��Ø×$Ò$Ñ&Ô&¨#Ò-Ð-Ø"��Øð ! ×!2Ò!2Ñ!4Ô!4¸Ò!;Ð!;Ø!�Ø �àˆJØ6CÐ6O�˜MÑ*Ô*×0Ò0Ñ2Ô2Ð2ÐUWˆIØ6CÐ6O�˜MÑ*Ô*×0Ò0Ñ2Ô2Ð2ÐUWˆIà�ŠÑ Ô  CÒ'Ð'Ø!�
�
Ø—’Ñ"Ô" cÒ)Ð)Ø!�
�
à"�
àAIÐS˜T×3Ò3°HÑ=Ô=Ð=ÈtˆNà"Ÿošo¨iÑ8Ô8ˆOØ ŸOšO¨GÑ4Ô4ˆMà+6ÐK˜K˜K¸OˆMàˆKØÐ ¥S¨¡Z¤Z×%5Ò%5Ñ%7Ô%7×%=Ò%=Ñ%?Ô%?À3Ò%FÐ%FØ!�àˆHØÐ#Ý˜h­Ñ,Ô,ð 	ðÝ#&¥u¨X×-=Ò-=¸cÀ2Ñ-FÔ-F×-LÒ-LÑ-NÔ-NÑ'OÔ'OÑ#PÔ#P˜˜øðØ˜øøøðÝ#& x¡=¤=˜˜øðØ˜øøøàˆIØˆðÝ #¥E­#¨c©(¬(×*:Ò*:¸3ÀÑ*CÔ*CÑ$DÔ$DÑ EÔ E�I�IøðØ�Døøøà05Ð0A�#˜e™*œ*×*Ò*Ñ,Ô,Ð,ÀtˆKØ˜lÐ*Ð*Ø"�à05Ð0A�#˜e™*œ*×*Ò*Ñ,Ô,Ð,ÀtˆKØ˜lÐ*Ð*Ø"�à4;Ð4G�C ™LœL×.Ò.Ñ0Ô0Ð0ÈTˆMØ Ð,Ð,Ø $�àÐhÐhÐhØ$ð 0Ø$/�MØ"�àÐ$¨Ð$¸{Ð$ÐS^Ð$ÐgqÐ$ð  {CÐ$ð  LTÐ$ð  ]kÐ$Ø$ð 8Ø$7�Mà×ÒØ Ø(Ø$Ø$Ø9CÐ9O�c *™oœo×3Ò3Ñ5Ô5Ð5ÐUYØ,Ø(Ø$ØØ$Ø*Ø(Ø$Ø(ðð ñ ô ð ñ ð" Ðs%   Ð7AQ:Ñ:Q>ÒRÒRÒ=SÓS c                 óò  — t          j        |d¬¦  «        }|j        }g }d}d}t          ||j        dz   ¦  «        D �]9}|                     |d¦  «        j        }|                     |d¦  «        j        }	|                     |d¦  «        j        }
|                     |d¦  «        j        }|                     |d¦  «        j        }|                     |d	¦  «        j        }|                     |d
¦  «        j        }|                     |d¦  «        j        }|                     |d¦  «        j        }|                     |d¦  «        j        }|                     |d¦  «        j        }|                     |d¦  «        j        }|                     |d¦  «        j        }|                     |d¦  «        j        }|                     |d¦  «        j        }|                     |d¦  «        j        }|                     |d¦  «        j        }|€|	€|
€|€|€|€|€|€|€
|€|€|€|€�Œêt          |¦  «                             ¦   «         dk    s%t          |¦  «                             ¦   «         dk    r
|€|	€|
€|€�Œ>|	�!t          |	¦  «                             ¦   «         nd}| 	                    ¦   «         dv r�Œ{|r|}d}d}|�!t          |¦  «                             ¦   «         nd}|�!t          |¦  «                             ¦   «         nd}|�!t          |¦  «                             ¦   «         nd}| 	                    ¦   «         dk    rd}n9| 	                    ¦   «         dk    rd}n|r| 	                    ¦   «         dk    rd}|}d}|�!t          |¦  «                             ¦   «         nd} |�!t          |¦  «                             ¦   «         nd}!|�!t          |¦  «                             ¦   «         nd}"|" 	                    ¦   «         dk    rd}n5|! 	                    ¦   «         dk    rd}n|  	                    ¦   «         dk    rd}|r|  
                    |¦  «        nd}#|                      |¦  «        }$|                      |¦  «        }%|r|n|}&d}'|�9t          |¦  «                             ¦   «          	                    ¦   «         dk    rd}'|}(|(�xt          |(t          ¦  «        rK	 t          t          |(                     d d¦  «                             ¦   «         ¦  «        ¦  «        }(n#  Y nxY w	 t          |(¦  «        }(n#  Y nxY w|})|�F	 t          t          t          |¦  «                             d!d¦  «        ¦  «        ¦  «        })n#  Y nxY w|
�!t          |
¦  «                             ¦   «         nd}*|*d"v rd}*|�!t          |¦  «                             ¦   «         nd}+|+d"v rd}+|�!t          |¦  «                             ¦   «         nd},|,d"v rd},|*d#v r|,s|*},d}*|)�|&r|*s|+s|s
|s|(s|#s|,sd$},|                     |)|&|*|+|�!t          |¦  «                             ¦   «         nd|$|%|||(|#||'|,d%œ¦  «         �Œ;|S )&uY   Cleans File 2: Káº¾T QUáº¢ MáºªU TUáº¦N 37.xlsx (col 13=DL, 14=HT, 15=DK, 16=DH, 19=Note)Tr[   Nr^   r%   r'   r&   r]   r_   r`   ra   rb   rc   rd   r!   re   rf   rg   é   é   u   NgÆ°á»�i láº­pr   rB   ri   rj   rk   rl   rm   rn   ro   rp   r?   rq   rr   rt   ru   rv   r…   )-r   rŽ   r�   r�   r‘   r’   r“   r”   rw   rx   ry   rz   r{   r|   r}   r•   r–   r—   r€   r�   Útrang_thai_dlr˜   r™   rƒ   r„   rš   r~   r   r›   rœ   r�   r‚   Ú	tt_dl_strrž   rŸ   r    r¡   r¢   r£   r¤   r¥   r¦   r§   r¨   r©   s-                                                r   Úclean_file2z#DataCleanerAndMergerT37.clean_file2´  sï  € åÔ# I¸Ð>Ñ>Ô>ˆØŒYˆàˆ	ØˆØˆ	å�y "¤*¨q¡.Ñ1Ô1ð E	ñ E	ˆAØ—'’'˜!˜Q‘-”-Ô%ˆCØ—g’g˜a ‘m”mÔ)ˆGØ—G’G˜A˜q‘M”MÔ'ˆEØ—G’G˜A˜q‘M”MÔ'ˆEØŸš  A™œÔ,ˆJØŸš  1™œÔ+ˆIØ—g’g˜a ‘m”mÔ)ˆGà—w’w˜q !‘}”}Ô*ˆHØŸš  1™œÔ+ˆIØ—g’g˜a ‘n”nÔ*ˆGà—w’w˜q "‘~”~Ô+ˆHØ—w’w˜q "‘~”~Ô+ˆHàŸGšG A r™NœNÔ0ˆMØŸGšG A r™NœNÔ0ˆMØŸGšG A r™NœNÔ0ˆMà—G’G˜A˜r‘N”NÔ(ˆEØ—g’g˜a ‘n”nÔ*ˆGà�  °E°MÀeÀmØÐ" yÐ'8¸W¸_ØÐ  YÐ%6¸7¸?ØÐ  XÐ%5¸'¸/Ùå�G‘”×"Ò"Ñ$Ô$Ð(8Ò8Ð8½CÀ¹M¼M×<OÒ<OÑ<QÔ<QÐUiÒ<iÐ<iÐorÐozð  @Gð  @Oð  TYð  Tað  fkð  fsÙà29Ð2E�#˜g™,œ,×,Ò,Ñ.Ô.Ð.È2ˆKà× Ò Ñ"Ô"Ð&AÐAÐAÙàð .Ø"-�àˆHØˆBØ4<Ð4H�3˜x™=œ=×.Ò.Ñ0Ô0Ð0ÈbˆLØ6?Ð6K�C 	™NœN×0Ò0Ñ2Ô2Ð2ÐQSˆMØ29Ð2E�#˜g™,œ,×,Ò,Ñ.Ô.Ð.È2ˆKà×!Ò!Ñ#Ô# sÒ*Ð*Ø"��Ø×$Ò$Ñ&Ô&¨#Ò-Ð-Ø"��Øð ! ×!2Ò!2Ñ!4Ô!4¸Ò!;Ð!;Ø!�Ø �àˆJØ6CÐ6O�˜MÑ*Ô*×0Ò0Ñ2Ô2Ð2ÐUWˆIØ6CÐ6O�˜MÑ*Ô*×0Ò0Ñ2Ô2Ð2ÐUWˆIØ6CÐ6O�˜MÑ*Ô*×0Ò0Ñ2Ô2Ð2ÐUWˆIà�ŠÑ Ô  CÒ'Ð'Ø!�
�
Ø—’Ñ"Ô" cÒ)Ð)Ø!�
�
Ø—’Ñ"Ô" cÒ)Ð)Ø"�
àAIÐS˜T×3Ò3°HÑ=Ô=Ð=ÈtˆNà"Ÿošo¨iÑ8Ô8ˆOØ ŸOšO¨GÑ4Ô4ˆMà+6ÐK˜K˜K¸OˆMàˆKØÐ ¥S¨¡Z¤Z×%5Ò%5Ñ%7Ô%7×%=Ò%=Ñ%?Ô%?À3Ò%FÐ%FØ!�àˆHØÐ#Ý˜h­Ñ,Ô,ð 	ðÝ#&¥u¨X×-=Ò-=¸cÀ2Ñ-FÔ-F×-LÒ-LÑ-NÔ-NÑ'OÔ'OÑ#PÔ#P˜˜øðØ˜øøøðÝ#& x¡=¤=˜˜øðØ˜øøøàˆIØˆðÝ #¥E­#¨c©(¬(×*:Ò*:¸3ÀÑ*CÔ*CÑ$DÔ$DÑ EÔ E�I�IøðØ�Døøøà05Ð0A�#˜e™*œ*×*Ò*Ñ,Ô,Ð,ÀtˆKØ˜lÐ*Ð*Ø"�à05Ð0A�#˜e™*œ*×*Ò*Ñ,Ô,Ð,ÀtˆKØ˜lÐ*Ð*Ø"�à4;Ð4G�C ™LœL×.Ò.Ñ0Ô0Ð0ÈTˆMØ Ð,Ð,Ø $�àÐhÐhÐhØ$ð 0Ø$/�MØ"�àÐ$¨Ð$¸{Ð$ÐS^Ð$ÐgqÐ$ð  {CÐ$ð  LTÐ$ð  ]kÐ$Ø$ð 8Ø$7�Mà×ÒØ Ø(Ø$Ø$Ø9CÐ9O�c *™oœo×3Ò3Ñ5Ô5Ð5ÐUYØ,Ø(Ø$ØØ$Ø*Ø(Ø$Ø(ðð ñ ô ð ñ ð" Ðs%   Ó#AT&Ô&T*Ô.T>Ô>UÕ
=VÖVc                 óø  ‡‡— t          j        |d¬¦  «        }d|j        v rdnd|j        v rdn|j        d         }||         Šg }d}d}d}t          ||d	z   ¦  «        D �]™Šˆˆfd
„t          d	‰j        d	z   ¦  «        D ¦   «         }t          d„ |D ¦   «         ¦  «        rŒB|d         }	|d	         }
|d         }|d         }|d         }|d         }|d         }|d         }|d         }|d         }|d         }|d         }|d         }t          |¦  «        dk    r|d         �|d         nt          |¦  «        dk    r|d         nd}t          |¦  «        dk    r|d         nd}|�Bt          |¦  «                             ¦   «         r!t          |¦  «                             ¦   «         }d}|€|€|€
|€|€|€|€d}d}|s¸|�:t          |¦  «                             ¦   «          	                    ¦   «         dk    rd}n||�:t          |¦  «                             ¦   «          	                    ¦   «         dk    rd}n@|�:t          |¦  «                             ¦   «          	                    ¦   «         dk    rd}n|�d}d}|s‰|r3t          |¦  «                             ¦   «          	                    ¦   «         nd}|r3t          |¦  «                             ¦   «          	                    ¦   «         nd}|dk    rd}n|d k    rd!}n	|d"v rd#}nd!}|r|  
                    |¦  «        nd}|                     d|d|�!t          |¦  «                             ¦   «         nd|�!t          |¦  «                             ¦   «         nd|                      |
¦  «        |                      |¦  «        ||�!t          |¦  «                             ¦   «         nd|sd	nd||d|�!t          |¦  «                             ¦   «         ndd$œ¦  «         �Œ›|S )%z-Cleans W37.xlsx sheet W37 from row 536 to 548Tr[   ÚW37u   nháº­pr   i  i$  Nr%   c                 óF   •— g | ]}‰                      ‰|¦  «        j        ‘ŒS © )r‹   rŒ   )rG   Úcolr”   r�   s     €€r   rI   z:DataCleanerAndMergerT37.clean_w37_file.<locals>.<listcomp>S  s(   ø€ ÐUÐUÐU°#˜Ÿš  3™œÔ-ÐUÐUÐUr   c              3   óh   K  — | ]-}|d u p$t          |¦  «                             ¦   «         dk    V — Œ.d S )NrB   )r1   r2   )rG   Úxs     r   ú	<genexpr>z9DataCleanerAndMergerT37.clean_w37_file.<locals>.<genexpr>T  s>   è è € ÐGÐG¸�1˜�9Ð4¥ A¡¤§¢¡¤°"Ò 4ÐGÐGÐGÐGÐGÐGr   r'   r&   r^   r`   rb   rc   rd   r!   re   r¬   é   é   r­   é   Frj   rk   rl   rB   rn   ÚXONGro   )u
   Ä�ANG LÃ€Mu
   CHÆ¯A LÃ€Mrp   rv   )r†   r‡   Ú
sheetnamesr‰   Ú
max_columnÚallrD   r1   r2   rE   rY   rN   r=   ) r   rŽ   r�   Ú
sheet_namer‘   r“   Úend_rowr’   Úrow_valsrw   r|   rx   Ú	ma_so_maur{   Ú
hien_trangr•   r–   Úloai_dcÚloai_lailair„   Úgo_valr�   Ú	ngay_xongÚ	status_kyÚis_support_onlyr~   r‚   Úhien_trang_strÚstatus_ky_strÚ
tech_cleanr”   r�   s                                  @@r   Úclean_w37_filez&DataCleanerAndMergerT37.clean_w37_fileF  s›  øø€ åÔ# I¸Ð>Ñ>Ô>ˆØ# r¤}Ð4Ð4�U�UÀxÐSUÔS`ÐG`ÐG`¸8¸8ÐfhÔfsÐtuÔfvˆ
Ø�
Œ^ˆàˆ	Øˆ	Øˆàˆå�y '¨A¡+Ñ.Ô.ð H	ñ H	ˆAØUÐUÐUÐUÐU½¸qÀ"Ä-ÐRSÑBSÑ9TÔ9TÐUÑUÔUˆHÝÐGÐG¸hÐGÑGÔGÑGÔGð Øà˜1”+ˆCØ  œˆIØ˜q”kˆGØ  œˆIØ! !œˆJØ! !œˆJà ”{ˆHØ  œˆIØ˜r”lˆGØ" 2œ,ˆKà˜r”lˆGØ˜b”\ˆFØ ”|ˆHÝ(+¨H©¬¸Ò(:Ð(:¸xÈ¼|Ð?W˜ œ˜ÕnqÐrzÑn{Ôn{ð  Aò  oAð  oAÐ^fÐgiÔ^jÐ^jð  GKˆIÝ(+¨H©¬¸Ò(:Ð(:˜ œ˜ÀˆIàÐ"¥s¨7¡|¤|×'9Ò'9Ñ';Ô';Ð"Ý"% g¡,¤,×"4Ò"4Ñ"6Ô"6�à#ˆOØÐ  ZÐ%7¸HÐ<LÐQZÐQbÐgnÐgvð  |Gð  |Oð  T\ð  TdØ"&�àˆHØ"ð 'ØÐ'­C°©M¬M×,?Ò,?Ñ,AÔ,A×,GÒ,GÑ,IÔ,IÈSÒ,PÐ,PØ&�H�HØÐ*­s°9©~¬~×/CÒ/CÑ/EÔ/E×/KÒ/KÑ/MÔ/MÐQTÒ/TÐ/TØ&�H�HØÐ(­S°©\¬\×-?Ò-?Ñ-AÔ-A×-GÒ-GÑ-IÔ-IÈSÒ-PÐ-PØ&�H�HØ Ð,Ø&�HàˆJØ"ð &ØDNÐ!V¥ Z¡¤×!6Ò!6Ñ!8Ô!8×!>Ò!>Ñ!@Ô!@Ð!@ÐTV�ØBKÐ S¥ I¡¤× 4Ò 4Ñ 6Ô 6× <Ò <Ñ >Ô >Ð >ÐQS�à  CÒ'Ð'Ø!%�J�JØ# vÒ-Ð-Ø!%�J�JØ#Ð'CÐCÐCØ!&�J�Jà!%�Jà=EÐO˜×/Ò/°Ñ9Ô9Ð9È4ˆJà×ÒØØ*ØØ3<Ð3H�˜Y™œ×-Ò-Ñ/Ô/Ð/ÈdØ9CÐ9O�c *™oœo×3Ò3Ñ5Ô5Ð5ÐUYØ!Ÿ_š_¨YÑ7Ô7ØŸ?š?¨9Ñ5Ô5Ø$Ø-3Ð-?•c˜&‘k”k×'Ò'Ñ)Ô)Ð)ÀTØ%4Ð>˜A˜A¸$Ø&Ø(ØØ3:Ð3F�3˜w™<œ<×-Ò-Ñ/Ô/Ð/ÈDðð ñ ô ð ñ ð" Ðr   c                 óÒ  — t          j        t           j                             |¦  «        d¬¦  «         t	          j        ¦   «         }|j        }d|_        g d¢}t          dd¬¦  «        }t          ddd¬	¦  «        }t          d
d
d¬¦  «        }t          t          d¬¦  «        t          d¬¦  «        t          d¬¦  «        t          d¬¦  «        ¬¦  «        }	t          |d¦  «        D ]8\  }
}|                     d|
|¦  «        }||_        ||_        ||_        |	|_        Œ9t          |d¦  «        D ]Ô\  }}|d         |d         |d         |d         |d         |d         |d         |d         |d         |d         |d         |d         |d         |d         g}t          |d¦  «        D ]Z\  }
}|                     ||
|¦  «        }|	|_        |
dk    rt          d
¬¦  «        |_        Œ?|
d k    rt          d
¬¦  «        |_        Œ[ŒÕg d!¢}t          |d¦  «        D ]$\  }}||j        t)          |¦  «                 _        Œ%|                     |¦  «         t/          d"|› �¦  «         d#S )$z4Helper to write data rows to standardized Excel fileT©Úexist_oku   LÃ m sáº¡ch)ÚSttu	   NhÃ  mÃ¡yu	   MÃ£ PT/KHu   MÃ£ NMu   KhÃ¡ch hÃ ngu   NgÃ y nháº­nu   NgÃ y HTu   Loáº¡i máº«uÚSPu   Sá»‘ lÆ°á»£ngu   Ká»¹ thuáº­tu   Tráº¡ng thÃ¡iu   CÃ³ Ä�Hu   Ghi chÃºrd   )ÚboldÚsizeÚD9E1F2Úsolid)Ústart_colorÚ	end_colorÚ	fill_typeÚcenter)Ú
horizontalÚverticalÚ	wrap_textÚthin)Ústyle)ÚleftÚrightÚtopÚbottomr%   r'   rw   rx   ry   rz   r{   r|   r}   r~   r   r€   r�   r‚   rƒ   r„   )rÜ   rc   )r^   r¹   r¹   rº   r¹   rf   rf   rc   é   ra   r"   rc   ra   é(   zFile saved to: N)ÚosÚmakedirsÚpathÚdirnamer†   ÚWorkbookrˆ   Útitler   r   r   r   r   Ú	enumerater‹   ÚfontÚfillÚ	alignmentÚborderÚcolumn_dimensionsr   ÚwidthÚsaveÚprint)r   r‘   Úoutput_pathÚwb_outÚws_outÚheadersÚheader_fontÚheader_fillÚheader_alignmentÚthin_borderÚcol_idxÚhr‹   Úrow_idxr”   Úrow_datar6   Ú
col_widthsÚirH   s                       r   Úsave_to_excelz%DataCleanerAndMergerT37.save_to_excelž  s¬  € å
Œ•B”G—O’O KÑ0Ô0¸4Ð@Ñ@Ô@Ð@ÝÔ"Ñ$Ô$ˆØ”ˆØ$ˆŒð Ið  Ið  IˆÝ ¨2Ð.Ñ.Ô.ˆÝ!¨hÀ(ÐV]Ð^Ñ^Ô^ˆÝ$°À8ÐW[Ð\Ñ\Ô\ÐÝÝ˜FÐ#Ñ#Ô#Ý˜VÐ$Ñ$Ô$Ý˜6Ð"Ñ"Ô"Ý˜fÐ%Ñ%Ô%ð	
ñ 
ô 
ˆõ $ G¨QÑ/Ô/ð 	&ð 	&‰JˆG�QØ—;’;˜q '¨1Ñ-Ô-ˆDØ#ˆDŒIØ#ˆDŒIØ-ˆDŒNØ%ˆDŒKˆKå# I¨qÑ1Ô1ð 	Dð 	D‰JˆG�Qà�%”Ø�)”Ø�'”
Ø�'”
Ø�,”Ø�+”Ø�)”Ø�*”Ø�$”Ø�*”Ø�*”Ø�,”Ø�'”
Ø�)”ðˆHõ  !*¨(°AÑ 6Ô 6ð Dð D‘�˜Ø—{’{ 7¨G°SÑ9Ô9�Ø)�”Ø˜a’<�<Ý%.¸(Ð%CÑ%CÔ%C�D”N�NØ ’]�]Ý%.¸(Ð%CÑ%CÔ%C�D”NøðDð KÐJÐJˆ
Ý˜j¨!Ñ,Ô,ð 	Eð 	E‰DˆAˆqØCDˆFÔ$Õ%6°qÑ%9Ô%9Ô:Ô@Ð@à�Š�KÑ Ô Ð ÝÐ- Ð-Ð-Ñ.Ô.Ð.Ð.Ð.r   c                 óÒ
  — d}d}d}d}t          j        |d¬¦  «         t          d|¦  «         |                      |¦  «        }t          dt	          |¦  «        › d	�¦  «         |                      |t           j                             |d
¦  «        ¦  «         t          d|¦  «         |                      |¦  «        }t          dt	          |¦  «        › d�¦  «         |                      |t           j                             |d¦  «        ¦  «         t          d|¦  «         |  	                    |¦  «        }t          dt	          |¦  «        › d�¦  «         |                      |t           j                             |d¦  «        ¦  «         g }d}	d }
|D ]C}|d         �|d         |
k    r|	dz  }	|d         }
|	|d<   nd |d<   | 
                    |¦  «         ŒDd }
|D ]C}|d         �|d         |
k    r|	dz  }	|d         }
|	|d<   nd |d<   | 
                    |¦  «         ŒDi }|D ]G}|d         r=|d         �5|d         ||d                              ¦   «                              ¦   «         <   ŒH|D ]t}|d         r,|d                              ¦   «                              ¦   «         nd}|r ||v r||         |d<   n|	dz  }	|	||<   |	|d<   nd |d<   | 
                    |¦  «         Œu|	}t          d|› dt	          |¦  «        › �¦  «         t           j                             |d¦  «        }|                      ||¦  «         t          d|› �¦  «         t           j                             |d¦  «        }dddddœ}dddddœ}d}d}|D ]–}|d         }|d         }|d         }|d          }||v r||xx         dz  cc<   n|                     |d¦  «        dz   ||<   ||v r||xx         dz  cc<   n|                     |d¦  «        dz   ||<   |d!k    r|dz  }|r||z  }Œ—d"t          j        ¦   «                              d#¦  «        › d$|› d%t	          |¦  «        › d&|› d'|› d(|                     d)d¦  «        › d*|                     d+d¦  «        › d,|                     d-d¦  «        › d.|                     d/d¦  «        › d0|                     d1d¦  «        › d2|                     d3d¦  «        › d4|                     d d¦  «        › d5|                     d d¦  «        › d6|› d7�}t#          |d8d9¬:¦  «        5 }|                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t          d;|› �¦  «         d S )<Nu   TUáº¦N 37 (07.09-12.09).xlsxu    Káº¾T QUáº¢ MáºªU TUáº¦N 37.xlsxzW37.xlsxzda lam sachTrÐ   zCleaning file 1:zCleaned z rows from file 1z$Tuan_37_File1_Chinh_DA-LAM-SACH.xlsxzCleaning file 2:z rows from file 2z"Tuan_37_File2_KQM_DA-LAM-SACH.xlsxzCleaning file 3 (W37):z rows from file 3z"Tuan_37_File3_W37_DA-LAM-SACH.xlsxr   rw   r%   rx   rB   z Combined data. Total factories: z, Total rows: z$Tuan_37_07.09-12.09_DA-LAM-SACH.xlsxz)Master Cleaned and merged data saved to: zBao_cao_lam_sach_Tuan37.md)rk   rl   rm   N)rn   ro   rp   Nr~   r‚   r€   rƒ   rj   u  # BÃ�O CÃ�O LÃ€M Sáº CH Dá»® LIá»†U - TUáº¦N 37

## ThÃ´ng tin chung
- **File gá»‘c 1 (ChÃ­nh)**: TUáº¦N 37 (07.09-12.09).xlsx
- **File gá»‘c 2 (KhÃ¡ch láº»)**: Káº¾T QUáº¢ MáºªU TUáº¦N 37.xlsx
- **File gá»‘c 3 (Nháº­t kÃ½ W37)**: W37.xlsx (Sheet: W37, DÃ²ng 536-548)
- **File sáº¡ch Ä‘áº§u ra tá»•ng há»£p**: `Tuan_37_07.09-12.09_DA-LAM-SACH.xlsx`
- **CÃ¡c file sáº¡ch tá»«ng pháº§n**:
  - `Tuan_37_File1_Chinh_DA-LAM-SACH.xlsx`
  - `Tuan_37_File2_KQM_DA-LAM-SACH.xlsx`
  - `Tuan_37_File3_W37_DA-LAM-SACH.xlsx`
- **NgÃ y xá»­ lÃ½**: r$   u@   

## Thá»‘ng kÃª dá»¯ liá»‡u gá»™p
- **Tá»•ng sá»‘ nhÃ  mÃ¡y**: u&   
- **Tá»•ng sá»‘ dÃ²ng dá»¯ liá»‡u**: u6   
- **Tá»•ng sáº£n lÆ°á»£ng sáº£n pháº©m lÃ m máº«u**: u6    cÃ¡i
- **Sá»‘ lÆ°á»£ng máº«u Ä‘Ã£ cÃ³ Ä‘Æ¡n hÃ ng**: uŸ    máº«u

| Loáº¡i máº«u | Sá»‘ lÆ°á»£ng dÃ²ng | Tráº¡ng thÃ¡i | Sá»‘ lÆ°á»£ng dÃ²ng |
|----------|---------------|------------|---------------|
| Máº«u Má»›i | rk   u    | Ä�Ã£ KÃ½ (DK) | rn   u    |
| Máº«u NhÃ¢n | rl   u    | HoÃ n ThÃ nh (HT) | ro   u    |
| Máº«u Bá»™ | rm   u    | Ä�ang lÃ m (Ä�L) | rp   u%    |
| KhÃ´ng lÃ m máº«u / ChÆ°a rÃµ | u    | ChÆ°a rÃµ / Trá»‘ng | u‹   |

## CÃ¡c thao tÃ¡c Ä‘Ã£ thá»±c hiá»‡n
1. **LÃ m sáº¡ch riÃªng biá»‡t & gá»™p chuáº©n hÃ³a 3 file nguá»“n**: 
   - Ä�á»�c dá»¯ liá»‡u tá»« file chÃ­nh `TUáº¦N 37 (07.09-12.09).xlsx` (tá»« dÃ²ng 12, tá»± Ä‘á»™ng nháº­n diá»‡n cáº¥u trÃºc cá»™t Ä‘áº·c thÃ¹).
   - Ä�á»�c dá»¯ liá»‡u tá»« file khÃ¡ch láº» `Káº¾T QUáº¢ MáºªU TUáº¦N 37.xlsx` (tá»« dÃ²ng 5, loáº¡i bá»� dÃ²ng tá»•ng káº¿t vÃ  dÃ²ng kÃ½ tÃªn).
   - Ä�á»�c dá»¯ liá»‡u tá»« sá»• theo dÃµi `W37.xlsx` (Sheet "W37", cÃ¡c dÃ²ng má»›i tá»« 536 Ä‘áº¿n 548).
2. **Ä�Ã¡nh láº¡i sá»‘ thá»© tá»± (Stt) nhÃ  mÃ¡y liÃªn tá»¥c**: Ä�áº£m báº£o sá»‘ thá»© tá»± nhÃ  mÃ¡y tÄƒng liÃªn tá»¥c tá»« 1 Ä‘áº¿n u3  .
3. **Chuáº©n hÃ³a ká»¹ thuáº­t viÃªn**: Sá»­ dá»¥ng bá»™ quy táº¯c chuáº©n hÃ³a tÃªn ká»¹ thuáº­t viÃªn (xá»­ lÃ½ tÃ¡ch gá»™p nhÃ³m, chuáº©n hÃ³a lá»—i chÃ­nh táº£ vÃ  Ä‘á»‹nh dáº¡ng danh xÆ°ng).
4. **PhÃ¢n tÃ¡ch cá»™t Loáº¡i máº«u vÃ  Tráº¡ng thÃ¡i**: Ã�nh xáº¡ Ä‘Ãºng cÃ¡c trÆ°á»�ng tÆ°Æ¡ng á»©ng tá»« cá»™t ban Ä‘áº§u vá»� Ä‘á»‹nh dáº¡ng chuáº©n (DK, HT, Ä�L vÃ  Má»›i, NhÃ¢n, Bá»™).
5. **Xá»­ lÃ½ cÃ¡c nhÃ  mÃ¡y khÃ´ng lÃ m máº«u**: Tá»± Ä‘á»™ng chuyá»ƒn cÃ¡c báº£n ghi "KHÃ”NG CÃ“ MáºªU" / "KHÃ”NG LÃ€M MáºªU" sang cá»™t Ghi chÃº má»™t cÃ¡ch chuáº©n xÃ¡c.
rH   r   r   zMarkdown report written to: )rç   rè   rõ   rª   rD   r  ré   rO   r°   rÎ   rN   r2   rE   Úgetr	   Únowr0   ÚopenÚwrite)r   Úf1Úf2Úf3Ú
output_dirÚrows1Úrows2Úrows3Úcombined_rowsÚcurrent_new_sttÚlast_seen_orig_sttr”   Úfactory_to_sttÚnm_keyÚtotal_factoriesÚmaster_output_pathÚreport_pathÚtypes_countÚstatus_countÚco_dh_countÚ	total_qtyÚlmÚttÚqtyÚdhÚreport_contentÚfs                              r   ÚrunzDataCleanerAndMergerT37.run×  s
  € Ø+ˆØ/ˆØˆà#ˆ
Ý
Œ�J¨Ð.Ñ.Ô.Ð.åÐ  "Ñ%Ô%Ð%Ø× Ò  Ñ$Ô$ˆÝÐ6�˜U™œÐ6Ð6Ð6Ñ7Ô7Ð7Ø×Ò˜5¥"¤'§,¢,¨zÐ;aÑ"bÔ"bÑcÔcÐcåÐ  "Ñ%Ô%Ð%Ø× Ò  Ñ$Ô$ˆÝÐ6�˜U™œÐ6Ð6Ð6Ñ7Ô7Ð7Ø×Ò˜5¥"¤'§,¢,¨zÐ;_Ñ"`Ô"`ÑaÔaÐaåÐ&¨Ñ+Ô+Ð+Ø×#Ò# BÑ'Ô'ˆÝÐ6�˜U™œÐ6Ð6Ð6Ñ7Ô7Ð7Ø×Ò˜5¥"¤'§,¢,¨zÐ;_Ñ"`Ô"`ÑaÔaÐað ˆØˆð "ÐØð 	$ð 	$ˆAØ�ŒxÐ#Ø�U”8Ð1Ò1Ð1Ø# qÑ(�OØ)*¨5¬Ð&Ø*��%‘�à��%‘Ø× Ò  Ñ#Ô#Ð#Ð#ð "ÐØð 	$ð 	$ˆAØ�ŒxÐ#Ø�U”8Ð1Ò1Ð1Ø# qÑ(�OØ)*¨5¬Ð&Ø*��%‘�à��%‘Ø× Ò  Ñ#Ô#Ð#Ð#ð ˆØð 	Hð 	HˆAØ�Œ|ð H  %¤Ð 4Ø?@À¼x�˜q œ|×1Ò1Ñ3Ô3×9Ò9Ñ;Ô;Ñ<øàð 	$ð 	$ˆAØ56°y´\ÐI�Q�y”\×'Ò'Ñ)Ô)×/Ò/Ñ1Ô1Ð1ÀrˆFØð  Ø˜^Ð+Ð+Ø-¨fÔ5�A�e‘H�Hà# qÑ(�OØ-<�N 6Ñ*Ø.�A�e‘H�Hà��%‘Ø× Ò  Ñ#Ô#Ð#Ð#à)ˆÝÐd°ÐdÐdÕPSÐTaÑPbÔPbÐdÐdÑeÔeÐeõ  œWŸ\š\¨*Ð6\Ñ]Ô]ÐØ×Ò˜=Ð*<Ñ=Ô=Ð=ÝÐNÐ:LÐNÐNÑOÔOÐOõ ”g—l’l :Ð/KÑLÔLˆà !¨A°qÀÐBÐBˆØ q°¸!Ð<Ð<ˆØˆØˆ	àð 	!ð 	!ˆAØ�:”ˆBØ�<”ˆBØ�J”-ˆCØ�7”ˆBà�[Ð Ð Ø˜B��” 1Ñ$��‘�à"-§/¢/°"°aÑ"8Ô"8¸1Ñ"<�˜B‘à�\Ð!Ð!Ø˜RÐ Ð Ô  AÑ%Ð Ð Ñ Ð à#/×#3Ò#3°B¸Ñ#:Ô#:¸QÑ#>�˜RÑ à�SŠyˆyØ˜qÑ �àð !Ø˜SÑ �	øð#õ  ”|‘~”~×.Ò.¨zÑ:Ô:ð#ð #ð .ð#ð #õ '*¨-Ñ&8Ô&8ð#ð #ð  7@ð!#ð #ð" 2=ð##ð #ð* —’ ¨!Ñ,Ô,ð+#ð #ð* BN×AQÒAQÐRVÐXYÑAZÔAZð+#ð #ð, —’ ¨!Ñ,Ô,ð-#ð #ð, FR×EUÒEUÐVZÐ\]ÑE^ÔE^ð-#ð #ð. —’ ¨Ñ*Ô*ð/#ð #ð. CO×BRÒBRÐSXÐZ[ÑB\ÔB\ð/#ð #ð0 $/§?¢?°4¸Ñ#;Ô#;ð1#ð #ð0 Wc×VfÒVfÐgkÐmnÑVoÔVoð1#ð #ð> JYð?#ð #ð #ˆõH �+˜s¨WÐ5Ñ5Ô5ð 	$¸Ø�GŠG�NÑ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$åÐ:¨[Ð:Ð:Ñ;Ô;Ð;Ð;Ð;s   Ô(U
Õ
UÕUN)Ú__name__Ú
__module__Ú__qualname__r   r=   rY   rª   r°   rÎ   r  r#  r´   r   r   r   r      s¤   € € € € € ð@
ð @
ð @
ðD#ð #ð #ðJ3,ð 3,ð 3,ðjJð Jð JðXPð Pð PðdVð Vð Vðp7/ð 7/ð 7/ðrR<ð R<ð R<ð R<ð R<r   r   Ú__main__)r†   Úopenpyxl.stylesr   r   r   r   r   Úopenpyxl.utilsr   r	   r
   r3   rç   ÚsysÚstdoutÚreconfigurer   r$  Úcleanerr#  r´   r   r   ú<module>r.     sû   ðØ €€€Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø 	€	€	€	Ø 	€	€	€	Ø 
€
€
€
à „
× Ò  Ð Ñ (Ô (Ð (ð^<ð ^<ð ^<ð ^<ð ^<ñ ^<ô ^<ð ^<ð@ ˆzÒÐØ%Ð%Ñ'Ô'€GØ‡K‚K�M„M€M€M€Mð Ðr   