Ë
    VŒj×w  ã                   óâ   — 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)	ÚDataCleanerAndMergerT34c                 óø  — 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/d0“d1d0“d2d3“d4d3“¥i d5d6“d7d6“d8d9“d:d;“d<d=“d>d=“d?d@“dAd@“dBdC“dDd0“dEd.“dFdG“dHdG“dIdJ“dKdL“dMdN“dOd9“¥i dPdQ“dRdS“dTdU“dVdW“dXdY“dZd[“d\d]“d^d_“d`d_“dad6“dbdc“ddd.“dedf“dgdf“dhdf“didj“dkdl“¥i dmdn“dodp“dqdr“dsdt“dudv“dwdx“dydz“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�d�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   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   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Ã nu   khá»Ÿiu   VÃµ Quá»‘c 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 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   Nguyá»…n Trá»�ng NhÃ¢nu   Tráº§n VÄƒn KÃ©pu   Trá»‹nh VÄƒn Tháº¯ngu   Táº¡ou   ThÆ¡mu   Ä�oÃ nu   Thanh XuÃ¢n)	u   bÃ¹i quá»‘c quyu   nguyá»…n trá»�ng nhÃ¢nu   tráº§n vÄƒn kÃ©pu   trinh vÄƒn tháº±ngu   trá»‹nh vÄƒn tháº¯ngu   táº¡ou   thÆ¡mu   Ä‘oÃ nu   thanh xuÃ¢n)Úkythuat_map)Úselfs    úHC:\Claw 2\Bao cao - Hanh chinh\Bao cao lam mau\clean_and_merge_tuan34.pyÚ__init__z DataCleanerAndMergerT34.__init__   s`	  € ðd
Ø˜Nðd
à˜>ðd
ð  Ð!5ðd
ð "Ð#8ð	d
ð
 #Ð$:ðd
