luca-jp 0.1.7 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/exe/luca-jp +12 -0
- data/lib/luca/jp.rb +1 -0
- data/lib/luca/jp/aoiro.rb +53 -0
- data/lib/luca/jp/chihouzei.rb +3 -2
- data/lib/luca/jp/it_part.rb +1 -1
- data/lib/luca/jp/templates/beppyo2.xml.erb +31 -0
- data/lib/luca/jp/templates/beppyo4.xml.erb +4 -0
- data/lib/luca/jp/templates/el-no6-43.xml.erb +1 -1
- data/lib/luca/jp/templates/el-no6-9.xml.erb +2 -2
- data/lib/luca/jp/templates/el-no6.xml.erb +10 -10
- data/lib/luca/jp/templates/eltax.xml.erb +7 -7
- data/lib/luca/jp/templates/gaikyo.xml.erb +1 -0
- data/lib/luca/jp/templates/tekiyougaku.xml.erb +2 -0
- data/lib/luca/jp/urikake.rb +47 -0
- data/lib/luca/jp/util.rb +6 -0
- data/lib/luca/jp/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a806b0b50cedaaee6bcf04c226f02fc857a4c7a651a6a06f7a22abd0e4e161cc
|
4
|
+
data.tar.gz: 9a8188a2595fc6e487b81d073a150995221f9add68768ce2c133267ec084a9b7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 994c9afe22a85581401f8f78853b149bfef194cba11b2c61f24bc43fb26e9dcb6698f79f8919a0aae301e4982d324c9068c4a21b83a756775e92f2d3d61b7326
|
7
|
+
data.tar.gz: 9e001abecc4c7fd0831b2a82eb112156db3e4b8ea9666f9c42fbaf556c9b527caad948c63f17712d99bb44e2b5bd10b2d34b34a96d327dc637cd445435993dc8
|
data/exe/luca-jp
CHANGED
@@ -27,6 +27,11 @@ class LucaCmd
|
|
27
27
|
puts Luca::Jp::Chihouzei.range(*args).kani
|
28
28
|
end
|
29
29
|
end
|
30
|
+
|
31
|
+
def self.urikake(args, params)
|
32
|
+
date = "#{args[0]}-#{args[1]}-1"
|
33
|
+
Luca::Jp::Urikake.new(date).report(params[:total])
|
34
|
+
end
|
30
35
|
end
|
31
36
|
|
32
37
|
cmd = ARGV.shift
|
@@ -54,4 +59,11 @@ when /chihou?zei/
|
|
54
59
|
args = opt.parse!(ARGV)
|
55
60
|
LucaCmd.chihouzei(args, params)
|
56
61
|
end
|
62
|
+
when /urikake/
|
63
|
+
OptionParser.new do |opt|
|
64
|
+
opt.banner = 'Usage: luca-jp urikake [options] yyyy mm'
|
65
|
+
opt.on('--total VAL', '売掛金総額') { |v| params[:total] = v&.to_i }
|
66
|
+
args = opt.parse!(ARGV)
|
67
|
+
LucaCmd.urikake(args, params)
|
68
|
+
end
|
57
69
|
end
|
data/lib/luca/jp.rb
CHANGED
data/lib/luca/jp/aoiro.rb
CHANGED
@@ -255,6 +255,59 @@ module Luca
|
|
255
255
|
readable(LucaBook::State.gross(@start_date.year, @start_date.month, @end_date.year, @end_date.month, code: 'C1I')[:debit]['C1I']) || 0
|
256
256
|
end
|
257
257
|
|
258
|
+
def 別表二株主リスト
|
259
|
+
return '' if beppyo2_config('owners').nil?
|
260
|
+
|
261
|
+
tags = beppyo2_config('owners')[1..-1]&.map.with_index(2) do |owner, i|
|
262
|
+
%Q(<VAE00170>
|
263
|
+
<VAE00180>
|
264
|
+
<VAE00190>#{i}</VAE00190>
|
265
|
+
<VAE00200>#{i}</VAE00200>
|
266
|
+
</VAE00180>
|
267
|
+
<VAE00210>
|
268
|
+
#{render_attr('VAE00220', owner['address'])}
|
269
|
+
#{render_attr('VAE00230', owner['name'])}
|
270
|
+
#{render_attr('VAE00235', owner['relation'] || 'その他')}
|
271
|
+
</VAE00210>
|
272
|
+
<VAE00250>
|
273
|
+
<VAE00290>
|
274
|
+
#{render_attr('VAE00300', owner['shares'])}
|
275
|
+
<VAE00310>
|
276
|
+
#{render_attr('VAE00330', owner['votes'])}
|
277
|
+
</VAE00310>
|
278
|
+
</VAE00290>
|
279
|
+
</VAE00250>
|
280
|
+
</VAE00170>)
|
281
|
+
end
|
282
|
+
tags.compact.join("\n")
|
283
|
+
end
|
284
|
+
|
285
|
+
def 別表二上位株数
|
286
|
+
return nil if beppyo2_config('owners').nil?
|
287
|
+
|
288
|
+
beppyo2_config('owners')[0..2].map{ |owner| owner['shares']&.to_i || 0 }.sum
|
289
|
+
end
|
290
|
+
|
291
|
+
def 別表二上位株割合
|
292
|
+
return nil if beppyo2_config('total_shares').nil?
|
293
|
+
return nil if beppyo2_config('owners').nil?
|
294
|
+
|
295
|
+
(別表二上位株数 * 100.0 / beppyo2_config('total_shares')).round(1).to_s
|
296
|
+
end
|
297
|
+
|
298
|
+
def 別表二上位議決権数
|
299
|
+
return nil if beppyo2_config('owners').nil?
|
300
|
+
|
301
|
+
beppyo2_config('owners')[0..2].map{ |owner| owner['votes']&.to_i || 0 }.sum
|
302
|
+
end
|
303
|
+
|
304
|
+
def 別表二上位議決権割合
|
305
|
+
return nil if beppyo2_config('total_votes').nil?
|
306
|
+
return nil if beppyo2_config('owners').nil?
|
307
|
+
|
308
|
+
(別表二上位議決権数 * 100.0 / beppyo2_config('total_votes')).round(1).to_s
|
309
|
+
end
|
310
|
+
|
258
311
|
def 別表四還付法人税等金額
|
259
312
|
refund_tax()
|
260
313
|
end
|
data/lib/luca/jp/chihouzei.rb
CHANGED
@@ -26,6 +26,7 @@ module Luca
|
|
26
26
|
@software = 'LucaJp'
|
27
27
|
@jimusho_code = eltax_config('jimusho_code')
|
28
28
|
@jimusho_name = eltax_config('jimusho_name')
|
29
|
+
@app_version = eltax_config('app_version')
|
29
30
|
|
30
31
|
@税額 = 税額計算
|
31
32
|
@均等割 = @税額.dig(:kenmin, :kintou)
|
@@ -105,6 +106,7 @@ module Luca
|
|
105
106
|
end
|
106
107
|
|
107
108
|
def 第六号
|
109
|
+
@資本金準備金 = eltax_config('shihon') || it_part_config('shihon_kin')
|
108
110
|
render_erb(search_template('el-no6.xml.erb'))
|
109
111
|
end
|
110
112
|
|
@@ -128,8 +130,7 @@ module Luca
|
|
128
130
|
private
|
129
131
|
|
130
132
|
def 法人税割課税標準
|
131
|
-
|
132
|
-
(national_tax[:kokuzei][:zeigaku] / 1000).floor * 1000
|
133
|
+
(@税額.dig(:houjin, :kokuzei) / 1000).floor * 1000
|
133
134
|
end
|
134
135
|
|
135
136
|
def 事業税中間納付
|
data/lib/luca/jp/it_part.rb
CHANGED
@@ -24,7 +24,7 @@ module Luca
|
|
24
24
|
entries << %Q(<TETSUZUKI ID="TETSUZUKI"><procedure_CD>#{@procedure_code}</procedure_CD><procedure_NM>#{@procedure_name}</procedure_NM></TETSUZUKI>)
|
25
25
|
entries.concat([jigyo_nendo_from, jigyo_nendo_to, kazei_kikan_from, kazei_kikan_to])
|
26
26
|
entries << render_it_tag('keiri_sekininsha')
|
27
|
-
entries << '<SHINKOKU_KBN ID="SHINKOKU_KBN"><kubun_CD>
|
27
|
+
entries << '<SHINKOKU_KBN ID="SHINKOKU_KBN"><kubun_CD>30</kubun_CD></SHINKOKU_KBN>'
|
28
28
|
entries.concat(['eltax_id'].map{ |key| render_it_tag(key) })
|
29
29
|
entries << '</IT>'
|
30
30
|
entries.compact.join("\n")
|
@@ -6,4 +6,35 @@
|
|
6
6
|
</VAA00010>
|
7
7
|
<VAA00040 IDREF="NOZEISHA_NM"/>
|
8
8
|
</VAA00000>
|
9
|
+
<VAB00000>
|
10
|
+
<%= render_attr('VAB00010', beppyo2_config('total_shares')) %>
|
11
|
+
<%= render_attr('VAB00020', 別表二上位株数) %>
|
12
|
+
<%= render_attr('VAB00030', 別表二上位株割合) %>
|
13
|
+
<VAB00040>
|
14
|
+
<%= render_attr('VAB00060', beppyo2_config('total_votes')) %>
|
15
|
+
</VAB00040>
|
16
|
+
<%= render_attr('VAB00070', 別表二上位議決権数) %>
|
17
|
+
<%= render_attr('VAB00080', 別表二上位議決権割合) %>
|
18
|
+
</VAB00000>
|
19
|
+
<VAE00000>
|
20
|
+
<VAE00010>
|
21
|
+
<VAE00020>
|
22
|
+
<VAE00030>1</VAE00030>
|
23
|
+
<VAE00040>1</VAE00040>
|
24
|
+
</VAE00020>
|
25
|
+
<VAE00050>
|
26
|
+
<%= render_attr('VAE00060', beppyo2_config('owners')&.dig(0, 'address')) %>
|
27
|
+
<%= render_attr('VAE00070', beppyo2_config('owners')&.dig(0, 'name')) %>
|
28
|
+
</VAE00050>
|
29
|
+
<VAE00080>
|
30
|
+
<VAE00120>
|
31
|
+
<%= render_attr('VAE00130', beppyo2_config('owners')&.dig(0, 'shares')) %>
|
32
|
+
<VAE00140>
|
33
|
+
<%= render_attr('VAE00160', beppyo2_config('owners')&.dig(0, 'votes')) %>
|
34
|
+
</VAE00140>
|
35
|
+
</VAE00120>
|
36
|
+
</VAE00080>
|
37
|
+
</VAE00010>
|
38
|
+
<%= 別表二株主リスト %>
|
39
|
+
</VAE00000>
|
9
40
|
</HOA201>
|
@@ -61,6 +61,10 @@
|
|
61
61
|
<%= render_attr('ARE00010', @別表四調整所得) %>
|
62
62
|
<%= render_attr('ARE00020', @別表四調整所得) %>
|
63
63
|
</ARE00000>
|
64
|
+
<ARZ10000>
|
65
|
+
<%= render_attr('ARZ10010', @別表四調整所得) %>
|
66
|
+
<%= render_attr('ARZ10020', @別表四調整所得) %>
|
67
|
+
</ARZ10000>
|
64
68
|
<ARK00000>
|
65
69
|
<%= render_attr('ARK00010', @別表四調整所得) %>
|
66
70
|
<%= render_attr('ARK00020', @別表四調整所得) %>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<R0102AG120 xmlns="http://eltax.jp/HOJIN_DOFUKEN" vr="120" page="" seiseiSoft="<%= @software %>" seiseiVr="" seiseiDay="" seiseiNM="" koshinSoft="" koshinVr="" koshinDay="" koshinNM="" taari="">
|
1
|
+
<R0102AG120 xmlns="http://eltax.jp/HOJIN_DOFUKEN" vr="120" page="" seiseiSoft="<%= @software %>" seiseiVr="1" seiseiDay="<%= Date.today.strftime('%Y%m%d') %>" seiseiNM="<%= it_part_config('nozeisha_nm') %>" koshinSoft="" koshinVr="" koshinDay="" koshinNM="" taari="">
|
2
2
|
<AGA_JIGYO_SDATE idref="SDATE">
|
3
3
|
<gen:era></gen:era><gen:yy></gen:yy><gen:mm></gen:mm><gen:dd></gen:dd>
|
4
4
|
<gen:yyyymmdd></gen:yyyymmdd>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<R0102AM190 xmlns="http://eltax.jp/HOJIN_DOFUKEN" vr="190" page="" seiseiSoft="<%= @software %>" seiseiVr="" seiseiDay="" seiseiNM="" koshinSoft="" koshinVr="" koshinDay="" koshinNM="" taari="">
|
1
|
+
<R0102AM190 xmlns="http://eltax.jp/HOJIN_DOFUKEN" vr="190" page="" seiseiSoft="<%= @software %>" seiseiVr="1" seiseiDay="<%= Date.today.strftime('%Y%m%d') %>" seiseiNM="<%= it_part_config('nozeisha_nm') %>" koshinSoft="" koshinVr="" koshinDay="" koshinNM="" taari="">
|
2
2
|
<AMA_JIGYO_SDATE idref="SDATE">
|
3
3
|
<gen:era></gen:era><gen:yy></gen:yy><gen:mm></gen:mm><gen:dd></gen:dd>
|
4
4
|
<gen:yyyymmdd></gen:yyyymmdd>
|
@@ -29,7 +29,7 @@
|
|
29
29
|
<%= render_attr('AMB00430', 期首繰越損失) %>
|
30
30
|
<%= render_attr('AMB00440', 当期控除計) %>
|
31
31
|
<%= render_attr('AMB00450', 翌期繰越損失) %>
|
32
|
-
<AMB00325
|
32
|
+
<AMB00325>1</AMB00325>
|
33
33
|
<%= render_attr('AMB00330', 当期繰越損失) %>
|
34
34
|
<AMB00360 />
|
35
35
|
<AMB00365 />
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<R0102AA190 xmlns="http://eltax.jp/HOJIN_DOFUKEN" vr="190" page="" seiseiSoft="<%= @software %>" seiseiVr="" seiseiDay="" seiseiNM="" koshinSoft="" koshinVr="" koshinDay="" koshinNM="" taari="">
|
1
|
+
<R0102AA190 xmlns="http://eltax.jp/HOJIN_DOFUKEN" vr="190" page="" seiseiSoft="<%= @software %>" seiseiVr="1" seiseiDay="<%= Date.today.strftime('%Y%m%d') %>" seiseiNM="<%= it_part_config('nozeisha_nm') %>" koshinSoft="" koshinVr="" koshinDay="" koshinNM="" taari="">
|
2
2
|
<AAA00100 idref="SEIRI_NUM" />
|
3
3
|
<AAA00200 idref="JIMUSHO_NUM"></AAA00200>
|
4
4
|
<AAA00300 idref="HOJIN_NUM"></AAA00300>
|
@@ -41,9 +41,9 @@
|
|
41
41
|
<AAA_SHIHON idref="SHIHON"></AAA_SHIHON>
|
42
42
|
<AAA_SHIHON3></AAA_SHIHON3>
|
43
43
|
<AAA_SHIHON4></AAA_SHIHON4>
|
44
|
-
<AAA_SHIHON2
|
45
|
-
<AAA_SHIHON5
|
46
|
-
<AAA_SHIHON6
|
44
|
+
<AAA_SHIHON2><%= @資本金準備金 %></AAA_SHIHON2>
|
45
|
+
<AAA_SHIHON5><%= @資本金準備金 %></AAA_SHIHON5>
|
46
|
+
<AAA_SHIHON6><%= @資本金準備金 %></AAA_SHIHON6>
|
47
47
|
<AAA_JIGYO_SDATE idref="SDATE">
|
48
48
|
<gen:era></gen:era>
|
49
49
|
<gen:yy></gen:yy>
|
@@ -155,7 +155,7 @@
|
|
155
155
|
<%= render_attr('AAF00700', @繰越損失管理.deduction) %>
|
156
156
|
<%= render_attr('AAG00100', 所得金額) %>
|
157
157
|
<AAH00100 />
|
158
|
-
<AAH00200
|
158
|
+
<AAH00200><%= 中間還付税額(@確定法人税割, @法人税割中間納付) + 中間還付税額(@所得割, 事業税中間納付) + 中間還付税額(地方法人特別税(@所得割), @地方特別法人事業税中間納付) %></AAH00200>
|
159
159
|
<AAH00400><%= eltax_kouza %></AAH00400>
|
160
160
|
<AAI00100>
|
161
161
|
<gen:era />
|
@@ -175,8 +175,8 @@
|
|
175
175
|
<gen:mm />
|
176
176
|
<gen:dd />
|
177
177
|
</AAI01000>
|
178
|
-
<AAI00600
|
179
|
-
<AAI00500
|
178
|
+
<AAI00600>2</AAI00600>
|
179
|
+
<AAI00500>2</AAI00500>
|
180
180
|
<AAI00200>
|
181
181
|
<gen:era />
|
182
182
|
<gen:yy />
|
@@ -189,9 +189,9 @@
|
|
189
189
|
<gen:mm />
|
190
190
|
<gen:dd />
|
191
191
|
</AAI00300>
|
192
|
-
<AAI00400
|
193
|
-
<AAI00450
|
194
|
-
<AAI00700
|
192
|
+
<AAI00400>1</AAI00400>
|
193
|
+
<AAI00450><%= @税額.dig(:houjin, :kokuzei) %></AAI00450>
|
194
|
+
<AAI00700><%= @税額.dig(:houjin, :kokuzei) > 200000 ? 1 : 2 %></AAI00700>
|
195
195
|
<AAI00800 />
|
196
196
|
<AAJ_DAIRI_NAME></AAJ_DAIRI_NAME>
|
197
197
|
<AAJ_DAIRI_TEL_NUM></AAJ_DAIRI_TEL_NUM>
|
@@ -21,14 +21,14 @@
|
|
21
21
|
<gen:yy><%= wareki(@start_date) %></gen:yy>
|
22
22
|
<gen:mm><%= @start_date.month %></gen:mm>
|
23
23
|
<gen:dd><%= @start_date.day %></gen:dd>
|
24
|
-
<gen:yyyymmdd
|
24
|
+
<gen:yyyymmdd><%= @start_date.strftime('%Y%m%d') %></gen:yyyymmdd>
|
25
25
|
</SDATE>
|
26
26
|
<EDATE id="EDATE">
|
27
27
|
<gen:era><%= gengou(@end_date) %></gen:era>
|
28
28
|
<gen:yy><%= wareki(@end_date) %></gen:yy>
|
29
29
|
<gen:mm><%= @end_date.month %></gen:mm>
|
30
30
|
<gen:dd><%= @end_date.day %></gen:dd>
|
31
|
-
<gen:yyyymmdd
|
31
|
+
<gen:yyyymmdd><%= @end_date.strftime('%Y%m%d') %></gen:yyyymmdd >
|
32
32
|
</EDATE>
|
33
33
|
<RPT_DATE id="RPT_DATE">
|
34
34
|
<gen:era><%= gengou(@issue_date) %></gen:era>
|
@@ -74,15 +74,15 @@
|
|
74
74
|
<KAZEI_TEL id="KAZEI_TEL" />
|
75
75
|
<HOGEN_NUM id="HOGEN_NUM" />
|
76
76
|
<KANRI_NUM id="KANRI_NUM" />
|
77
|
-
<KAZEI_NUM id="KAZEI_NUM"
|
77
|
+
<KAZEI_NUM id="KAZEI_NUM"><%= eltax_config('x_houjin_bango') %></KAZEI_NUM>
|
78
78
|
<HOJO_NUM id="HOJO_NUM" />
|
79
79
|
<STF_NUM id="STF_NUM" />
|
80
80
|
</ORG_INF>
|
81
|
-
<STIME id="STIME"
|
81
|
+
<STIME id="STIME"><%= @app_version %></STIME>
|
82
82
|
<HOJIN_DOFUKEN id="HOJIN_DOFUKEN">
|
83
83
|
<FORM_INF id="FORM_INF">
|
84
|
-
<JIGYO_NAME id="JIGYO_NAME"
|
85
|
-
<SHIHON id="SHIHON"
|
84
|
+
<JIGYO_NAME id="JIGYO_NAME"><%= it_part_config('jigyo_naiyo') %></JIGYO_NAME>
|
85
|
+
<SHIHON id="SHIHON"><%= it_part_config('shihon_kin') %></SHIHON>
|
86
86
|
<HOJIN_NUM id="HOJIN_NUM"></HOJIN_NUM>
|
87
87
|
<JIMUSHO_NUM id="JIMUSHO_NUM"><%= @jimusho_code %></JIMUSHO_NUM>
|
88
88
|
<SEIRI_NUM id="SEIRI_NUM" />
|
@@ -104,7 +104,7 @@
|
|
104
104
|
<SYSTEM_INF id="SYSTEM_INF">
|
105
105
|
<SYSTEM_DATA id="SYSTEM_DATA"></SYSTEM_DATA>
|
106
106
|
<NOUZEI_UPDATE id="NOUZEI_UPDATE">
|
107
|
-
<SDATE
|
107
|
+
<SDATE><%= DateTime.now.strftime('%Y%m%d%H%M%S') %></SDATE>
|
108
108
|
<UDATE></UDATE>
|
109
109
|
<SIGN_DATE></SIGN_DATE>
|
110
110
|
<SEND_DATE></SEND_DATE>
|
@@ -4,6 +4,7 @@
|
|
4
4
|
<MAA00020 IDREF="JIGYO_NENDO_FROM"/>
|
5
5
|
<MAA00030 IDREF="JIGYO_NENDO_TO"/>
|
6
6
|
</MAA00010>
|
7
|
+
<MAA00040><kubun_CD>1</kubun_CD></MAA00040>
|
7
8
|
<MAA00050 IDREF="TEISYUTSU_DAY"/>
|
8
9
|
<MAA00060 IDREF="ZEIMUSHO"/>
|
9
10
|
<MAA00070 IDREF="NOZEISHA_ADR"/>
|
@@ -14,6 +15,7 @@
|
|
14
15
|
</MAA00090>
|
15
16
|
<MAA00115 IDREF="NOZEISHA_BANGO"/>
|
16
17
|
<MAA00120 IDREF="SHIHON_KIN"/>
|
18
|
+
<%= render_attr('MAA00130', @別表四調整所得 - @繰越損失管理.deduction) %>
|
17
19
|
<MAA00140>
|
18
20
|
<%= render_attr('MAA00150', 1) %>
|
19
21
|
<%= render_attr('MAA00160', 1) %>
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'json'
|
4
|
+
require 'cgi/escape'
|
5
|
+
require 'luca_deal'
|
6
|
+
require 'luca_support'
|
7
|
+
require 'luca_support/config'
|
8
|
+
require 'luca/jp'
|
9
|
+
|
10
|
+
module Luca
|
11
|
+
module Jp
|
12
|
+
class Urikake < LucaDeal::Invoice
|
13
|
+
@dirname = 'invoices'
|
14
|
+
|
15
|
+
def report(total = nil)
|
16
|
+
listed_amount = 0
|
17
|
+
str = CSV.generate(String.new, headers: false, col_sep: ',', encoding: 'UTF-8') do |f|
|
18
|
+
list.map do |invoice|
|
19
|
+
amount = readable(invoice.dig('subtotal', 0, 'items') + invoice.dig('subtotal', 0, 'tax'))
|
20
|
+
listed_amount += amount
|
21
|
+
f << ['3', '0', '売掛金', invoice.dig('customer', 'name'), invoice.dig('customer', 'address'), amount, nil ]
|
22
|
+
end
|
23
|
+
if total
|
24
|
+
f << ['3', '0', '売掛金', 'その他', nil, total - listed_amount, nil ]
|
25
|
+
f << ['3', '1', nil, nil, nil, total, nil ]
|
26
|
+
end
|
27
|
+
end
|
28
|
+
File.open('HOI030_3.0.csv', 'w') { |f| f.write(str) }
|
29
|
+
end
|
30
|
+
|
31
|
+
def list
|
32
|
+
invoices = self.class.asof(@date.year, @date.month)
|
33
|
+
.map { |dat, _path| dat }
|
34
|
+
.sort_by { |invoice| invoice.dig('subtotal', 0, 'items') }
|
35
|
+
.reverse
|
36
|
+
|
37
|
+
reports = invoices.filter { |invoice| 500_000 <= invoice['subtotal'].inject(0) { |sum, i| sum + i['items'] + i['tax'] } }
|
38
|
+
return reports if reports.length >= 5
|
39
|
+
|
40
|
+
additional = invoices
|
41
|
+
.filter { |invoice| 500_000 > invoice['subtotal'].inject(0) { |sum, i| sum + i['items'] + i['tax'] } }
|
42
|
+
.take(5 - reports.length)
|
43
|
+
reports.concat(additional)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
data/lib/luca/jp/util.rb
CHANGED
@@ -54,6 +54,8 @@ module Luca
|
|
54
54
|
end
|
55
55
|
|
56
56
|
def render_attr(code, val)
|
57
|
+
return '' if val.nil? || val.to_s.length == 0
|
58
|
+
|
57
59
|
"<#{code}>#{val}</#{code}>"
|
58
60
|
end
|
59
61
|
|
@@ -69,6 +71,10 @@ module Luca
|
|
69
71
|
config.dig('jp', 'it_part', key)
|
70
72
|
end
|
71
73
|
|
74
|
+
def beppyo2_config(key)
|
75
|
+
config.dig('jp', 'beppyo2', key)
|
76
|
+
end
|
77
|
+
|
72
78
|
def eltax_config(key)
|
73
79
|
config.dig('jp', 'eltax', key)
|
74
80
|
end
|
data/lib/luca/jp/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: luca-jp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chuma Takahiro
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-03-
|
11
|
+
date: 2021-03-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lucabook
|
@@ -110,6 +110,7 @@ files:
|
|
110
110
|
- lib/luca/jp/templates/tekiyougaku.xml.erb
|
111
111
|
- lib/luca/jp/templates/yakuin-meisai.xml.erb
|
112
112
|
- lib/luca/jp/templates/yokin-meisai.xml.erb
|
113
|
+
- lib/luca/jp/urikake.rb
|
113
114
|
- lib/luca/jp/util.rb
|
114
115
|
- lib/luca/jp/version.rb
|
115
116
|
homepage: https://github.com/chumaltd/luca-jp/tree/main
|