Class: Doprinosi

Inherits:
Object
  • Object
show all
Defined in:
lib/fina_files/doprinosi.rb

Class Method Summary collapse

Class Method Details

.configure(&block) ⇒ Object



6
7
8
9
10
# File 'lib/fina_files/doprinosi.rb', line 6

def self.configure(&block)
  define_singleton_method :postavke do
    block.call
  end
end

.get_iban(account) ⇒ Object



66
67
68
69
70
71
# File 'lib/fina_files/doprinosi.rb', line 66

def self.get_iban()
  return  if .length == 21
   = .strip.gsub('-','').gsub(' ', '')
  check_digits = 98 - "172700#{}".split('').rotate(6).join.to_i % 97
  "HR#{check_digits < 10 ? "0#{check_digits}" : check_digits}#{}"
end

.godina_mjesecObject

oznaka prethodni godina mjesec



13
14
15
# File 'lib/fina_files/doprinosi.rb', line 13

def self.godina_mjesec
  (DateTime.now << 1).strftime('%y%m')
end

.naloziObject



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/fina_files/doprinosi.rb', line 21

def self.nalozi
  result = [
   [ "HR99", "HR68 8168-#{postavke[:oib_platitelja]}-#{poziv_na_broj_godina_dan}",'MIO I STUP',get_iban('1001005-1863000160'),'DRZAVNI PRORACUN REPUBLIKE HRVATSKE', postavke[:mio_i] ],
   [ "HR99", "HR68 2283-#{postavke[:oib_platitelja]}-#{poziv_na_broj_godina_dan}",'MIO II STUP',get_iban('1001005-1700036001'),'DOPRINOS ZA MIROVINSKO OSIGURANJE', postavke[:mio_ii] ],
   [ "HR99", "HR68 8486-#{postavke[:oib_platitelja]}-#{poziv_na_broj_godina_dan}",'Doprinos za osnovno zdravstveno osiguranja', 'HR6510010051550100001','DRZAVNI PRORACUN REPUBLIKE HRVATSKE', postavke[:zdravstveno_osiguranje] ],
   [ "HR99", "HR68 8630-#{postavke[:oib_platitelja]}-#{poziv_na_broj_godina_dan}",'Doprinos za ozljede na radu','HR6510010051550100001','DRZAVNI PRORACUN REPUBLIKE HRVATSKE', postavke[:ozljede_na_radu] ],
   [ "HR99", "HR68 8753-#{postavke[:oib_platitelja]}-#{poziv_na_broj_godina_dan}",'Doprinos za zaposljavanje',get_iban('1001005-1863000160'),'DRZAVNI PRORACUN REPUBLIKE HRVATSKE', postavke[:zaposljavanje]],
  ]
   #broj racuna je za grad Zagreb
   unless postavke[:porez_prirez_dohodak].nil?
     result << ["HR99", "HR68 1880-#{postavke[:oib_platitelja]}-#{poziv_na_broj_godina_dan}","Porez prirez dohodak #{godina_mjesec}",get_iban('1001005-1713312009'),'Grad Zagreb', postavke[:porez_prirez_dohodak]]
   end

   #broj racuna je za grad Donju Stubicu
   unless postavke[:porez_prirez_dohodak_donja_stubica].nil?
     result << ["HR99", "HR68 1880-#{postavke[:oib_platitelja]}-#{poziv_na_broj_godina_dan}","Porez prirez dohodak #{godina_mjesec}", "HR8710010051707912009", 'Donja Stubica', postavke[:porez_prirez_dohodak_donja_stubica]]
   end

   #broj racuna je za grad Velica Gorica
   unless postavke[:porez_prirez_dohodak_velika_gorica].nil?
     result << ["HR99", "HR68 1880-#{postavke[:oib_platitelja]}-#{poziv_na_broj_godina_dan}","Porez prirez dohodak #{godina_mjesec}", "HR6210010051754112007", 'Velika Gorica', postavke[:porez_prirez_dohodak_velika_gorica]]
   end

   #broj racuna je za grad Omis
   unless postavke[:porez_prirez_dohodak_omis].nil?
     result << ["HR99", "HR68 1880-#{postavke[:oib_platitelja]}-#{poziv_na_broj_godina_dan}","Porez prirez dohodak #{godina_mjesec}", "HR7610010051730012008", 'Omis', postavke[:porez_prirez_dohodak_omis]]
   end

   unless postavke[:place].nil?
     postavke[:place].each do |placa|
       if placa[:sticeni_racun] == true
         result << ["HR67#{postavke[:oib_platitelja]}-#{poziv_na_broj_godina_dan}-0", "HR69 40002-#{postavke[:oib_platitelja]}-100",'Isplata place',get_iban("#{placa[:racun]}"),"#{placa[:prima]}", placa[:iznos] ]
       else
         result << ["HR67#{postavke[:oib_platitelja]}-#{poziv_na_broj_godina_dan}-0", "HR69 40002-#{postavke[:oib_platitelja]}-120",'Isplata place',get_iban("#{placa[:racun]}"),"#{placa[:prima]}", placa[:iznos] ]
       end
     end
   end

   unless postavke[:pdv].nil?
     result << ["HR99", "HR68 1201-#{postavke[:oib_platitelja]}","PDV #{godina_mjesec}",get_iban('1001005-1863000160'),'DRZAVNI PRORACUN REPUBLIKE HRVATSKE', postavke[:pdv]]
   end

   result
end

.poziv_na_broj_godina_danObject



17
18
19
# File 'lib/fina_files/doprinosi.rb', line 17

def self.poziv_na_broj_godina_dan
  (DateTime.now).strftime('%y') << ( "%03d" % DateTime.now.yday )
end