Ë
    ŸŸ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                  j                  d¬«        G d„ d«      Zed	k(  r e«       Zej'                  «        yy)
é    N)ÚFontÚ	AlignmentÚPatternFillÚBorderÚSide)Úget_column_letter)ÚdatetimeÚdateúutf-8©Úencodingc                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	ÚDataCleanerAndMergerT36c                 óœ  — 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/d0“d1d2“d3d2“¥i d4d5“d6d5“d7d8“d9d8“d:d;“d<d=“d>d?“d@d?“dAdB“dCdB“dDdE“dFd2“dGd0“dHdI“dJdI“dKdL“dMdN“¥i dOdP“dQd;“dRdS“dTdU“dVdW“dXdY“dZd[“d\d]“d^d_“d`da“dbda“dcd8“ddde“dfd0“dgdh“didh“djdh“¥i dkdh“dldm“dndo“dpdq“drds“dtdu“dvdu“dwdx“dydz“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“�d�d“�d�d“�d�d“�d�d“�d�d“¥�d�d�d�d �d!dU�d"�d#�d$�d%œ	¥| _         y (&  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   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   há»“ tiáº¿n sÄ©u   Há»“ Tiáº¿n SÄ©u   há»“ tiáº¿n sá»¹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   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   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   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
   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   NÃ´ng Quá»‘c Toáº£nu   HÃ¹ngu   Nguyá»…n Minh Khangu   Nguyá»…n HoÃ ng Giangu   Ä�Ã´ngu   Pháº¡m VÄƒn DÅ©ngu   TrÃ¬nh)	u   ngÃ´ trá»�ng nhÃ¢nu   nÃ´ng quá»‘c toáº£nu   hÃ¹ngu   nguyá»…n minh khangu   nguyá»…n hoÃ ng giangu   xuÃ¢nu   Ä‘Ã´ngu   pháº¡m vÄƒn dÅ©ngu   trÃ¬nh)Úkythuat_map)Úselfs    úHC:\Claw 2\Bao cao - Hanh chinh\Bao cao lam mau\clean_and_merge_tuan36.pyÚ__init__z DataCleanerAndMergerT36.__init__   sl
  € ðu
Ø˜Nðu
à˜>ðu
ð  Ð!5ðu
ð !Ð"6ð	u
ð
 "Ð#8ðu
ð #Ð$:ðu
ð !Ð"8ðu
ð "Ð#9ðu
ð "Ð#9ðu
ð #Ð$:ðu
ð !Ð"8ðu
ð  Ð!7ðu
ð Ð+ðu
ð $Ð%=ðu
ð %Ð&>ðu
ð  !Ð"6ð!u
ð" !Ð"6ñ#u
ð$  Ð!5ð%u
ð& "Ð#8ð'u
ð( !Ð"6ð)u
ð* !Ð"6ð+u
ð, #Ð$:ð-u
ð. "Ð#9ð/u
ð0 "Ð#8ð1u
ð2  Ð!6ð3u
ð4 Ð*ð5u
ð6 Ð 2ð7u
ð8 ˜Nð9u
ð: ˜_ð;u
ð< ˜_ð=u
ð> Ð 2ð?u
ð@ !Ð"6ðAu
ðB  Ð!4ðCu
ðD Ð2òEu
ðF Ð0ðGu
ðH Ð 1ðIu
ðJ Ð.ðKu
ðL !Ð"2ðMu
ðN $Ð%<ðOu
ðP !Ð"6ðQu
ðR Ð/ðSu
ðT  Ð!4ðUu
ðV ˜NðWu
ðX " >ðYu
ðZ ˜Nð[u
ð\ Ð0ð]u
ð^ Ð/ð_u
ð` Ð/ðau
ðb "Ð#8ðcu
ðd ˜=ðeu
ðf $Ð%<ògu
ðh !Ð"Bðiu
ðj Ð0ðku
ðl Ð 2ðmu
ðn ˜ðou
ðp  Ð!4ðqu
ðr ˜_ðsu
ðt 'Ð(Bðuu
ðv �Wðwu
ðx �Wðyu
ðz �6ð{u
ð| �Fð}u
ð~ Ð'ðu
ð@ �WðAu
ðB Ð)ðCu
ðD Ð'ðEu
ðF Ð)ðGu
ðH Ð)òIu
ðJ Ð(ðKu
ðL  Ð!4ðMu
ðN ˜_ðOu
ðP  Ð!4ðQu
ðR &Ð'@ðSu
ðT $Ð%<ðUu
ðV #Ð$;ðWu
ðX %Ð&>ðYu
ðZ #Ð$:ð[u
ð\ !Ð"6ð]u
ð^ Ð 2ð_u
ð`  Ð!4ðau
ðb "Ð#8ðcu
ðd #Ð$:ðeu
ðf  Ð!4ðgu
ðh ˜_ðiu
ðj "Ð#8òku
ðl Ð0ðmu
ðn Ð0ðou
ðp ˜_ðqu
ðr Ð0ðsu
ðt Ð)ðuu
ðv �hðwu
ðx �hðyu
ðz Ð0ð{u
ð| Ð%ð}u
ð~ Ð0ðu
ð@  Ð!4ðAu
ðB  Ð!4ðCu
ðD ˜_ðEu
ðF �oðGu
ðH % oðIu
ðJ Ð+ðKu
ðL  Ð!4òMu
ðN $Ð%<ðOu
ðP Ð3ðQu
ðR !Ð"6ðSu
ðT "Ð#8ðUu
ðV #Ð$9ðWu
ðX Ð 2ðYu
ðZ Ð0ð[u
ð\ 'Ð(9ð]u
ð^ (Ð);ð_u
ð` Ð 2ðau
ðb Ð(ðcu
ðd Ð0ðeu
ðf " >ðgu
ðh ˜Nðiu
ðj Ð2ðku
ðl "Ð#8ðmu
ðn Ð+òou
ðp Ð0ðqu
ðr Ð'ðsu
ðt !Ð"6ðuu
ðv  Ð!4ðwu
ðx  Ð!6ðyu
ðz "Ð#8ð{u
ð| Ð0ð}u
ð~ !Ð"6ðu
ð@ Ð/ðAu
ðB "Ð#8ðCu
ðD ˜,ðEu
ðF &Ð'@ðGu
ðH Ð 2ðIu
ðJ ˜=ðKu
ðL !Ð"6ðMu
ðN !Ð"6ðOu
ðP �5òQu
ðR $Ð%<ðSu
ðT !Ð"6ðUu
ðV #Ð$:ðWu
ðX "Ð#9ðYu
ðZ !Ð"6ð[u
ð\ Ð*ð]u
ð^ !Ð"6ð_u
ð` "Ð#8ðau
ðb Ð0ðcu
ðd �Wðeu
ðf %Ð&>ðgu
ðh Ð5ðiu
ðj $Ð%<ðku
ðl ˜Nðmu
ðn #Ð$:ðou
ðp Ð(ðqu
ðr �yòsu
ðt  Ð!4ðuu
ñv !Ñ"6ðwu
ñx "Ñ#8ðyu
ñz Ñ0ð{u
ñ| Ñ0ð}u
ñ~ %Ñ&>ðu
ñ@ Ñ 2ðAu
ñB !Ñ"8ðCu
ñD #Ñ$:ðEu
ñF ‘WðGu
ñH ‘WðIu
ñJ ‘hðKu
ñL ™=ðMu
ñN Ñ 2ðOu
ñP Ñ1ðQu
ñR Ñ0ðSu
ñT "Ñ#8ñUu
ñV #7Ù#8ÙÙ#8Ù%<Ø Ùá!4Ùóiu
ˆÕó    c                 óÔ  — |€yt        |t        «      r3|j                  }|dkD  rd}|j                  d›d|j                  d›d|› �S t        |t
        «      r3|j                  }|dkD  rd}|j                  d›d|j                  d›d|› �S t        |t        t        f«      rF	 t        ddd«      }|t        d«      j                  t        |«      ¬	«      z   }|j                  d
«      S t        |«      j                  «       }|syt        j                  d|«      r|S t        j                  d|«      }|rIt        |j                  d«      «      }|dkD  rd}|j                  d«      › d|j                  d«      › d|› �S t        j                  d|«      }|r:t        |j                  d«      «      d›dt        |j                  d«      «      d›d�S |S #  t        t        |«      «      cY S xY w)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"DataCleanerAndMergerT36.parse_dateÅ   sÄ  € àˆ;ØÜ�cœ8Ô$Ø—8‘8ˆDØ�dŠ{Ø�Ø—g‘g˜c�] ! C§I¡I¨c ?°!°D°6Ð:Ð:Ü�cœ4Ô Ø—8‘8ˆDØ�dŠ{Ø�Ø—g‘g˜c�] ! C§I¡I¨c ?°!°D°6Ð:Ð:Ü�cœC¤˜<Ô(ð%Ü  b¨"Ó-�Øœ: jÓ1×;Ñ;ÄÀSÃÐ;ÓJÑJ�Ø—z‘z *Ó-Ð-ô �‹H�N‰NÓˆÙØÜ�8‰8Ð*¨AÔ.ØˆHÜ�H‰HÐ0°!Ó4ˆÙÜ�Q—W‘W˜Q“Z“ˆBØ�DŠyØ�Ø—g‘g˜a“j�\  1§7¡7¨1£: ,¨a°¨tÐ4Ð4Ü�X‰XÐ.°Ó2ˆÙÜ˜"Ÿ(™( 1›+Ó& sÐ+¨1¬S°·±¸!³Ó-=¸cÐ,BÀ%ÐHÐHØˆøð!%Üœ3˜s›8“}Ò$ús   Â!AG ÇG'c                 óB  — |€yt        |«      j                  «       }|sy|j                  d«      }|j                  «       j                  «       }|dk(  ry|dk(  ry|dk(  ryt	        j
                  d	|t        j                  ¬
«      }g }|D �]y  }|j                  «       }|sŒt	        j                  dd|«      }t	        j                  dd|«      j                  «       }|s |j                  |j                  «       «       Œut	        j                  dd|t        j                  ¬
«      j                  «       }|sŒ­|j                  «       j                  «       }|| j                  v r|j                  | j                  |   «       Œø|j                  «       }	|	D �
cg c]G  }
t        |
«      dkD  r'|
d   j                  «       |
dd j                  «       z   n|
j                  «       ‘ŒI }}
|j                  dj                  |«      «       �Œ| |sydj                  |«      S c c}
w )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   [,+\n/&.]+|\band\b|\bvÃ \b)Úflagsz\s+Ú z\(.*?\)Ú u   kt\s+c[Äƒa]m\s+t[aii].*$r%   r   z , )r1   r2   ÚrstripÚlowerr3   ÚsplitÚ
IGNORECASEÚsubÚappendr   ÚlenÚupperÚjoin)r   Únamer9   Ús_lowerÚpartsÚnormalized_partsÚpartÚ
part_cleanÚp_lowerÚwordsÚwÚnormalized_wordss               r   Únormalize_kythuatz)DataCleanerAndMergerT36.normalize_kythuatê   sß  € àˆ<ØÜ�‹I�O‰OÓˆÙØð �H‰H�S‹Mˆð —'‘'“)—/‘/Ó#ˆØÐ/Ò/ØOØ�mÒ#Ø1Ø�mÒ#Ø1ô —‘Ð6¸ÄÇÁÔOˆØÐÜˆDØ—:‘:“<ˆDÙØÜ—6‘6˜& # tÓ,ˆDÜŸ™ 
¨B°Ó5×;Ñ;Ó=ˆJÙØ ×'Ñ'¨¯
©
«Ô5ØäŸ™Ð ;¸RÀÔSU×S`ÑS`Ôa×gÑgÓiˆJÙØà ×&Ñ&Ó(×.Ñ.Ó0ˆGØ˜$×*Ñ*Ñ*Ø ×'Ñ'¨×(8Ñ(8¸Ñ(AÕBà"×(Ñ(Ó*�ÙglÓ#mÑglÐbcÄCÈÃFÈQÂJ A a¡D§J¡J£L°1°Q°R°5·;±;³=Ò$@ÐTU×T[ÑT[ÓT]Ñ$]ÐglÐ Ð#mØ ×'Ñ'¨¯©Ð1AÓ(BÖCð) ñ,  ØØ�z‰zÐ*Ó+Ð+ùò $ns   ÆAHc                 ó|  — t        j                  |d¬«      }|j                  }g }d}t        ||j                  dz   «      D �]a  }|j                  |d«      j                  }	|j                  |d«      j                  }
|j                  |d«      j                  }|j                  |d«      j                  }|j                  |d«      j                  }|j                  |d	«      j                  }|j                  |d
«      j                  }|j                  |d«      j                  }|j                  |d«      j                  }|j                  |d«      j                  }|j                  |d«      j                  }|j                  |d«      j                  }|j                  |d«      j                  }|j                  |d«      j                  }|j                  |d«      j                  }|j                  |d«      j                  }|j                  ||«      j                  }|	€|
€|€|€|€|€|€|€|€
|€|€|€|€�Œüt        |«      j                  «       dk(  st        |«      j                  «       dk(  r
|	€|
€|€|€�Œ>|
�t        |
«      j                  «       nd}|j                  «       dv r�Œo|r|}d}d}|�t        |«      j                  «       nd}|�t        |«      j                  «       nd}|�t        |«      j                  «       nd}|j                  «       dk(  rd}n/|j                  «       dk(  rd}n|r|j                  «       dk7  rd}|}d} |�t        |«      j                  «       nd}!|�t        |«      j                  «       nd}"|�t        |«      j                  «       nd}#|#j                  «       dk(  rd} n+|"j                  «       dk(  rd} n|!j                  «       dk(  rd} |r| j                  |«      nd}$| j                  |«      }%| j                  |«      }&|r|n|}'d}(|�,t        |«      j                  «       j                  «       dk(  rd}(|})|)�Pt        |)t        «      r4	 t        t        |)j                  dd«      j                  «       «      «      })n	 t        |)«      })|	}*|	�.	 t        t        t        |	«      j                  d d«      «      «      }*|�t        |«      j                  «       nd}+|+d!v rd}+|�t        |«      j                  «       nd},|,d!v rd},|�t        |«      j                  «       nd}-|-d!v rd}-|+d"v r|-s|+}-d}+|*�|'r|+s|,s|s
|s|)s|$s|-sd#}-|j!                  |*|'|+|,|�t        |«      j                  «       nd|%|&|||)|$| |(|-d$œ«       �Œd |S #  Y ŒýxY w#  Y �ŒxY w#  Y ŒÚxY w)%z8Cleans a single weekly report file and returns data rowsT©Ú	data_onlyNr%   r'   r&   é   é   é   é   é   é	   é
   é   r!   é   é   é   é   u   NgÆ°á»�i láº­pr   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áºªUro   ©Ú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   rJ   rV   r=   r(   r,   r-   ÚreplacerH   ).r   Ú	file_pathÚ	start_rowÚghi_chu_colÚwbÚwsÚ	data_rowsÚcurrent_nha_mayÚrrq   rr   rs   rt   ru   rv   rw   Úloai_moiÚ	loai_nhanÚloai_borz   r{   Útrang_thai_dlÚtrang_thai_htÚtrang_thai_dkr}   r~   Únha_may_strrx   ry   Úloai_moi_strÚloai_nhan_strÚloai_bo_strr|   Ú	tt_dl_strÚ	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_source_filez)DataCleanerAndMergerT36.clean_source_file  sÆ  € ä×#Ñ# I¸Ô>ˆØ�Y‰Yˆàˆ	Øˆä�y "§*¡*¨q¡.×1ˆAØ—'‘'˜!˜Q“-×%Ñ%ˆCØ—g‘g˜a “m×)Ñ)ˆGØ—G‘G˜A˜q“M×'Ñ'ˆEØ—G‘G˜A˜q“M×'Ñ'ˆEØŸ™  A›×,Ñ,ˆJØŸ™  1›×+Ñ+ˆIØ—g‘g˜a “m×)Ñ)ˆGà—w‘w˜q !“}×*Ñ*ˆHØŸ™  1›×+Ñ+ˆIØ—g‘g˜a “n×*Ñ*ˆGà—w‘w˜q "“~×+Ñ+ˆHØ—w‘w˜q "“~×+Ñ+ˆHàŸG™G A r›N×0Ñ0ˆMØŸG™G A r›N×0Ñ0ˆMØŸG™G A r›N×0Ñ0ˆMà—G‘G˜A˜r“N×(Ñ(ˆEØ—g‘g˜a Ó-×3Ñ3ˆGð �  °E°MÀeÀmØÐ" yÐ'8¸W¸_ØÐ  YÐ%6¸7¸?ØÐ  XÐ%5¸'¸/Ùô �G“×"Ñ"Ó$Ð(8Ò8¼CÀ»M×<OÑ<OÓ<QÐUiÒ<iÐorÐozð  @Gð  @Oð  TYð  Tað  fkð  fsÙà29Ð2Eœ#˜g›,×,Ñ,Ô.È2ˆKà× Ñ Ó"Ð&AÑAÙáØ"-�àˆHØˆBØ4<Ð4Hœ3˜x›=×.Ñ.Ô0ÈbˆLØ6?Ð6KœC 	›N×0Ñ0Ô2ÐQSˆMØ29Ð2Eœ#˜g›,×,Ñ,Ô.È2ˆKà×!Ñ!Ó# sÒ*Ø"‘Ø×$Ñ$Ó&¨#Ò-Ø"‘Ù ×!2Ñ!2Ó!4¸Ò!;Ø!�Ø �àˆJØ6CÐ6Oœ˜MÓ*×0Ñ0Ô2ÐUWˆIØ6CÐ6Oœ˜MÓ*×0Ñ0Ô2ÐUWˆIØ6CÐ6Oœ˜MÓ*×0Ñ0Ô2ÐUWˆIð �‰Ó  CÒ'Ø!‘
Ø—‘Ó" cÒ)Ø!‘
Ø—‘Ó" cÒ)Ø"�
áAI˜T×3Ñ3°HÔ=ÈtˆNà"Ÿo™o¨iÓ8ˆOØ ŸO™O¨GÓ4ˆMá+6™K¸OˆMàˆKØÐ ¤S¨£Z×%5Ñ%5Ó%7×%=Ñ%=Ó%?À3Ò%FØ!�àˆHØÐ#Ü˜h¬Ô,ðÜ#&¤u¨X×-=Ñ-=¸cÀ2Ó-F×-LÑ-LÓ-NÓ'OÓ#P™ðÜ#& x£=˜ð ˆIØˆðÜ #¤E¬#¨c«(×*:Ñ*:¸3ÀÓ*CÓ$DÓ E�Ið 16Ð0Aœ#˜e›*×*Ñ*Ô,ÀtˆKØ˜lÑ*Ø"�à05Ð0Aœ#˜e›*×*Ñ*Ô,ÀtˆKØ˜lÑ*Ø"�à4;Ð4GœC ›L×.Ñ.Ô0ÈTˆMØ Ñ,Ø $�àÐhÑhÙ$Ø$/�MØ"�àÐ$©¹{ÑS^Ñgqñ  {Cñ  LTñ  ]kÙ$Ø$7�Mà×ÑØ Ø(Ø$Ø$Ø9CÐ9Oœc *›o×3Ñ3Ô5ÐUYØ,Ø(Ø$ØØ$Ø*Ø(Ø$Ø(ñö ðs 2ðT ÐøðkÙûðÚûðÙús$   Ñ02V(Ò$V/Ò4-V7Ö(V,Ö/V4Ö7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 �]ê  }	t        d|j                  dz   «      D �
cg c]  }
|j                  |	|
«      j                  ‘Œ  }}
t        d	„ |D «       «      rŒW|d   }|d   }|d
   }|d   }|d   }|d   }|d   }|d   }|d   }|d   }|d   }|d   }|d   }t        |«      dkD  r
|d   �|d   nt        |«      dkD  r|d   nd}t        |«      dkD  r|d   nd}|�2t        |«      j                  «       rt        |«      j                  «       }d}|€|€|€
|€|€|€|€d}d}|s‘|�-t        |«      j                  «       j                  «       dk(  rd}nb|�-t        |«      j                  «       j                  «       dk(  rd}n3|�-t        |«      j                  «       j                  «       dk(  rd}n|�d}d}|so|r't        |«      j                  «       j                  «       nd}|r't        |«      j                  «       j                  «       nd}|dk(  rd}n|dk(  rd}n	|d v rd!}nd}|r| j                  |«      nd} |j                  d|d|�t        |«      j                  «       nd|�t        |«      j                  «       nd| j                  |«      | j                  |«      ||�t        |«      j                  «       nd|sdnd| |d|�t        |«      j                  «       ndd"œ«       �Œí |S c c}
w )#u$   Cleans W36.xlsx sheet nháº­p row 535TrX   u   nháº­pÚW36r   i  Nr%   c              3   ó`   K  — | ]&  }|d u xs t        |«      j                  «       dk(  –— Œ( y ­w)NrB   )r1   r2   )Ú.0Úxs     r   Ú	<genexpr>z9DataCleanerAndMergerT36.clean_w36_file.<locals>.<genexpr>½  s,   è ø€ ÐG¹h¸�1˜�9Ò4¤ A£§¡£°"Ñ 4Ó4¹hùs   ‚,.r'   r&   r[   r]   r_   r`   ra   r!   rb   re   é   é   é   é   Frf   rg   rh   rB   rj   ÚXONGrk   )u
   Ä�ANG LÃ€Mu
   CHÆ¯A LÃ€Mrl   rp   )r   r€   Ú
