Module: Luca::Jp::Util
Class Method Summary collapse
- .beppyo2_config(key) ⇒ Object
- .config ⇒ Object
- .eltax_config(key) ⇒ Object
- .etax_date(date) ⇒ Object
- .form_rdf(code) ⇒ Object
- .gaikyo_config(key) ⇒ Object
- .gengou(date) ⇒ Object
- .it_part_config(key) ⇒ Object
- .prepaid_tax(code, customer = nil) ⇒ Object
- .refund_tax(code) ⇒ Object
- .render_attr(code, val) ⇒ Object
- .tokyo23? ⇒ Boolean
- .uchiwake_account_config(key) ⇒ Object
- .wareki(date) ⇒ Object
- .中間還付税額(税額, 中間納付額) ⇒ Object
- .期首期末残高(code) ⇒ Object
- .納付税額(税額, 中間納付額) ⇒ Object
- .純資産期中増減(code) ⇒ Object
Class Method Details
.beppyo2_config(key) ⇒ Object
74 75 76 |
# File 'lib/luca/jp/util.rb', line 74 def beppyo2_config(key) config.dig('jp', 'beppyo2', key) end |
.config ⇒ Object
66 67 68 |
# File 'lib/luca/jp/util.rb', line 66 def config EX_CONF.nil? ? LucaSupport::CONFIG : LucaSupport::CONFIG.merge(EX_CONF) end |
.eltax_config(key) ⇒ Object
89 90 91 |
# File 'lib/luca/jp/util.rb', line 89 def eltax_config(key) config.dig('jp', 'eltax', key) end |
.etax_date(date) ⇒ Object
62 63 64 |
# File 'lib/luca/jp/util.rb', line 62 def etax_date(date) "<gen:era>#{gengou(date)}</gen:era><gen:yy>#{wareki(date)}</gen:yy><gen:mm>#{date.month}</gen:mm><gen:dd>#{date.day}</gen:dd>" end |
.form_rdf(code) ⇒ Object
52 53 54 |
# File 'lib/luca/jp/util.rb', line 52 def form_rdf(code) "<rdf:li><rdf:description about=\"##{code}\"/></rdf:li>" end |
.gaikyo_config(key) ⇒ Object
78 79 80 |
# File 'lib/luca/jp/util.rb', line 78 def gaikyo_config(key) config.dig('jp', 'gaikyo', key) end |
.gengou(date) ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/luca/jp/util.rb', line 8 def gengou(date) if date >= Date.new(2019, 5, 1) 5 else 4 end end |
.it_part_config(key) ⇒ Object
70 71 72 |
# File 'lib/luca/jp/util.rb', line 70 def it_part_config(key) config.dig('jp', 'it_part', key) end |
.prepaid_tax(code, customer = nil) ⇒ Object
24 25 26 27 28 29 |
# File 'lib/luca/jp/util.rb', line 24 def prepaid_tax(code, customer = nil) search_end = @end_date.prev_month # exclude year end adjustment header = { customer: customer } unless customer.nil? amount, _ = self.class.net(@start_date.year, @start_date.month, search_end.year, search_end.month, code: code, header: header) LucaSupport::Code.readable(amount[code] || 0) end |
.refund_tax(code) ⇒ Object
31 32 33 34 |
# File 'lib/luca/jp/util.rb', line 31 def refund_tax(code) credit = credit_amount(code, @start_date.year, @start_date.month, @end_date.year, @end_date.month) LucaSupport::Code.readable(credit) end |
.render_attr(code, val) ⇒ Object
56 57 58 59 60 |
# File 'lib/luca/jp/util.rb', line 56 def render_attr(code, val) return '' if val.nil? || val.to_s.length == 0 "<#{code}>#{val}</#{code}>" end |
.tokyo23? ⇒ Boolean
93 94 95 |
# File 'lib/luca/jp/util.rb', line 93 def tokyo23? @report_category == '23ku' end |
.uchiwake_account_config(key) ⇒ Object
82 83 84 85 86 87 |
# File 'lib/luca/jp/util.rb', line 82 def uchiwake_account_config(key) account_list = config.dig('jp', 'accounts') return [] if account_list.nil? Array(account_list).filter { |account| /^#{key}/.match(account['code'].to_s) } end |
.wareki(date) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/luca/jp/util.rb', line 16 def wareki(date) if date >= Date.new(2019, 5, 1) date.year - 2018 else date.year - 1988 end end |
.中間還付税額(税額, 中間納付額) ⇒ Object
44 45 46 47 48 49 50 |
# File 'lib/luca/jp/util.rb', line 44 def 中間還付税額(税額, 中間納付額) if 税額 < 中間納付額 中間納付額 - 税額 else 0 end end |
.期首期末残高(code) ⇒ Object
97 98 99 100 101 |
# File 'lib/luca/jp/util.rb', line 97 def 期首期末残高(code) pre = readable(@start_balance.dig(code)) post = readable(@bs_data.dig(code)) [readable(pre), readable(post)] end |
.納付税額(税額, 中間納付額) ⇒ Object
36 37 38 39 40 41 42 |
# File 'lib/luca/jp/util.rb', line 36 def 納付税額(税額, 中間納付額) if 税額 > 中間納付額 税額 - 中間納付額 else 0 end end |
.純資産期中増減(code) ⇒ Object
103 104 105 106 107 108 |
# File 'lib/luca/jp/util.rb', line 103 def 純資産期中増減(code) inc = credit_amount(code, @start_date.year, @start_date.month, @end_date.year, @end_date.month) dec = debit_amount(code, @start_date.year, @start_date.month, @end_date.year, @end_date.month) [readable(dec), readable(inc)] end |