ð !Ð"8ðd
ð "Ð#9ðd
ð "Ð#9ðd
ð #Ð$:ðd
ð !Ð"8ðd
ð  Ð!7ðd
ð Ð+ðd
ð $Ð%=ðd
ð %Ð&>ðd
ð !Ð"6ðd
ð  !Ð"6ð!d
ð"  Ð!5ñ#d
ð$ "Ð#8ð%d
ð& !Ð"6ð'd
ð( !Ð"6ð)d
ð* #Ð$:ð+d
ð, "Ð#9ð-d
ð. "Ð#8ð/d
ð0  Ð!6ð1d
ð2 Ð 2ð3d
ð4 ˜Nð5d
ð6 ˜_ð7d
ð8 ˜_ð9d
ð: Ð 2ð;d
ð< !Ð"6ð=d
ð>  Ð!4ð?d
ð@ Ð2ðAd
ðB Ð0ðCd
ðD Ð 1òEd
ðF Ð.ðGd
ðH !Ð"2ðId
ðJ $Ð%<ðKd
ðL !Ð"6ðMd
ðN Ð/ðOd
ðP  Ð!4ðQd
ðR ˜NðSd
ðT " >ðUd
ðV ˜NðWd
ðX Ð0ðYd
ðZ Ð/ð[d
ð\ Ð/ð]d
ð^ "Ð#8ð_d
ð` ˜=ðad
ðb $Ð%<ðcd
ðd !Ð"Bðed
ðf Ð0ògd
ðh Ð 2ðid
ðj ˜ðkd
ðl  Ð!4ðmd
ðn ˜_ðod
ðp 'Ð(Bðqd
ðr �Wðsd
ðt �Wðud
ðv �6ðwd
ðx �Fðyd
ðz Ð'ð{d
ð| �Wð}d
ð~ Ð)ðd
ð@ Ð)ðAd
ðB Ð)ðCd
ðD Ð(ðEd
ðF  Ð!4ðGd
ðH ˜_òId
ðJ  Ð!4ðKd
ðL &Ð'@ðMd
ðN $Ð%<ðOd
ðP %Ð&>ðQd
ðR #Ð$:ðSd
ðT !Ð"6ðUd
ðV Ð 2ðWd
ðX  Ð!4ðYd
ðZ "Ð#8ð[d
ð\ #Ð$:ð]d
ð^  Ð!4ð_d
ð` ˜_ðad
ðb "Ð#8ðcd
ðd Ð0ðed
ðf Ð0ðgd
ðh ˜_ðid
ðj Ð0òkd
ðl Ð)ðmd
ðn �hðod
ðp �hðqd
ðr Ð0ðsd
ðt Ð%ðud
ðv Ð0ðwd
ðx  Ð!4ðyd
ðz  Ð!4ð{d
ð| ˜_ð}d
ð~ �oðd
ð@ % oðAd
ðB Ð+ðCd
ðD  Ð!4ðEd
ðF $Ð%<ðGd
ðH Ð3ðId
ðJ !Ð"6ðKd
ðL "Ð#8òMd
ðN #Ð$9ðOd
ðP Ð 2ðQd
ðR Ð0ðSd
ðT 'Ð(9ðUd
ðV (Ð);ðWd
ðX Ð 2ðYd
ðZ Ð(ð[d
ð\ Ð0ð]d
ð^ " >ð_d
ð` ˜Nðad
ðb Ð2ðcd
ðd "Ð#8ðed
ðf Ð+ðgd
ðh Ð0ðid
ðj Ð'ðkd
ðl !Ð"6ðmd
ðn  Ð!4òod
ðp  Ð!6ðqd
ðr "Ð#8ðsd
ðt Ð0ðud
ðv !Ð"6ðwd
ðx Ð/ðyd
ðz "Ð#8ð{d
ð| ˜,ð}d
ð~ &Ð'@ðd
ð@ Ð 2ðAd
ðB ˜=ðCd
ðD !Ð"6ðEd
ðF !Ð"6ðGd
ðH �5ðId
ðJ $Ð%<ðKd
ðL !Ð"6ðMd
ðN #Ð$:ðOd
ðP "Ð#9òQd
ðR !Ð"6ðSd
ðT Ð*ðUd
ðV !Ð"6ðWd
ðX "Ð#8ðYd
ðZ Ð0ð[d
ð\ �Wð]d
ð^ %Ð&>ð_d
ð` Ð5ðad
ðb $Ð%<ðcd
ðd ˜Nðed
ðf #Ð$:ðgd
ðh Ð(ðid
ðj �yðkd
ðn  Ð!4ðod
ðp !Ð"6ðqd
ðr "Ð#8ðsd
ñt Ñ0ñud
ñv  1Ù&>Ù 2Ù"8Ù$:ÙÙÙÙ(óGd
ˆÕó    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"DataCleanerAndMergerT34.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                 óâ  — |€yt        |«      j                  «       }|sy|j                  d«      }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   [,+\n/&.]+|\band\b|\bvÃ \b)Úflagsz\s+Ú z\(.*?\)Ú u   kt\s+c[Äƒa]m\s+t[aii].*$r$   r   z , )r0   r1   Úrstripr2   ÚsplitÚ
IGNORECASEÚsubÚappendÚlowerr   ÚlenÚupperÚjoin)r   Únamer8   ÚpartsÚnormalized_partsÚpartÚ
part_cleanÚp_lowerÚwordsÚwÚnormalized_wordss              r   Únormalize_kythuatz)DataCleanerAndMergerT34.normalize_kythuatÙ   s©  € àˆ<ØÜ�‹I�O‰OÓˆÙØð �H‰H�S‹Mˆô —‘Ð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G,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   rA   )u   Tá»”NGu   Tá»”NG Cá»˜NGÚXõ   Má»›iõ   NhÃ¢nõ   Bá»™ÚDKÚHTõ   Ä�Lr>   Ú=)ÚNonerA   )u   KHÃ”NG CÃ“ MáºªUõ   KHÃ”NG LÃ€M MáºªUrm   ©Ú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Úvaluer0   r1   rI   rT   r<   r'   r+   r,   ÚreplacerF   ).r   Ú	file_pathÚ	start_rowÚghi_chu_colÚwbÚwsÚ	data_rowsÚcurrent_nha_mayÚrro   rp   rq   rr   rs   rt   ru   Úloai_moiÚ	loai_nhanÚloai_borx   ry   Útrang_thai_dlÚtrang_thai_htÚtrang_thai_dkr{   r|   Únha_may_strrv   rw   Úloai_moi_strÚloai_nhan_strÚloai_bo_strrz   Ú	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)DataCleanerAndMergerT34.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Ø Ñ,Ø $�àÐGÑGÙ$Ø$/�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}||   }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   }|d   }|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 )#z-Cleans W34.xlsx sheet W34 from row 514 to 521TrV   ÚW34u   nháº­pi  i	  Nr$   c              3   ó`   K  — | ]&  }|d u xs t        |«      j                  «       dk(  –— Œ( y ­w)NrA   )r0   r1   )Ú.0Úxs     r   Ú	<genexpr>z9DataCleanerAndMergerT34.clean_w34_file.<locals>.<genexpr>£  s,   è ø€ ÐG¹h¸�1˜�9Ò4¤ A£§¡£°"Ñ 4Ó4¹hùs   ‚,.r   r&   r%   rY   r[   r]   r^   r_   r    r`   rc   é   é   é   Frd   re   rf   rA   rh   ÚXONGri   )u
   Ä�ANG LÃ€Mu
   CHÆ¯A LÃ€Mrj   rn   )r}   r~   Ú