sheetnamesr‚   Ú
max_columnr„   r…   ÚallrI   r1   r2   rJ   rV   rH   r=   )!r   r‡   rŠ   Ú
sheet_namer‹   rŒ   rˆ   Úend_rowr�   rŽ   ÚcolÚrow_valsrq   rv   rr   Ú	ma_so_mauru   Ú
hien_trangr�   r�   Úloai_dcÚloai_lailair~   Úgo_valr{   Ú	ngay_xongÚ	status_kyÚis_support_onlyrx   r|   Úhien_trang_strÚstatus_ky_strÚ
tech_cleans!                                    r   Úclean_w36_filez&DataCleanerAndMergerT36.clean_w36_file¯  s¿  € ä×#Ñ# I¸Ô>ˆØ!)¨R¯]©]Ñ!:‘XÈ%ÐSU×S`ÑS`ÑJ`ÁÐfh×fsÑfsÐtuÑfvˆ
Ø�
‰^ˆàˆ	Øˆ	Øˆàˆä�y '¨A¡+×.ˆAÜ9>¸qÀ"Ç-Á-ÐRSÑBSÔ9TÓUÑ9T°#˜Ÿ™  3›×-Ó-Ð9TˆHÐUÜÑG¹hÓ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{ð  Aò  oAÐ^fÐgiÒ^jð  GKˆIÜ(+¨H«¸Ò(:˜ šÀˆIàÐ"¤s¨7£|×'9Ñ'9Ô';Ü"% g£,×"4Ñ"4Ó"6�à#ˆOØÐ  ZÐ%7¸HÐ<LÐQZÐQbÐgnÐgvð  |Gð  |Oð  T\ð  TdØ"&�àˆHÙ"ØÐ'¬C°«M×,?Ñ,?Ó,A×,GÑ,GÓ,IÈSÒ,PØ&‘HØÐ*¬s°9«~×/CÑ/CÓ/E×/KÑ/KÓ/MÐQTÒ/TØ&‘HØÐ(¬S°«\×-?Ñ-?Ó-A×-GÑ-GÓ-IÈSÒ-PØ&‘HØ Ð,Ø&�HàˆJÙ"ÙDN¤ Z£×!6Ñ!6Ó!8×!>Ñ!>Ô!@ÐTV�ÙBK¤ I£× 4Ñ 4Ó 6× <Ñ <Ô >ÐQS�à  CÒ'Ø!%‘JØ# vÒ-Ø!%‘JØ#Ð'CÑCØ!&‘Jà!%�Já=E˜×/Ñ/°Ô9È4ˆJà×ÑØØ*ØØ3<Ð3Hœ˜Y›×-Ñ-Ô/ÈdØ9CÐ9Oœc *›o×3Ñ3Ô5ÐUYØ!Ÿ_™_¨YÓ7ØŸ?™?¨9Ó5Ø$Ø-3Ð-?”c˜&“k×'Ñ'Ô)ÀTÙ%4™A¸$Ø&Ø(ØØ3:Ð3Fœ3˜w›<×-Ñ-Ô/ÈDñö ðs /ðT ÐùòS Vs   Â#Mc                 ó  — t        j                  t         j                  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 ]4  \  }
}|j                  d|
|«      }||_        ||_        ||_        |	|_        Œ6 t        |d«      D ]›  \  }}|d   |d   |d   |d   |d   |d   |d   |d   |d   |d   |d   |d   |d   |d   g}t        |d«      D ]M  \  }
}|j                  ||
|«      }|	|_        |
dk(  rt        d
¬«      |_        Œ7|
d k(  sŒ=t        d
¬«      |_        ŒO Œ� g d!¢}t        |d«      D ]"  \  }}||j&                  t)        |«         _        Œ$ |j-                  |«       t/        d"|› �«       y#)$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Ãºra   )ÚboldÚsizeÚD9E1F2Úsolid)Ústart_colorÚ	end_colorÚ	fill_typeÚcenter)Ú
horizontalÚverticalÚ	wrap_textÚthin)Ústyle)ÚleftÚrightÚtopÚbottomr%   r'   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   )rÒ   r`   )r[   r­   r­   r®   r­   rc   rc   r`   é   r^   r"   r`   r^   é(   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ÚirT   s                       r   Úsave_to_excelz%DataCleanerAndMergerT36.save_to_excel  s  € ä
�‰”B—G‘G—O‘O KÓ0¸4Õ@Ü×"Ñ"Ó$ˆØ—‘ˆØ$ˆŒò 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ð 0ô $ I¨qÖ1‰JˆG�Qà�%‘Ø�)‘Ø�'‘
Ø�'‘
Ø�,‘Ø�+‘Ø�)‘Ø�*‘Ø�$‘Ø�*‘Ø�*‘Ø�,‘Ø�'‘
Ø�)‘ðˆHô  !*¨(°AÖ 6‘�˜Ø—{‘{ 7¨G°SÓ9�Ø)�”Ø˜a’<Ü%.¸(Ô%C�D•NØ “]Ü%.¸(Ô%C�D•Nñ !7ð# 2ò2 Kˆ
Ü˜j¨!Ö,‰DˆAˆqØCDˆF×$Ñ$Ô%6°qÓ%9Ñ:Õ@ð -ð 	�‰�KÔ Ü� ˜}Ð-Õ.r   c                 ó4	  — d}d}d}d}t        j                  |d¬«       t        d|«       | j                  |dd	¬
«      }t        dt	        |«      › d�«       | j                  |t         j                  j                  |d«      «       t        d|«       | j                  |dd¬
«      }t        dt	        |«      › d�«       | j                  |t         j                  j                  |d«      «       t        d|«       | j                  |«      }t        dt	        |«      › d�«       | j                  |t         j                  j                  |d«      «       g }d}	d }
|D ]5  }|d   �|d   |
k7  r
|	dz  }	|d   }
|	|d<   nd |d<   |j                  |«       Œ7 d }
|D ]5  }|d   �|d   |
k7  r
|	dz  }	|d   }
|	|d<   nd |d<   |j                  |«       Œ7 i }|D ]5  }|d   sŒ	|d   €Œ|d   ||d   j                  «       j                  «       <   Œ7 |D ]_  }|d   r!|d   j                  «       j                  «       nd}|r||v r	||   |d<   n|	dz  }	|	||<   |	|d<   nd |d<   |j                  |«       Œa |	}t        d|› dt	        |«      › �«       t         j                  j                  |d«      }| j                  ||«       t        d|› �«       t         j                  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|j                  |d«      dz   ||<   ||v r||xx   dz  cc<   n|j                  |d«      dz   ||<   |d&k(  r|dz  }|sŒx||z  }Œ~ d't        j                  «       j                  d(«      › d)|› d*t	        |«      › d+|› d,|› d-|j                  d.d«      › d/|j                  d0d«      › d1|j                  d2d«      › d3|j                  d4d«      › d5|j                  d6d«      › d7|j                  d8d«      › d9|j                  d d«      › d:|j                  d d«      › d;|› d<�}t!        |d=d>¬?«      5 }|j#                  |«       d d d «       t        d@|› �«       y # 1 sw Y   ŒxY w)ANu   TUáº¦N 36 (01.09-06.09).xlsxu    Káº¾T QUáº¢ MáºªU TUáº¦N 36.xlsxzW36.xlsxzda lam sachTrÆ   zCleaning file 1:r!   r­   )rˆ   r‰   zCleaned z rows from file 1z$Tuan_36_File1_Chinh_DA-LAM-SACH.xlsxzCleaning file 2:r[   r¯   z rows from file 2z"Tuan_36_File2_KQM_DA-LAM-SACH.xlsxzCleaning file 3 (W36):z rows from file 3z"Tuan_36_File3_W36_DA-LAM-SACH.xlsxr   rq   r%   rr   rB   z Combined data. Total factories: z, Total rows: z$Tuan_36_01.09-06.09_DA-LAM-SACH.xlsxz)Master Cleaned and merged data saved to: zBao_cao_lam_sach_Tuan36.md)rg   rh   ri   N)rj   rk   rl   Nrx   r|   rz   r}   rf   u  # BÃ�O CÃ�O LÃ€M Sáº CH Dá»® LIá»†U - TUáº¦N 36

