ó
    Õ¡¾jg)  ã                   óÖ  • 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  S SKJr  S SKJrJr  S S	KJrJ r J!r!  S S
K"J#r#  \" \" \" S5      5      /S9r$S/r%\$RM                  S\
S9\" \5      \" \5      4S\S\S\RN                  4S jj5       r(\$RS                  S5      \" S5      \" \5      4S\S\RN                  4S jj5       r*\$RS                  S5      \" S5      \" S5      \" \5      \" \5      4S\S\S\+S\S\RN                  4
S jj5       r,\$RS                  S5      \" \5      \" \5      4S\S\S\RN                  4S jj5       r-g)é    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)Úhiba_uzenet)Úimport_datum_parszolasÚimport_szam_parszolas)ÚTUZVEDELEM_IMPORT_MEZOKÚ letrehoz_uj_keszuleket_importbolÚ$frissit_meglevo_keszuleket_importbol)Ú	templatesÚ
TUZVEDELEM)ÚdependenciesÚAdminz/tuzvedelem/import)Úresponse_classÚrequestÚdbÚcurrent_userc                 óâ   • UR                   [        ;  a	  [        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/tuzvedelem)Úurlr   ztuzvedelem_import.html)ÚkulcsÚcimke)ÚuserÚcegekÚworking_company_idÚimport_mezok)r   ÚnameÚcontext)ÚroleÚ_JOGOSULT_SZEREPKOROKr
   r   r   r   ÚTemplateResponser   )r   r    r!   r(   r'   ÚkÚcs          Ú-/var/www/website/routers/tuzvedelem_import.pyÚkeszulek_import_oldalr2      s{   € ð ×ÑÔ 5Ó5Ü MÑ2Ð2ä/°ÓFÐÜ& |¸ÓF€Eä×%Ò%ØØ%à ØØ"4ÝBYÔZÒBY¹$¸! qÔ5ÑBYÒZñ	
ñ	ð 	ùó [s   ÁA+z/tuzvedelem/import/elemzes.Úfilec           	   ƒ   ó$  #   • UR                   [        ;  a  [        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-TUZIMP-01Úoszlopok)r,   r-   r   ÚreadÚopenpyxlÚload_workbookÚioÚBytesIOÚactiveÚnextÚ	iter_rowsÚstrÚstripÚ	Exceptionr   )	r3   r!   ÚtartalomÚwbÚsheetÚelso_sorr0   rF   Úes	            r1   Úkeszulek_import_elemzesrW   /   s
  é € ð
 ×ÑÔ 5Ó5Ü¨°iÐAXÐ5YÑZÐZðFØŸ™›×$ˆÜ×#Ò#¤B§J¢J¨xÓ$8ÀDÐTXÑYˆØ—	‘	ˆÜ˜Ÿ™°¸1È$˜ÐOÓPˆÙ,4Ó_ªH q“NÌ#ÈaË&Ï,É,Ë.Ð\^ÑJ^“N”C˜“F—L‘L–N©HˆÐ_ð ˜Ð!Ð!ñ %ùò `øÜó FÜ¨°iÄð  Ntð  vCó  BDð  6Eñ  Fõ  	FûðFüsc   ‚!D¤C# ·C¸AC# ÂCÂCÂ9CÃC# ÃDÃC# ÃC# Ã#
DÃ-DÄDÄDÄDÄDz/tuzvedelem/import/futtatasÚtarget_company_idc              ƒ   óÎ	  ^#   • UR                   [        ;  a  [        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[        UR!                  S	S95      nU(       d  [        SSS0S9$ US    Vs/ s H   oÿb  ['        U5      R)                  5       OSPM"     nn0 mUR+                  5        H"  u  nnUU;   d  M  UR-                  U5      TU'   M$     U4S jnSn/ n [/        USS  SS9 GHn  u  nnUb  [1        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  [3        U" US5      5      nU" US5      U" US5      U" US5      U" US5      UUUU" US5      U" US 5      U" US!5      [5        U" US"5      5      U(       a  UR7                  5       OS U" US#5      S$.nS nU(       as  UR9                  [:        R<                  5      R?                  [:        R<                  R@                  U:H  [:        R<                  RB                  U:H  5      RE                  5       nU(       aå  URG                  UURH                  URJ                  (       a;  URJ                  RL                  (       a   URJ                  RL                  RN                  OS%URJ                  (       a  URJ                  RP                  OS%URR                  URT                  URV                  URX                  URZ                  UR\                  UR^                  S&.	S'.5        GM\  [a        UX#U5        US-  nGMq     URc                  5         UUS..$  GN¹ GNq! ["         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Re                  5         [g        S(W S)[i        U5      Rj                   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)/Nr5   r6   r7   r8   õ%   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;   )rA   rC   rD   rE   u   A fÃ¡jl Ã¼res!r   rB   c                 óT   >• TR                  U5      nUb  U[        U 5      :¼  a  g X   $ ©N)ÚgetÚlen)Úsorr$   ÚidxÚoszlop_indexs      €r1   Ú
cellaertekÚ,keszulek_import_futtatas.<locals>.cellaertekp   s,   ø€ Ø×Ñ˜uÓ%ˆØ‰;˜#¤ S£›/ØØ‰xˆó    r>   é   )Ústartc              3   ó(   #   • U  H  oS L v •  M
     g 7fr_   © )Ú.0r0   s     r1   Ú	<genexpr>Ú+keszulek_import_futtatas.<locals>.<genexpr>{   s   é € Ð!9²S° t¥)²Sùs   ‚Ú
gyari_szamÚgyartoÚ	tipus_nevÚgyartas_datumÚ	telephelyÚepuletÚszintÚhely_leirasÚgyartasi_szabvanyÚoltoanyag_tipusÚoe_ertekÚtoltettomeg_kgÚstatusz)rs   rt   ru   rv   rp   rq   ro   rw   rx   ry   rz   rr   r{   Ú-)	rs   rv   rp   rq   rw   rx   ry   rz   r{   )ÚadatÚmeglevo_keszulek_idÚmeglevo_adatu@   â�Œ Hiba a tÅ±zvÃ©delmi Excel import feldolgozÃ¡sa kÃ¶zben (sor z): ú: õ   Hiba tÃ¶rtÃ©nt a(z) u   . sor feldolgozÃ¡sa kÃ¶zben!zE-TUZIMP-02)Ú
letrehozvaÚkonfliktusok)6r,   r-   r   r   r   Úcsak_olvasasÚformr   r`   rG   rH   rI   rJ   rK   rL   ÚlistrN   rQ   r   rO   rP   ÚitemsÚindexÚ	enumerateÚallr   r   Ú	isoformatÚqueryÚmodelsÚTuzoltoKeszulekÚfilterÚ
company_idro   ÚfirstÚappendÚidÚjelenlegi_helyrs   Únevrv   rp   rq   rw   rx   ry   rz   r{   r   ÚcommitÚrollbackÚprintÚtypeÚ__name__)r   r3   rX   r    r!   Ú	form_dataÚoszlop_hozzarendelesr$   Ú_ÚertekrR   rS   rT   ÚsorokrV   r0   ÚfejlecÚexcel_oszlop_nevre   r‚   rƒ   Úsor_szamrb   Úgyari_szam_nyersro   Úgyarto_nyersÚtipus_nyersrr   r}   Úmeglevord   s                                 @r1   Úkeszulek_import_futtatasr§   C   sÜ  øé € ð ×ÑÔ 5Ó5Ü¨°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Ø*/ Ó'ñ ,ð
FØŸ™›×$ˆÜ×#Ò#¤B§J¢J¨xÓ$8ÀDÐTXÑYˆØ—	‘	ˆÜ�U—_‘_°�_Ð6Ó7ˆö Ü¨°iÐAQÐ5RÑSÐSà?DÀQºxÓHºx¸!¡Œc�!‹f�l‰lŒn°2Ò5¹x€FÐHØ€LØ#7×#=Ñ#=Ö#?ÑˆÐØ˜vÕ%Ø"(§,¡,Ð/?Ó"@ˆL˜Óñ $@õð €JØ€LðC
Ü& u¨Q¨R y¸Õ:‰MˆH�cØ‰{œcÑ!9±SÓ!9×9Ñ9Ùá)¨#¨|Ó<ÐØ:JÑ:VœÐ-Ó.×4Ñ4Ô6Ð\^ˆJá% c¨8Ó4ˆLÙ$ S¨+Ó6ˆKæ¦l¾;Ùä2±:¸cÀ?Ó3SÓTˆMñ (¨¨[Ó9Ù$ S¨(Ó3Ù# C¨Ó1Ù)¨#¨}Ó=Ø&Ø(Ø(Ù%/°Ð5HÓ%IÙ#-¨cÐ3DÓ#EÙ& s¨JÓ7Ü"7¹
À3ÐHXÓ8YÓ"ZÞ>K ×!8Ñ!8Ô!:ÐQUÙ% c¨9Ó5ñˆDð  ˆGÞØŸ(™(¤6×#9Ñ#9Ó:×AÑAÜ×*Ñ*×5Ñ5Ð9JÑJÜ×*Ñ*×5Ñ5¸ÑCó÷ ‘%“'ð ö
 Ø×#Ñ#Ø Ø+2¯:©:àMT×Mc×McÐho×h~Ñh~÷  iI÷  iI W×%;Ñ%;×%EÑ%E×%IÒ%Ið  ORØMT×Mc×Mc w×'=Ñ'=×'IÒ'IÐilØ")§.¡.Ø%,×%6Ñ%6Ø-4×-FÑ-FØ+2×+BÑ+BØ$+×$4Ñ$4Ø*1×*@Ñ*@Ø#*§?¡?ñ
%ñ%ô ò ä,¨TÐ3DÈ,ÔWØ˜!‰O‹Jñs ;ðv 	�	‰	Œð %°lÑCÐCòO %ò %øô ó FÜ¨°iÄð  Ntð  vCó  BDð  6Eñ  Fõ  	FûðFüò IøôX ó 
Ø
�‰ŒÜÐPÐQYÐPZÐZ]Ô^bÐcdÓ^e×^nÑ^nÐ]oÐoqÐrsÐqtÐuÔvÜØØ¤Ð.BÀ8À*ÐLhÐ,iÐkxÓ yÐzñ
õ 	
ûð
üsŸ   ƒB	S%ÂQÂ*S%Â;S%ÃQ ÃQÃAQ Ä*S%Å'Q8Å+S%Æ"S%Æ0JQ= Ñ S%ÑQ Ñ
Q5ÑQ0Ñ*Q5Ñ+S%Ñ0Q5Ñ5S%Ñ=
S"ÒASÓS"ÓS%ÓS"Ó"S%z&/tuzvedelem/import/konfliktus-feloldasc           
   ƒ   óv  #   • UR                   [        ;  a  [        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[1        SU	S-    S3S5      0S9s S nA$ S nAff = f7f)Nr5   r6   r7   r8   rX   ÚdontesekrZ   r[   r\   r   Úactionr}   Ú	overwriter~   r>   Únewu6   â�Œ Hiba a tÅ±zvÃ©delmi konfliktus-feloldÃ¡s kÃ¶zben (u   . dÃ¶ntÃ©s): r€   rC   r�   u!   . dÃ¶ntÃ©s feldolgozÃ¡sa kÃ¶zben!zE-TUZIMP-03)r‚   Ú	frissitveÚkihagyva)r,   r-   r   Újsonr`   r   r   r„   r‰   rŒ   r�   rŽ   r�   r“   r�   r‘   r   r   r–   rQ   r—   r˜   r™   rš   r   )r   r    r!   ÚbodyrX   r©   r‚   r­   r®   ÚiÚdrª   r}   r~   ÚkeszulekrV   s                   r1   Ú#keszulek_import_konfliktus_feloldasr´   Á   sG  é € ð ×ÑÔ 5Ó5Ü¨°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à˜Ó$Ø&'§e¡eÐ,AÓ&BÐ#ØŸ8™8¤F×$:Ñ$:Ó;×BÑBÜ×*Ñ*×-Ñ-Ð1DÑDÜ×*Ñ*×5Ñ5Ð9JÑJó÷ ‘%“'ð ö Ü8¸ÐIZÐ`lÔmØ ‘N’Iñ ð ˜5“Ü0°È"Ô[Ø˜a‘’