sheetnamesr€   Ú
max_columnr‚   rƒ   Úallr0   r1   rI   rT   rF   r<   )!r   r…   rˆ   Ú
sheet_namer‰   rŠ   r†   Úend_rowr‹   rŒ   ÚcolÚrow_valsro   rt   rp   Ú	ma_so_maurs   Ú
hien_trangr�   rŽ   Úloai_dcÚloai_lailair|   Úgo_valry   Ú	ngay_xongÚ	status_kyÚis_support_onlyrv   rz   Úhien_trang_strÚstatus_ky_strÚ
tech_cleans!                                    r   Úclean_w34_filez&DataCleanerAndMergerT34.clean_w34_file•  sZ  € ä×#Ñ# I¸Ô>ˆØ# r§}¡}Ñ4‘U¸(ˆ
Ø�
‰^ˆàˆ	Øˆ	Øˆàˆä�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Ø  ™ˆIØ  ™ˆ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   Á%#K>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Ãºr_   )ÚboldÚsizeÚD9E1F2Úsolid)Ústart_colorÚ	end_colorÚ	fill_typeÚcenter)Ú
horizontalÚverticalÚ	wrap_textÚthin)Ústyle)ÚleftÚrightÚtopÚbottomr$   r&   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   )rÏ   r^   )rY   r«   r«   r¬   r«   ra   ra   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_datar5   Ú
col_widthsÚirR   s                       r   Úsave_to_excelz%DataCleanerAndMergerT34.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 34 (17.08-22.08).xlsxu   KQM TUáº¦N 34.xlsxzW34.xlsxzda lam sachTrÃ   zCleaning file 1:r    r«   )r†   r‡   zCleaned z rows from file 1z$Tuan_34_File1_Chinh_DA-LAM-SACH.xlsxzCleaning file 2:rY   é   z rows from file 2z"Tuan_34_File2_KQM_DA-LAM-SACH.xlsxzCleaning file 3 (W34):z rows from file 3z"Tuan_34_File3_W34_DA-LAM-SACH.xlsxr   ro   r$   rp   rA   z Combined data. Total factories: z, Total rows: z$Tuan_34_17.08-22.08_DA-LAM-SACH.xlsxz)Master Cleaned and merged data saved to: zBao_cao_lam_sach_Tuan34.md)re   rf   rg   N)rh   ri   rj   Nrv   rz   rx   r{   rd   u  # BÃ�O CÃ�O LÃ€M Sáº CH Dá»® LIá»†U - TUáº¦N 34

## ThÃ´ng tin chung
- **File gá»‘c 1 (ChÃ­nh)**: tuáº§n 34 (17.08-22.08).xlsx
- **File gá»‘c 2 (KhÃ¡ch láº»)**: KQM TUáº¦N 34.xlsx
- **File gá»‘c 3 (Nháº­t kÃ½ W34)**: W34.xlsx (Sheet: W34, DÃ²ng 514-521)
- **File sáº¡ch Ä‘áº§u ra tá»•ng há»£p**: `Tuan_34_17.08-22.08_DA-LAM-SACH.xlsx`
- **CÃ¡c file sáº¡ch tá»«ng pháº§n**:
  - `Tuan_34_File1_Chinh_DA-LAM-SACH.xlsx`
  - `Tuan_34_File2_KQM_DA-LAM-SACH.xlsx`
  - `Tuan_34_File3_W34_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 | re   u    | Ä�Ã£ KÃ½ (DK) | rh   u    |
| Máº«u NhÃ¢n | rf   u    | HoÃ n ThÃ nh (HT) | ri   u    |
| Máº«u Bá»™ | rg   u    | Ä�ang lÃ m (Ä�L) | rj   u%    |
| KhÃ´ng lÃ m máº«u / ChÆ°a rÃµ | u    | ChÆ°a rÃµ / Trá»‘ng | uC   |

## 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 34 (17.08-22.08).xlsx` (tá»« dÃ²ng 12).
   - Ä�á»�c dá»¯ liá»‡u tá»« file khÃ¡ch láº» `KQM TUáº¦N 34.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 `W34.xlsx` (Sheet "W34", cÃ¡c dÃ²ng má»›i tá»« 514 Ä‘áº¿n 521).
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.
rR   r   r   zMarkdown report written to: )rÚ   rÛ   rè   r¤   rH   r÷   rÜ   rJ   rÁ   rF   r1   rI   Úgetr	   Únowr/   Ú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DataCleanerAndMergerT34.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<   rT   r¤   rÁ   r÷   r  © r   r   r   r      s/   „ òf
òP#òJ&,òPRòhVòp7/órR<r   r   Ú__main__)r}   Úopenpyxl.stylesr   r   r   r   r   Úopenpyxl.utilsr   r	   r
   r2   rÚ   ÚsysÚstdoutÚreconfigurer   r  Úcleanerr  r  r   r   Ú<module>r#     s_   ðÛ ß FÕ FÝ ,ß #Û 	Û 	Û 
à ‡
�
× Ñ  Ð Ô (÷m
<ñ m
<ð^ ˆzÒÙ%Ó'€GØ‡K�K…Mð r   