Module: Luca::Jp::ItPart
Instance Method Summary collapse
-
#it_part ⇒ Object
タグの出現順序は順不同ではない。eTaxの定義に準拠.
- #jigyo_nendo_from ⇒ Object
- #jigyo_nendo_to ⇒ Object
- #kazei_kikan_from ⇒ Object
- #kazei_kikan_to ⇒ Object
- #parse_houjinbango(str) ⇒ Object
- #parse_kinyukikan(str) ⇒ Object
- #parse_tel(str) ⇒ Object
- #parse_zeimusho(str) ⇒ Object
- #parse_zip(str) ⇒ Object
- #render_it_tag(key) ⇒ Object
- #teisyutsu_day ⇒ Object
Instance Method Details
#it_part ⇒ Object
タグの出現順序は順不同ではない。eTaxの定義に準拠
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/luca/jp/it_part.rb', line 10 def it_part entries = ['<IT VR="1.4" id="IT">'] entries.concat(['zeimusho'] .map{ |key| render_it_tag(key) }) entries << teisyutsu_day entries.concat(['nozeisha_id', 'nozeisha_bango'] .map{ |key| render_it_tag(key) }) entries.concat(['nozeisha_nm_kn', 'nozeisha_nm', 'nozeisha_zip', 'nozeisha_adr_kn', 'nozeisha_adr', 'nozeisha_tel'] .map{ |key| render_it_tag(key) }) entries.concat(['shihon_kin', 'jigyo_naiyo', 'kanpu_kinyukikan'] .map{ |key| render_it_tag(key) }) entries.concat(['daihyo_nm_kn', 'daihyo_nm', 'daihyo_zip', 'daihyo_adr', 'daihyo_tel'] .map{ |key| render_it_tag(key) }) entries << %Q(<TETSUZUKI ID="TETSUZUKI"><procedure_CD>#{@procedure_code}</procedure_CD><procedure_NM>#{@procedure_name}</procedure_NM></TETSUZUKI>) entries.concat([jigyo_nendo_from, jigyo_nendo_to, kazei_kikan_from, kazei_kikan_to]) entries << render_it_tag('keiri_sekininsha') entries << %Q(<SHINKOKU_KBN ID="SHINKOKU_KBN"><kubun_CD>#{@shinkoku_kbn}</kubun_CD></SHINKOKU_KBN>) entries.concat(['eltax_id'].map{ |key| render_it_tag(key) }) entries << '</IT>' entries.compact.join("\n") end |
#jigyo_nendo_from ⇒ Object
81 82 83 |
# File 'lib/luca/jp/it_part.rb', line 81 def jigyo_nendo_from %Q(<JIGYO_NENDO_FROM ID="JIGYO_NENDO_FROM"><gen:era>#{gengou(@start_date)}</gen:era><gen:yy>#{wareki(@start_date)}</gen:yy><gen:mm>#{@start_date.month}</gen:mm><gen:dd>#{@start_date.day}</gen:dd></JIGYO_NENDO_FROM>) end |
#jigyo_nendo_to ⇒ Object
85 86 87 |
# File 'lib/luca/jp/it_part.rb', line 85 def jigyo_nendo_to %Q(<JIGYO_NENDO_TO ID="JIGYO_NENDO_TO"><gen:era>#{gengou(@end_date)}</gen:era><gen:yy>#{wareki(@end_date)}</gen:yy><gen:mm>#{@end_date.month}</gen:mm><gen:dd>#{@end_date.day}</gen:dd></JIGYO_NENDO_TO>) end |
#kazei_kikan_from ⇒ Object
89 90 91 |
# File 'lib/luca/jp/it_part.rb', line 89 def kazei_kikan_from %Q(<KAZEI_KIKAN_FROM ID="KAZEI_KIKAN_FROM"><gen:era>#{gengou(@start_date)}</gen:era><gen:yy>#{wareki(@start_date)}</gen:yy><gen:mm>#{@start_date.month}</gen:mm><gen:dd>#{@start_date.day}</gen:dd></KAZEI_KIKAN_FROM>) end |
#kazei_kikan_to ⇒ Object
93 94 95 |
# File 'lib/luca/jp/it_part.rb', line 93 def kazei_kikan_to %Q(<KAZEI_KIKAN_TO ID="KAZEI_KIKAN_TO"><gen:era>#{gengou(@end_date)}</gen:era><gen:yy>#{wareki(@end_date)}</gen:yy><gen:mm>#{@end_date.month}</gen:mm><gen:dd>#{@end_date.day}</gen:dd></KAZEI_KIKAN_TO>) end |
#parse_houjinbango(str) ⇒ Object
58 59 60 |
# File 'lib/luca/jp/it_part.rb', line 58 def parse_houjinbango(str) %Q(<gen:hojinbango>#{str}</gen:hojinbango>) end |
#parse_kinyukikan(str) ⇒ Object
62 63 64 65 |
# File 'lib/luca/jp/it_part.rb', line 62 def parse_kinyukikan(str) items = str.split('-') %Q(<gen:kinyukikan_NM kinyukikan_KB="1">#{items[0]}</gen:kinyukikan_NM><gen:shiten_NM shiten_KB="2">#{items[1]}</gen:shiten_NM><gen:yokin>#{items[2]}</gen:yokin><gen:koza>#{items[3]}</gen:koza>) end |
#parse_tel(str) ⇒ Object
67 68 69 70 |
# File 'lib/luca/jp/it_part.rb', line 67 def parse_tel(str) num = str.split('-') %Q(<gen:tel1>#{num[0]}</gen:tel1><gen:tel2>#{num[1]}</gen:tel2><gen:tel3>#{num[2]}</gen:tel3>) end |
#parse_zeimusho(str) ⇒ Object
53 54 55 56 |
# File 'lib/luca/jp/it_part.rb', line 53 def parse_zeimusho(str) items = str.split('-') %Q(<gen:zeimusho_CD>#{items[0]}</gen:zeimusho_CD><gen:zeimusho_NM>#{items[1]}</gen:zeimusho_NM>) end |
#parse_zip(str) ⇒ Object
72 73 74 75 |
# File 'lib/luca/jp/it_part.rb', line 72 def parse_zip(str) num = str.split('-') %Q(<gen:zip1>#{num[0]}</gen:zip1><gen:zip2>#{num[1]}</gen:zip2>) end |
#render_it_tag(key) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/luca/jp/it_part.rb', line 32 def render_it_tag(key) content = config.dig('jp', 'it_part', key) return nil if content.nil? case key when 'zeimusho' content = parse_zeimusho(content) when 'nozeisha_tel', 'daihyo_tel' content = parse_tel(content) when 'nozeisha_zip', 'daihyo_zip' content = parse_zip(content) when 'nozeisha_bango' content = parse_houjinbango(content) when 'kanpu_kinyukikan' content = parse_kinyukikan(content) end tag = key.to_s.upcase %Q(<#{tag} ID="#{tag}">#{content}</#{tag}>) end |
#teisyutsu_day ⇒ Object
77 78 79 |
# File 'lib/luca/jp/it_part.rb', line 77 def teisyutsu_day %Q(<TEISYUTSU_DAY ID="TEISYUTSU_DAY"><gen:era>#{gengou(@issue_date)}</gen:era><gen:yy>#{wareki(@issue_date)}</gen:yy><gen:mm>#{@issue_date.month}</gen:mm><gen:dd>#{@issue_date.day}</gen:dd></TEISYUTSU_DAY>) end |