à˜A‘’ñ# (ð& 	�	‰	Œð %È(ÑSÐSò]  øôL ó 
Ø
�‰ŒÜÐFÀqÀcÈÔW[Ð\]ÓW^×WgÑWgÐVhÐhjÐklÐjmÐnÔoÜØØ¤Ð.BÀ1ÀqÁ5À'ÐIjÐ,kÐmzÓ {Ð|ñ
õ 	
ûð
üsB   ‚4H9¶G·BH9Â:DG ÇH9Ç
H6ÇAH1È+H6È,H9È1H6È6H9).rJ   rH   Úfastapir   r   r   r   r   r   Úfastapi.responsesr	   r
   r   Úsqlalchemy.ormr   r�   Údatabaser   Úsecurityr   r   r   r   r   r   Ú	hibakodokr   Úexcel_import_utilsr   r   Útuzvedelem_import_utilsr   r   r   Útemplates_envr   Úrouterr-   r`   ÚUserr2   ÚpostrW   Úintr§   r´   rk   rg   r1   Ú<module>rÂ      sÆ  ðÛ 	ã ß G× Gß JÑ JÝ "ã Ý ÷ S÷  SÝ !ß L÷ñ õ $á	¡©°|Ó)DÓ!EÐ FÑ	G€à ˜	Ð ð ‡�Ð °€Ð>ñ ˜&“/Ù 'Ð(8Ó 9ñØðàðð —+‘+ôó ?ðð. ‡�Ð)Ó*á˜C“yÙ 'Ð(8Ó 9ñ"Ø
ð"à—+‘+ô"ó +ð"ð& ‡�Ð*Ó+ñ ˜C“yÙ! #›YÙ˜&“/Ù 'Ð(8Ó 9ñzDØðzDà
ðzDð ðzDð 	ð	zDð
 —+‘+ôzDó ,ðzDðz ‡�Ð5Ó6ñ ˜&“/Ù 'Ð(8Ó 9ñ6TØð6Tàð6Tð —+‘+ô6Tó 7ñ6Trg   