ó
    Õ¡¾j9  ã            	       óü   • S SK r S SKJrJrJr  S SKJr  S SKrS rSSSSS	.S
SSSS	.SSSSS	.SSSSS	.SSSSS	.S.r/ SQr	S r
/ SQrS rSSS S!.SS SS!.S SSS!.SSS"S!.SS"S"S!.S#.rS$ rS% rS+S& jrS'\S(\S)\4S* jrg),é    N)ÚdateÚdatetimeÚ	timedelta)ÚSessionc                 óÜ   • U (       d  g U R                   S-
  U-   nU R                  US-  -   nUS-  S-   n[        U R                  [        R
                  " X25      S   5      n[        X2U5      $ )Né   é   )ÚmonthÚyearÚminÚdayÚcalendarÚ
monthranger   )Ú
sourcedateÚmonthsr
   r   r   s        Ú!/var/www/website/msz_constants.pyÚ
add_monthsr   	   si   € ÞØà×Ñ˜qÑ  6Ñ)€EØ�?‰?˜U b™[Ñ(€DØ�B‰J˜‰N€EÜ
ˆj�n‰nœh×1Ò1°$Ó>¸qÑAÓ
B€Cä�˜SÓ!Ð!ó    é   i@  é   iÀ  )Úszerk_hoÚ	szerk_oraÚfo_hoÚfo_oraé   ix  é   ih  é   i°  é   i  é   i   r	   i`	  é   iX  é	   i  )Ú1Ú2Ú3Ú4Ú5)u   januÃ¡ru   februÃ¡ru   mÃ¡rciusu   Ã¡prilisu   mÃ¡jusu   jÃºniusu   jÃºliusÚ	augusztusÚ
szeptemberu   oktÃ³berÚnovemberÚdecemberc                 óh   • U R                    S[        U R                  S-
      SU R                   S3$ )uO   Magyaros hosszÃº dÃ¡tumforma a nyomtatott jegyzÅ‘kÃ¶nyvhÃ¶z: 2027. mÃ¡rcius 25.z. r   Ú Ú.)r   Ú
HU_HONAPOKr
   r   )Údatums    r   Úhu_datumr0   )   s1   € à�j‰jˆ\˜œJ u§{¡{°Q¡Ñ7Ð8¸¸%¿)¹)¸ÀAÐFÐFr   )u6   1993. Ã©vi XCIII. tÃ¶rvÃ©ny a munkavÃ©delemrÅ‘l (Mvt.)uZ   47/1999. (VIII. 4.) GM rendelet az EmelÅ‘gÃ©p BiztonsÃ¡gi SzabÃ¡lyzat kiadÃ¡sÃ¡rÃ³l (EBSZ)uŒ   10/2016. (IV. 5.) NGM rendelet a munkaeszkÃ¶zÃ¶k Ã©s hasznÃ¡latuk biztonsÃ¡gi Ã©s egÃ©szsÃ©gÃ¼gyi kÃ¶vetelmÃ©nyeinek minimÃ¡lis szintjÃ©rÅ‘luv   16/2008. (VIII. 30.) NFGM rendelet a gÃ©pek biztonsÃ¡gi kÃ¶vetelmÃ©nyeirÅ‘l Ã©s megfelelÅ‘sÃ©gÃ©nek tanÃºsÃ­tÃ¡sÃ¡rÃ³lzMSZ 9750z
MSZ 9721-1c                 óü  • [        U SS5      =(       d    Sn[        U SS5      (       a  SSS[        X#5      USS./S	.$ [        U R                  =(       d    S
5      n[        R                  U5      nU(       d  g/ nUS:X  aƒ  UR                  S[        X%S   5      US   US   S.5        UR                  SU R                  (       a  [        U R                  US   5      OSUS   US   U R                  (       a  S
OSS.5        OuUR                  S[        X%S   5      US   US   S.5        UR                  S[        X%S   5      US   US   S.5        US:X  a  UR                  S[        X#5      USS.5        SXFS	.$ )uõ  A jegyzÅ‘kÃ¶nyv vÃ©gÃ©n (csak "Megfelelt" minÅ‘sÃ­tÃ©snÃ©l) kiÃ­rt, soron kÃ¶vetkezÅ‘ vizsgÃ¡lati
idÅ‘pontok az MSZ 9750 1. tÃ¡blÃ¡zata (csoportszÃ¡m) alapjÃ¡n. A hierarchia (MSZ 9721-1 3.1.):
az IBF magÃ¡ban foglalja a fÅ‘vizsgÃ¡latot, a fÅ‘vizsgÃ¡lat pedig a szerkezeti vizsgÃ¡latot - ezÃ©rt
magasabb rendÅ± vizsgÃ¡lat utÃ¡n mindkÃ©t alacsonyabb rendÅ± idÅ‘kÃ¶z a mai vizsgÃ¡lattÃ³l indul.
TeherfelvevÅ‘ eszkÃ¶znÃ©l az EBSZ-ciklus (ebsz_ciklus_honap) az egyetlen irÃ¡nyadÃ³ idÅ‘kÃ¶z.
None-t ad, ha nincs elÃ©g adat (nincs Ã©rvÃ©nyes csoportszÃ¡m).

A gep.fovizsgalat_datum-ot a hÃ­vÃ³ a jegyzÅ‘kÃ¶nyv kiÃ¡llÃ­tÃ¡sa UTÃ�N frissÃ­ti, ezÃ©rt itt mÃ©g a
korÃ¡bbi (szerkezeti vizsgÃ¡latnÃ¡l a tovÃ¡bbra is Ã©rvÃ©nyes) fÅ‘vizsgÃ¡lati dÃ¡tum Ã¡ll rendelkezÃ©sre.Úebsz_ciklus_honapé<   Úis_teherfelvevoFTNu9   Soron kÃ¶vetkezÅ‘ idÅ‘szakos biztonsÃ¡gi felÃ¼lvizsgÃ¡lat)Úcimker/   ÚhonapÚora)ÚteherfelvevoÚcsoportszamÚsorokÚ õ   Szerkezeti vizsgÃ¡latu'   Soron kÃ¶vetkezÅ‘ szerkezeti vizsgÃ¡latr   r   u   Soron kÃ¶vetkezÅ‘ fÅ‘vizsgÃ¡latr   r   u4   az utolsÃ³ fÅ‘vizsgÃ¡lat idÅ‘pontja nincs rÃ¶gzÃ­tve)r5   r/   r6   r7   Ú
megjegyzesu'   IdÅ‘szakos biztonsÃ¡gi felÃ¼lvizsgÃ¡lat)Úgetattrr   ÚstrÚcalculated_csoportszamÚ
MSZ_MATRIXÚgetÚappendÚfovizsgalat_datum)ÚgepÚvizsgalat_tipusaÚvizsgalat_datumÚciklus_honapr9   Úszabalyr:   s          r   Úkovetkezo_vizsgalatokrJ   :   s¬  € ô ˜3Ð 3°RÓ8×>¸B€LäˆsÐ% u×-Ñ-à ØàTÜ# OÓBØ%Øñ	ð ñ	
ð 		
ô �c×0Ñ0×6°BÓ7€KÜ�n‰n˜[Ó)€GÞØà€EØÐ2Ó2Ø�‰Ø>Ü ¸Ñ1DÓEØ˜ZÑ(°¸Ñ1Eñ
ô 	ð
 	�‰Ø6ØLO×La×La”Z × 5Ñ 5°w¸wÑ7GÔHÐgkØ˜WÑ%¨g°hÑ.?Ø #× 5× 5™"Ð;qñ	
õ 	ð 	�‰Ø>Ü ¸Ñ1DÓEØ˜ZÑ(°¸Ñ1Eñ
ô 	ð
 	�‰Ø6Ü ¸Ñ1AÓBØ˜WÑ%¨g°hÑ.?ñ
ô 	ð
 ÐHÓHØ�L‰LØTÜ# OÓBØ%¨dñô ð "°+ÑNÐNr   r   é   )ÚT1ÚT2ÚT3é   )ÚM1ÚM2ÚM3ÚM4ÚM5c                 óª  • U R                   (       a®  U R                  b¡  U R                   nUR                  b  UR                  SS9n[        R
                  " U[        R                  R                  5       5      U-
  R                  5       S-  nUS:”  a,  U R                  =(       d    SU R                  -
  nUS:”  a  XC-  $ U R                  =(       d    S$ )ux  A gÃ©p jelenlegi Ã¼zemÃ³ra-fogyÃ¡si Ã¼temÃ©nek legjobb elÃ©rhetÅ‘ becslÃ©se: ha van elÃ©g adat a
MÃ¡trix bÃ¡zispont Ã³ta, a TÃ‰NYLEGES (mÃ©rt) napi Ã¡tlagot adja vissza, egyÃ©bkÃ©nt a gÃ©phez
beÃ¡llÃ­tott TERVEZETT napi Ã¡tlagot (napi_atlag_uzemido). 0.0-t ad, ha semmilyen becslÃ©s
nem lehetsÃ©ges (pl. vadonatÃºj gÃ©p, mÃ©g nincs bÃ¡zispont Ã©s nincs beÃ¡llÃ­tott terv sem).N)Útzinfog     õ@r   ç        )Úmatrix_kezdo_datumÚmatrix_kezdo_uzemorarV   Úreplacer   Úcombiner   ÚtimeÚtotal_secondsÚuzemoraÚnapi_atlag_uzemido)rE   Úmai_napÚkezdoÚelapsed_daysÚtenyleges_oras        r   Ú_becsult_napi_ora_ratard   ƒ   s³   € ð
 ×× #×":Ñ":Ñ"FØ×&Ñ&ˆØ�<‰<Ñ#Ø—M‘M¨�MÐ.ˆEÜ ×(Ò(¨´(·,±,×2CÑ2CÓ2EÓFÈÑN×]Ñ]Ó_ÐbiÑiˆØ˜!ÓØ Ÿ[™[×/¨C°3×3KÑ3KÑKˆMØ˜qÓ Ø$Ñ3Ð3Ø×!Ñ!×( SÐ(r   c                 óÂ   • Ub  U(       d  gX0R                   =(       d    SU-
  -
  n[        X5      nUS:”  a  U[        [        XE-  5      S9-   $ US::  a  U[        SS9-
  $ g)u†  MSZ 9750 1. tÃ¡blÃ¡zat: az Ã¼zemÃ³ra-oszlop alapjÃ¡n megbecsÃ¼li, mikorra Ã©ri el (vagy Ã©rte el
mÃ¡r) a gÃ©p a vizsgÃ¡lattÃ­pus Ã¼zemÃ³ra-kÃ¼szÃ¶bÃ©t az utolsÃ³ ilyen vizsgÃ¡lat Ã³ta. None-t ad vissza,
ha nincs elÃ©g adat a becslÃ©shez (nincs rÃ¶gzÃ­tve Ã¼zemÃ³ra-alapadat az utolsÃ³ vizsgÃ¡latkor -
ilyenkor a lÃ¡bjegyzet szerint a naptÃ¡ri (hÃ³nap-alapÃº) idÅ‘kÃ¶z marad a mÃ©rtÃ©kadÃ³).NrW   r   ©Údaysr   )r^   rd   r   Úround)rE   r`   Úutolso_uzemoraÚ
ora_kuszobÚhatralevo_oraÚratas         r   Ú_ora_alapu_esedekessegrm   ”   sk   € ð
 Ñ¦ZØØ§;¡;×#5°#¸Ñ"GÑH€MÜ! #Ó/€DØˆaƒxð œ¬¨mÑ.BÓ(CÑDÑDÐDØ˜ÓØœ¨Ñ*Ñ*Ð*Ør   c           
      ó¬  ^ ^^^
^^• T[        SS9-   m
[        T SS5      =(       d    Sn[        T SS5      (       a  XDS.nOMT R                  (       a:  [        T R                  5      [        ;   a  [        [        T R                  5         nOSn[        5       mU(       a<  UR                  (       a+  [        S	 UR                  R                  S
5       5       5      m[        5       mU(       a<  UR                  (       a+  [        S UR                  R                  S
5       5       5      m[        T SS5      nSUU
U UUU4S jjnU" SSU(       a  US   OSSU(       a  UR                  S5      OSU(       a  SOSS9U" SSU(       a  US   OSSU(       a  UR                  S5      OSU(       a  SOSS9U" SSU5      /nU V	s/ s H	  o™c  M  U	PM     sn	$ s  sn	f )u  
EgysÃ©gesen visszaadja a gÃ©p EBSZ / MSZ 9750 vizsgÃ¡lati esedÃ©kessÃ©geit (Szerkezeti,
FÅ‘-, BiztonsÃ¡gi felÃ¼lvizsgÃ¡lat), a "Joker" szabÃ¡lyt (TeherfelvevÅ‘ eszkÃ¶zÃ¶knÃ©l
mindhÃ¡rom az EBSZ ciklushoz igazodik) figyelembe vÃ©ve. NaptÃ¡r-nÃ©zethez / API-hoz.

A config (MachineTypeConfig) opcionÃ¡lis: ha meg van adva, Ã©s a gÃ©ptÃ­pusnÃ¡l az adott
vizsgÃ¡lati dÃ¡tum mezÅ‘je "rejtett" (a BeÃ¡llÃ­tÃ¡sokban kikapcsolt, nem alkalmazandÃ³ erre a
gÃ©ptÃ­pusra), az a vizsgÃ¡lattÃ­pus egyÃ¡ltalÃ¡n nem szerepel az eredmÃ©nyben - Ã­gy Ã¼resen sem
jelez hiÃ¡nyt, hiszen nÃ¡la ez a vizsgÃ¡lat nem is Ã©rtelmezhetÅ‘.

A datum_kotelezo_mod (cÃ©ges beÃ¡llÃ­tÃ¡s, l. get_vizsgalati_datum_kotelezo_mod) szabÃ¡lyozza,
hogy egy NEM rejtett, de a gÃ©ptÃ­pusnÃ¡l kifejezetten kÃ¶telezÅ‘nek SEM jelÃ¶lt dÃ¡tum hiÃ¡nya
jelezzen-e: "AlapbolKotelezo" mÃ³dban igen (csak a rejtett zÃ¡r ki), "CsakBepipalt" mÃ³dban
csak azok a dÃ¡tumtÃ­pusok kerÃ¼lnek egyÃ¡ltalÃ¡n figyelembevÃ©telre, amiket a gÃ©ptÃ­pusnÃ¡l
kifejezetten kÃ¶telezÅ‘nek jelÃ¶ltek.
é   rf   r2   r3   r4   F)r   r   Nc              3   ón   #   • U  H+  oR                  5       (       d  M  UR                  5       v •  M-     g 7f©N©Ústrip©Ú.0Úms     r   Ú	<genexpr>Ú1compute_vizsgalati_esedekesseg.<locals>.<genexpr>Ã   s%   é € Ð\Ò/N¨!×RYÑRY×R[›I˜AŸG™GŸI˜IÒ/Nùó   ‚5ž5Ú,c              3   ón   #   • U  H+  oR                  5       (       d  M  UR                  5       v •  M-     g 7frq   rr   rt   s     r   rw   rx   Ç   s%   é € Ð^Ò0P¨1×T[ÑT[×T]›Y˜QŸW™WŸY˜YÒ0Pùry   c                 ó€  >• UT;   a  g TS:X  a  UT;  a  g [        TU=(       d    U5      nU(       d  U S S SS.$ Uc  XR                  S5      S SS.$ [        Xb5      nU(       a$  [        TUS 5      n[        TTX„5      n	U	b  X—:  a  U	nUT:  a  Sn
OUT::  a  Sn
OSn
U UR                  S5      UR                  S5      U
S.$ )	NÚCsakBepipaltÚhianyzik)ÚtipusÚutolsoÚesedekesÚallapotz%Y-%m-%dÚ
ismeretlenÚlejartÚ	hamarosanÚrendben)r>   Ústrftimer   rm   )ÚnevÚmezonevr6   Úuzemora_mezonevrj   Úforras_mezonevÚutolso_datumr�   ri   Ú	ora_alapur‚   Údatum_kotelezo_modÚfigyelmezteto_hatarrE   Úkotelezo_listar`   Úrejtett_listas              €€€€€€r   Ú	bejegyzesÚ1compute_vizsgalati_esedekesseg.<locals>.bejegyzesÙ   sé   ø€ Ø�mÓ#ØØ Ó/°GÀ>Ó4QØä˜s N×$=°gÓ>ˆÞØ ¨D¸dÈzÑZÐZØ‰=Ø ×,AÑ,AÀ*Ó,MÐ[_ÐlxÑyÐyÜ˜lÓ2ˆö
 Ü$ S¨/¸4Ó@ˆNÜ.¨s°G¸^ÓXˆIØÑ$¨Ó)=Ø$�à�gÓØ‰GØÐ,Ó,Ø!‰GàˆGàØ"×+Ñ+¨JÓ7Ø ×)Ñ)¨*Ó5Øñ	
ð 	
r   r<   Úszerkezeti_vizsgalat_datumr   Úszerkezeti_vizsgalat_uzemorar   Úbiztonsagi_vizsgalat_datum)r‹   u   FÅ‘vizsgÃ¡latrD   r   Úfovizsgalat_uzemorar   u.   IdÅ‘szakos biztonsÃ¡gi felÃ¼lvizsgÃ¡lat (EBSZ))NNN)
r   r>   r@   r?   rA   ÚsetÚrejtett_mezokÚsplitÚkotelezo_mezokrB   )rE   r`   ÚconfigrŽ   rH   rI   r8   r’   ÚbejegyzesekÚbr�   r�   r‘   s   `` `      @@@r   Úcompute_vizsgalati_esedekessegrŸ   ¦   s˜  ý€ ð" "¤I°2Ñ$6Ñ6ÐÜ˜3Ð 3°RÓ8×>¸B€LäˆsÐ% u×-Ñ-Ø+ÑC‰Ø	×	#×	#¬¨C×,FÑ,FÓ(GÌ:Ó(UÜœS ×!;Ñ!;Ó<Ñ=‰àˆä“E€MÞ�&×&×&ÜÑ\¨v×/CÑ/C×/IÑ/IÈ#Ô/NÓ\Ó\ˆä“U€NÞ�&×'×'ÜÑ^°×0EÑ0E×0KÑ0KÈCÔ0PÓ^Ó^ˆô  ˜3Ð 1°5Ó9€L÷!
ô !
ñH 	Ø#Ð%AÖZaÀ7È:ÒCVÐgkØ*Î¨G¯K©K¸Ô,DÐUYÞ;GÑ7ÈTñ	
ñ
 	ØÐ0Æg°'¸'Ò2BÐSWØ!¾G 7§;¡;¨xÔ#8ÈÞ;GÑ7ÈTñ	
ñ
 	ÐBÐD`ÐbnÓoð€Kñ #Ó4’{�!�A‘{Ñ4Ð4ùÒ4s   Æ>GÇGÚ
company_idÚdbÚreturnc                 ó  • UR                  [        R                  5      R                  [        R                  R                  U :H  [        R                  R
                  S:H  5      R                  5       nU(       a  UR                  S:X  a  gg)u…  Visszaadja, hogy a cÃ©gnÃ©l a vizsgÃ¡lati dÃ¡tumok (Szerkezeti/FÅ‘/BiztonsÃ¡gi) hiÃ¡nya/lejÃ¡rata
mikor szÃ¡mÃ­tson jelzÃ©sre: "AlapbolKotelezo" (alapÃ©rtelmezett - minden gÃ©ptÃ­pusnÃ¡l kÃ¶telezÅ‘,
kivÃ©ve amit kifejezetten "rejtett"-tÃ© tesznek) vagy "CsakBepipalt" (csak azok a dÃ¡tumok
jeleznek, amiket az adott gÃ©ptÃ­pusnÃ¡l kifejezetten kÃ¶telezÅ‘nek jelÃ¶ltek a BeÃ¡llÃ­tÃ¡sokban).ÚVizsgalatiDatumKotelezoModr}   ÚAlapbolKotelezo)ÚqueryÚmodelsÚ
DictionaryÚfilterr    Ú	kategoriaÚfirstÚertek)r    r¡   Ú	beallitass      r   Ú!get_vizsgalati_datum_kotelezo_modr®     sn   € ð
 —‘œ×*Ñ*Ó+×2Ñ2Ü×Ñ×$Ñ$¨
Ñ2Ü×Ñ×#Ñ#Ð'CÑCó÷ �eƒgð ö �Y—_‘_¨Ó6ØØr   )Nr¥   )r   r   r   r   Úsqlalchemy.ormr   r§   r   rA   r.   r0   ÚALAP_SZABVANYOKrJ   ÚMSZ_9750_CSOPORT_MATRIXrd   rm   rŸ   Úintr?   r®   © r   r   Ú<module>r´      sà   ðÛ ß .Ñ .å "ã ò	"ð&  d°RÀ4Ñ	HØ d°RÀ4Ñ	HØ d°RÀ4Ñ	HØ c°BÀ$Ñ	GØ c°AÀÑ	Fñ€
ò€
òGò€ò<OðB ˜! 1Ñ
%Ø˜! 1Ñ
%Ø˜! 1Ñ
%Ø˜! 1Ñ
%Ø˜! 1Ñ
%ñÐ ò)ò"ô$c5ðL°#ð ¸7ð Àsõ r   