ó
    'Áj]+  ã                   óä  • S SK r S SKrS SKrS SKJrJrJrJrJrJ	r	  S SK
JrJrJr  S SKJr  S SKrS SKJr  S SKJrJrJrJrJrJrJr  S SKJrJrJrJrJ r   S SK!J"r"  S S	K#J$r$  S S
K%J&r&  \" \" \" S5      5      /S9r'Sr(\'RS                  S\S9\" \5      \" \5      4S\S\S\RT                  4S jj5       r+\'RY                  S5      \" S5      \" \5      4S\	S\RT                  4S jj5       r-\'RY                  S5      \" S5      \" S5      \" \5      \" \5      4S\S\	S\.S\S\RT                  4
S jj5       r/\'RY                  S5      \" \5      \" \5      4S\S\S\RT                  4S jj5       r0g)é    N)Ú	APIRouterÚRequestÚDependsÚFormÚFileÚ
UploadFile)ÚHTMLResponseÚRedirectResponseÚJSONResponse)ÚSession)Úget_db)Úget_current_userÚget_working_company_idÚget_allowed_companies_listÚis_company_activeÚis_company_accessibleÚrequire_modulÚis_rendszeradminisztrator)ÚIMPORT_MEZOKÚimport_datum_parszolasÚimport_szam_parszolasÚletrehoz_uj_gepet_importbolÚfrissit_meglevo_gepet_importbol)Úkeres_duplikatum_gepet)Úhiba_uzenet)Ú	templatesÚEMELOGEP)Údependenciesiˆ  z/gep-import)Úresponse_classÚrequestÚdbÚcurrent_userc                 óÚ   • [        U5      (       d	  [        SS9$ [        X 5      n[        X!S5      n[        R
                  " U SUUU[         VVs/ s H	  u  pVXVS.PM     snnS.S9$ s  snnf )Nz/lista)Úurlr   zgep-import.html)ÚkulcsÚcimke)ÚuserÚcegekÚworking_company_idÚimport_mezok)r    ÚnameÚcontext)r   r
   r   r   r   ÚTemplateResponser   )r    r!   r"   r)   r(   ÚkÚcs          Ú(/var/www/website/routers/excel_import.pyÚgep_import_oldalr1      su   € ô % \×2Ñ2Ü HÑ-Ð-ä/°ÓFÐÜ& |¸ÓD€Eä×%Ò%ØØà ØØ"4ÝBNÔOÂ,¹$¸! qÔ5Á,ÒOñ	
ñ	ð 	ùó Ps   ÁA'z/gep-import/elemzes.Úfilec           	   ƒ   ó  #   • [        U5      (       d  [        SSS0S9$  U R                  5       I S h  v•N n[        R                  " [
        R                  " U5      SSS9nUR                  n[        UR                  SSSS95      nU Vs/ s H?  ofc  M  [        U5      R                  5       S	:w  d  M&  [        U5      R                  5       PMA     nnSU0$  N¤s  snf ! [         a   n[        S
S[        SS5      0S9s S nA$ S nAff = f7f)Né“  Úmessageõ   Nincs jogosultsÃ¡god!©Ústatus_codeÚcontentT©Ú	read_onlyÚ	data_onlyé   )Úmin_rowÚmax_rowÚvalues_onlyÚ é�  õd   Nem sikerÃ¼lt beolvasni a fÃ¡jlt - ellenÅ‘rizd, hogy Ã©rvÃ©nyes Excel (.xlsx) fÃ¡jlt vÃ¡lasztottÃ¡l!ú
E-EXCEL-01Úoszlopok)r   r   ÚreadÚopenpyxlÚload_workbookÚioÚBytesIOÚactiveÚnextÚ	iter_rowsÚstrÚstripÚ	Exceptionr   )	r2   r"   ÚtartalomÚwbÚsheetÚelso_sorr/   rE   Úes	            r0   Úgep_import_elemzesrV   5   s  é € ô
 % \×2Ñ2Ü¨°iÐAXÐ5YÑZÐZðEØŸ™›×$ˆÜ×#Ò#¤B§J¢J¨xÓ$8ÀDÐTXÑYˆØ—	‘	ˆÜ˜Ÿ™°¸1È$˜ÐOÓPˆÙ,4Ó_ªH q“NÌ#ÈaË&Ï,É,Ë.Ð\^ÑJ^“N”C˜“F—L‘L–N©HˆÐ_ð ˜Ð!Ð!ñ %ùò `øÜó EÜ¨°iÄð  Ntð  vBó  BCð  6Dñ  Eõ  	EûðEüsc   ‚D C ³C´AC ÂCÂCÂ5CÃC ÃDÃC ÃC Ã
D	Ã)DÃ>D	Ã?DÄD	Ä	Dz/gep-import/futtatasÚtarget_company_idc              ƒ   óJ	  ^#   • [        U5      (       d  [        SSS0S9$ [        XB5      (       d  [        SSS0S9$ [        X#5      (       d  [        SSS0S9$ UR                  (       a  [        SSS0S9$ U R                  5       I S h  v•N n0 n[         H&  u  pxUR                  SU 35      n	U	(       d  M"  X–U'   M(      UR                  5       I S h  v•N n
[        R                  " [        R                  " U
5      S	S	S
9nUR                  n[        [        R                   " UR#                  S	S9[$        S-   5      5      nU(       d  [        SSS0S9$ [+        U5      [$        :”  a  [        SSS[$         S30S9$ US    Vs/ s H   oÿb  [-        U5      R/                  5       OSPM"     nn0 mUR1                  5        H"  u  nnUU;   d  M  UR3                  U5      TU'   M$     U4S jnSn/ n [5        USS  SS9 GHí  u  nnUb  [7        S U 5       5      (       a  M#  U" US5      nUb  [-        U5      R/                  5       OSnU" US5      nU" US5      nU(       d  U(       d	  U(       d  Ms  [9        U" US5      5      n[9        U" US5      5      nU" US5      UUU" US5      UU" US 5      [;        U" US!5      5      U" US"5      U" US#5      U(       a  UR=                  5       OS U(       a  UR=                  5       OS U" US$5      U" US%5      S&.n[?        X2UUS"   5      nU(       a®  URA                  UURB                  URD                  (       a  URD                  RF                  OS'URH                  URJ                  URL                  URN                  URP                  URR                  URT                  URV                  URX                  S(.
S).5        GMÛ  [[        UX#U5        US-  nGMð     UR]                  5         UUS0.$  GN{ GN3! [&         a   n[        SS[)        SS5      0S9s S nA$ S nAff = fs  snf ! [&         a[  nUR_                  5         [a        S*W S+[c        U5      Rd                   S,U 35        [        SS[)        S-U S.3S/5      0S9s S nA$ S nAff = f7f)1Nr4   r5   r6   r7   õ%   Nincs jogosultsÃ¡god ehhez a cÃ©ghez!õ7   A cÃ©lcÃ©g inaktÃ­v stÃ¡tuszÃº, import nem futtathatÃ³!õM   Csak megtekintÃ©si jogosultsÃ¡ggal rendelkezel, szerkesztÃ©s nem lehetsÃ©ges!Úmap_Tr:   )r@   r=   rB   rC   rD   u   A fÃ¡jl Ã¼res!u6   TÃºl sok sor van a fÃ¡jlban (a fejlÃ©cen kÃ­vÃ¼l max. u;    sor engedÃ©lyezett) - bontsd kisebb fÃ¡jlokra az importot!r   rA   c                 óT   >• TR                  U5      nUb  U[        U 5      :¼  a  g X   $ ©N)ÚgetÚlen)Úsorr%   ÚidxÚoszlop_indexs      €r0   Ú
cellaertekÚ'gep_import_futtatas.<locals>.cellaerteky   s,   ø€ Ø×Ñ˜uÓ%ˆØ‰;˜#¤ S£›/ØØ‰xˆó    é   )Ústartc              3   ó(   #   • U  H  oS L v •  M
     g 7fr^   © )Ú.0r/   s     r0   Ú	<genexpr>Ú&gep_import_futtatas.<locals>.<genexpr>„   s   é € Ð!9²S° t¥)²Sùs   ‚Ú
gyari_szamÚhelyszinÚgyartoÚgyartas_datumÚuzembe_helyezes_datumÚ	telephelyÚtipusÚgeptipusÚuzemoraÚleltari_szamÚ
teherbirasÚstatuszÚ
megjegyzes)Úsite_nevÚ
megnevezesrp   rt   rn   ru   rv   rw   rx   rq   rr   ry   rz   Ú-)
rs   r|   rp   rt   ru   rv   rw   rx   ry   rz   )ÚadatÚmeglevo_gep_idÚmeglevo_adatu4   â�Œ Hiba az Excel import feldolgozÃ¡sa kÃ¶zben (sor z): ú: õ   Hiba tÃ¶rtÃ©nt a(z) u   . sor feldolgozÃ¡sa kÃ¶zben!z
E-EXCEL-02)Ú
letrehozvaÚkonfliktusok)3r   r   r   r   Úcsak_olvasasÚformr   r_   rF   rG   rH   rI   rJ   rK   ÚlistÚ	itertoolsÚislicerM   ÚMAX_IMPORT_SORrP   r   r`   rN   rO   ÚitemsÚindexÚ	enumerateÚallr   r   Ú	isoformatr   ÚappendÚidrs   Únevr|   rp   rt   ru   rv   rw   rx   ry   Úalapadat_megjegyzesr   ÚcommitÚrollbackÚprintÚtypeÚ__name__) r    r2   rW   r!   r"   Ú	form_dataÚoszlop_hozzarendelesr%   Ú_ÚertekrQ   rR   rS   ÚsorokrU   r/   ÚfejlecÚexcel_oszlop_nevrd   rƒ   r„   Úsor_szamra   Úgyari_szam_nyersrn   Úmegnevezes_nyersÚgyarto_nyersrq   Úuzembe_datumr~   Úmeglevorc   s                                   @r0   Úgep_import_futtatasr¦   I   sÎ  øé € ô % \×2Ñ2Ü¨°iÐAXÐ5YÑZÐZä  ×AÑAÜ¨°iÐAhÐ5iÑjÐjäÐ.×3Ñ3Ü¨°iÐAzÐ5{Ñ|Ð|à× × Ü¨°ið  BQð  6Rñ  Sð  	Sà—l‘l“n×$€IàÐß ‰ˆØ—‘  U G˜nÓ-ˆßˆ5Ø*/ Ó'ñ !ð
EØŸ™›×$ˆÜ×#Ò#¤B§J¢J¨xÓ$8ÀDÐTXÑYˆØ—	‘	ˆÜ”Y×%Ò% e§o¡oÀ$ oÐ&GÌÐZ[ÑI[Ó\Ó]ˆö Ü¨°iÐAQÐ5RÑSÐSä
ˆ5ƒz”NÓ"Ü¨°iÐCyô  {Ið  zJð  JEð  BFð  6Gñ  Hð  	Hà?DÀQºxÓHºx¸!¡Œc�!‹f�l‰lŒn°2Ò5¹x€FÐHØ€LØ#7×#=Ñ#=Ö#?ÑˆÐØ˜vÕ%Ø"(§,¡,Ð/?Ó"@ˆL˜Óñ $@õð €JØ€LðB
Ü& u¨Q¨R y¸Õ:‰MˆH�cØ‰{œcÑ!9±SÓ!9×9Ñ9Ùá)¨#¨|Ó<ÐØ:JÑ:VœÐ-Ó.×4Ñ4Ô6Ð\^ˆJá)¨#¨zÓ:ÐÙ% c¨8Ó4ˆLæÖ&6¾|Ùä2±:¸cÀ?Ó3SÓTˆMÜ1±*¸SÐBYÓ2ZÓ[ˆLñ ' s¨KÓ8Ø.Ø&Ù# C¨Ó1Ø(Ù& s¨JÓ7Ü0±¸CÀÓ1KÓLÙ *¨3°Ó ?Ù(¨¨lÓ;Þ>K ×!8Ñ!8Ô!:ÐQUÞEQ¨×)?Ñ)?Ô)AÐW[Ù% c¨9Ó5Ù(¨¨lÓ;ñˆDô$ -¨RÀJÐPTÐUcÑPdÓeˆGæØ×#Ñ#Ø Ø&-§j¡jà>E×>O×>O W×%6Ñ%6×%:Ò%:ÐUXØ&-×&8Ñ&8Ø")§.¡.Ø!(§¡Ø$+×$4Ñ$4Ø#*§?¡?Ø(/×(<Ñ(<Ø&-×&8Ñ&8Ø#*§?¡?Ø&-×&AÑ&Añ%ñ%ô ò  ä'¨Ð.?À\ÔRØ˜!‰O‹Jñq ;ðt 	�	‰	Œð %°lÑCÐCòS %ò %øô ó EÜ¨°iÄð  Ntð  vBó  BCð  6Dñ  Eõ  	EûðEüò IøôV ó 
Ø
�‰ŒÜÐDÀXÀJÈcÔRVÐWXÓRY×RbÑRbÐQcÐceÐfgÐehÐiÔjÜØØ¤Ð.BÀ8À*ÐLhÐ,iÐkwÓ xÐyñ
õ 	
ûð
üs    ƒBR#ÂPÂ	*R#Â7R#Ã P	 ÃPÃA.P	 ÅAR#Æ'P6Æ*R#Ç"R#Ç/HP; Ï>R#ÐP	 Ð	
P3ÐP.Ð(P3Ð)R#Ð.P3Ð3R#Ð;
R ÑARÒR ÒR#ÒR Ò R#z/gep-import/konfliktus-feloldasc           
   ƒ   ón  #   • [        U5      (       d  [        SSS0S9$ U R                  5       I S h  v•N nUR                  S5      nUR                  S/ 5      n[	        X$5      (       d  [        SSS0S9$ [        XA5      (       d  [        SSS0S9$ UR                  (       a  [        SSS	0S9$ S
nS
nS
n [        U5       Hí  u  pšU
R                  S5      nU
R                  S0 5      nUS:X  a¡  U
R                  S5      nUR                  [        R                  5      R                  [        R                  R                  U:H  [        R                  R                  U:H  5      R                  5       nU(       a  [        XìXAU5        US-  nMÍ  MÏ  US:X  a  [!        XÄX5        US-  nMè  US-  nMï     UR#                  5         XgUS.$  GN•! [$         a^  nUR'                  5         [)        SW	 S[+        U5      R,                   SU 35        [        SS[/        SU	S-    S3S5      0S9s S nA$ S nAff = f7f)Nr4   r5   r6   r7   rW   ÚdontesekrY   rZ   r[   r   Úactionr~   Ú	overwriter   r=   Únewu)   â�Œ Hiba a konfliktus-feloldÃ¡s kÃ¶zben (u   . dÃ¶ntÃ©s): r�   rB   r‚   u!   . dÃ¶ntÃ©s feldolgozÃ¡sa kÃ¶zben!z
E-EXCEL-03)rƒ   Ú	frissitveÚkihagyva)r   r   Újsonr_   r   r   r…   r�   ÚqueryÚmodelsÚMachineÚfilterr‘   Ú
company_idÚfirstr   r   r”   rP   r•   r–   r—   r˜   r   )r    r!   r"   ÚbodyrW   r¨   rƒ   r¬   r­   ÚiÚdr©   r~   r   ÚgeprU   s                   r0   Úgep_import_konfliktus_feloldasr¹   É   s8  é € ô % \×2Ñ2Ü¨°iÐAXÐ5YÑZÐZà—‘“×€DØŸ™Ð!4Ó5ÐØ�x‰x˜
 BÓ'€Hä  ×AÑAÜ¨°iÐAhÐ5iÑjÐjäÐ.×3Ñ3Ü¨°iÐAzÐ5{Ñ|Ð|à× × Ü¨°ið  BQð  6Rñ  Sð  	Sà€JØ€IØ€Hð
Ü˜hÖ'‰DˆAØ—U‘U˜8“_ˆFØ—5‘5˜ Ó$ˆDà˜Ó$Ø!"§¡Ð'7Ó!8�Ø—h‘hœvŸ~™~Ó.×5Ñ5Ü—N‘N×%Ñ%¨Ñ7Ü—N‘N×-Ñ-Ð1BÑBó÷ ‘%“'ð ö Ü3°CÐ?PÐVbÔcØ ‘N’Iñ ð ˜5“Ü+¨DÀRÔVØ˜a‘’
à˜A‘’ñ# (ð& 	�	‰	Œð %È(ÑSÐSò]  øôL ó 
Ø
�‰ŒÜÐ9¸!¸¸MÌ$ÈqË'×JZÑJZÐI[Ð[]Ð^_Ð]`ÐaÔbÜØØ¤Ð.BÀ1ÀqÁ5À'ÐIjÐ,kÐmyÓ zÐ{ñ
õ 	
ûð
üsB   ‚0H5²G³BH5Â6DG
 ÇH5Ç

H2ÇAH-È'H2È(H5È-H2È2H5)1rI   rˆ   rG   Úfastapir   r   r   r   r   r   Úfastapi.responsesr	   r
   r   Úsqlalchemy.ormr   r°   Údatabaser   Úsecurityr   r   r   r   r   r   r   Úexcel_import_utilsr   r   r   r   r   Úrouters.machinesr   Ú	hibakodokr   Útemplates_envr   ÚrouterrŠ   r_   ÚUserr1   ÚpostrV   Úintr¦   r¹   rj   rf   r0   Ú<module>rÇ      sÍ  ðÛ 	Û ã ß G× Gß JÑ JÝ "ã Ý ÷ n÷  nñ  n÷õ õ 4Ý !Ý #á	¡©°zÓ)BÓ!CÐ DÑ	E€ð €ð ‡�ˆM¨,€Ð7ñ ˜&“/Ù 'Ð(8Ó 9ñØðàðð —+‘+ôó 8ðð. ‡�Ð"Ó#á˜C“yÙ 'Ð(8Ó 9ñ"Ø
ð"à—+‘+ô"ó $ð"ð& ‡�Ð#Ó$ñ ˜C“yÙ! #›YÙ˜&“/Ù 'Ð(8Ó 9ñ|DØð|Dà
ð|Dð ð|Dð 	ð	|Dð
 —+‘+ô|Dó %ð|Dð~ ‡�Ð.Ó/ñ ˜&“/Ù 'Ð(8Ó 9ñ6TØð6Tàð6Tð —+‘+ô6Tó 0ñ6Trf   