## ThÃ´ng tin chung
- **File gá»‘c 1 (ChÃ­nh)**: TUáº¦N 36 (01.09-06.09).xlsx
- **File gá»‘c 2 (KhÃ¡ch láº»)**: Káº¾T QUáº¢ MáºªU TUáº¦N 36.xlsx
- **File gá»‘c 3 (Nháº­t kÃ½ W36)**: W36.xlsx (Sheet: nháº­p, DÃ²ng 535)
- **File sáº¡ch Ä‘áº§u ra tá»•ng há»£p**: `Tuan_36_01.09-06.09_DA-LAM-SACH.xlsx`
- **CÃ¡c file sáº¡ch tá»«ng pháº§n**:
  - `Tuan_36_File1_Chinh_DA-LAM-SACH.xlsx`
  - `Tuan_36_File2_KQM_DA-LAM-SACH.xlsx`
  - `Tuan_36_File3_W36_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 | rg   u    | Ä�Ã£ KÃ½ (DK) | rj   u    |
| Máº«u NhÃ¢n | rh   u    | HoÃ n ThÃ nh (HT) | rk   u    |
| Máº«u Bá»™ | ri   u    | Ä�ang lÃ m (Ä�L) | rl   u%    |
| KhÃ´ng lÃ m máº«u / ChÆ°a rÃµ | u    | ChÆ°a rÃµ / Trá»‘ng | u9   |

## 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 36 (01.09-06.09).xlsx` (tá»« dÃ²ng 12).
   - Ä�á»�c dá»¯ liá»‡u tá»« file khÃ¡ch láº» `Káº¾T QUáº¢ MáºªU TUáº¦N 36.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 `W36.xlsx` (Sheet "nháº­p", dÃ²ng 535).
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 uU  .
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" / "CHÆ¯A Gá»¬I Káº¾T QUáº¢ MáºªU" sang cá»™t Ghi chÃº má»™t cÃ¡ch chuáº©n xÃ¡c.
rT   r   r   zMarkdown report written to: )rÝ   rÞ   rë   r¦   rI   rú   rß   rK   rÄ   rH   r2   rJ   Ú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DataCleanerAndMergerT36.run@  s`  € Ø+ˆØ/ˆØˆà#ˆ
Ü
�‰�J¨Õ.äÐ  "Ô%Ø×&Ñ& r°RÀRÐ&ÓHˆÜ�œ˜U›˜Ð$5Ð6Ô7Ø×Ñ˜5¤"§'¡'§,¡,¨zÐ;aÓ"bÔcäÐ  "Ô%Ø×&Ñ& r°QÀBÐ&ÓGˆÜ�œ˜U›˜Ð$5Ð6Ô7Ø×Ñ˜5¤"§'¡'§,¡,¨zÐ;_Ó"`ÔaäÐ&¨Ô+Ø×#Ñ# BÓ'ˆÜ�œ˜U›˜Ð$5Ð6Ô7Ø×Ñ˜5¤"§'¡'§,¡,¨zÐ;_Ó"`Ôað ˆØˆð "ÐÛˆAØ�‰xÐ#Ø�U‘8Ð1Ò1Ø# qÑ(�OØ)*¨5©Ð&Ø*��%’à��%‘Ø× Ñ  Õ#ð ð "ÐÛˆAØ�‰xÐ#Ø�U‘8Ð1Ò1Ø# qÑ(�OØ)*¨5©Ð&Ø*��%’à��%‘Ø× Ñ  Õ#ð ð ˆÛˆAØ�‹|  %¡Ñ 4Ø?@À¹x�˜q ™|×1Ñ1Ó3×9Ñ9Ó;Ò<ð ó ˆAØ56°y²\�Q�y‘\×'Ñ'Ó)×/Ñ/Ô1ÀrˆFÙØ˜^Ñ+Ø-¨fÑ5�A�e’Hà# qÑ(�OØ-<�N 6Ñ*Ø.�A�e’Hà��%‘Ø× Ñ  Õ#ð ð *ˆÜÐ0°Ð0AÀÔPSÐTaÓPbÐOcÐdÔeô  ŸW™WŸ\™\¨*Ð6\Ó]ÐØ×Ñ˜=Ð*<Ô=ÜÐ9Ð:LÐ9MÐNÔOô —g‘g—l‘l :Ð/KÓLˆà !¨A°qÀÑBˆØ q°¸!Ñ<ˆØˆØˆ	ãˆAØ�:‘ˆBØ�<‘ˆBØ�J‘-ˆCØ�7‘ˆBà�[Ñ Ø˜B“ 1Ñ$”à"-§/¡/°"°aÓ"8¸1Ñ"<�˜B‘à�\Ñ!Ø˜RÓ  AÑ%Ô à#/×#3Ñ#3°B¸Ó#:¸QÑ#>�˜RÑ à�SŠyØ˜qÑ �âØ˜SÑ ‘	ð) ð,ô  —|‘|“~×.Ñ.¨zÓ:Ð;ð <ð .Ð.ð /&Ü&)¨-Ó&8Ð%9ð :6Ø6?°[ð A1Ø1<°ð >ð —‘ ¨!Ó,Ð-Ð-@À×AQÑAQÐRVÐXYÓAZÐ@[ð \Ø—‘ ¨!Ó,Ð-Ð-DÀ\×EUÑEUÐVZÐ\]ÓE^ÐD_ð `Ø—‘ ¨Ó*Ð+Ð+AÀ,×BRÑBRÐSXÐZ[ÓB\ÐA]ð ^#Ø#.§?¡?°4¸Ó#;Ð"<Ð<UÐVb×VfÑVfÐgkÐmnÓVoÐUpð qIð JYð  IZð Zð?#ˆôH �+˜s¨WÕ5¸Ø�G‰G�NÔ#÷ 6äÐ,¨[¨MÐ:Õ;÷ 6Ð5ús   Ñ%RÒRN)
Ú__name__Ú
__module__Ú__qualname__r   r=   rV   r¦   rÄ   rú   r  © r   r   r   r      s/   „ òw
òr#òJ/,òbRòhVòp7/ó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Ý ,ß #Û 	Û 	Û 
à ‡
�
× Ñ  Ð Ô (÷G<ñ G<ðR ˆzÒÙ%Ó'€GØ‡K�K…Mð r   