luca-jp 0.1.5 → 0.2.1
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 +2 -0
- data/lib/luca/jp/aoiro.rb +239 -65
- data/lib/luca/jp/chihouzei.rb +23 -6
- data/lib/luca/jp/common.rb +16 -3
- data/lib/luca/jp/it_part.rb +1 -1
- data/lib/luca/jp/syouhizei.rb +2 -2
- data/lib/luca/jp/templates/beppyo1.xml.erb +2 -0
- data/lib/luca/jp/templates/beppyo2.xml.erb +32 -0
- data/lib/luca/jp/templates/beppyo4.xml.erb +15 -11
- data/lib/luca/jp/templates/beppyo51.xml.erb +14 -7
- data/lib/luca/jp/templates/beppyo52.xml.erb +50 -19
- data/lib/luca/jp/templates/chidai-meisai.xml.erb +15 -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 +12 -20
- data/lib/luca/jp/templates/eltax-userinf.xml.erb +20 -0
- data/lib/luca/jp/templates/eltax.xml.erb +7 -7
- data/lib/luca/jp/templates/gaikyo.xml.erb +65 -0
- data/lib/luca/jp/templates/kaikake-meisai.xml.erb +16 -0
- data/lib/luca/jp/templates/kariire-meisai.xml.erb +13 -0
- data/lib/luca/jp/templates/shoken-meisai.xml.erb +21 -0
- data/lib/luca/jp/templates/tekiyougaku.xml.erb +2 -0
- data/lib/luca/jp/templates/yokin-meisai.xml.erb +7 -4
- data/lib/luca/jp/uchiwake.rb +195 -0
- data/lib/luca/jp/urikake.rb +47 -0
- data/lib/luca/jp/util.rb +25 -0
- data/lib/luca/jp/version.rb +1 -1
- metadata +9 -2
@@ -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
|
|
@@ -64,6 +66,29 @@ module Luca
|
|
64
66
|
def config
|
65
67
|
EX_CONF.nil? ? LucaSupport::CONFIG : LucaSupport::CONFIG.merge(EX_CONF)
|
66
68
|
end
|
69
|
+
|
70
|
+
def it_part_config(key)
|
71
|
+
config.dig('jp', 'it_part', key)
|
72
|
+
end
|
73
|
+
|
74
|
+
def beppyo2_config(key)
|
75
|
+
config.dig('jp', 'beppyo2', key)
|
76
|
+
end
|
77
|
+
|
78
|
+
def gaikyo_config(key)
|
79
|
+
config.dig('jp', 'gaikyo', key)
|
80
|
+
end
|
81
|
+
|
82
|
+
def uchiwake_account_config(key)
|
83
|
+
account_list = config.dig('jp', 'accounts')
|
84
|
+
return [] if account_list.nil?
|
85
|
+
|
86
|
+
Array(account_list).filter { |account| /^#{key}/.match(account['code'].to_s) }
|
87
|
+
end
|
88
|
+
|
89
|
+
def eltax_config(key)
|
90
|
+
config.dig('jp', 'eltax', key)
|
91
|
+
end
|
67
92
|
end
|
68
93
|
end
|
69
94
|
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.2.1
|
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-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lucabook
|
@@ -96,19 +96,26 @@ files:
|
|
96
96
|
- lib/luca/jp/templates/beppyo51.xml.erb
|
97
97
|
- lib/luca/jp/templates/beppyo52.xml.erb
|
98
98
|
- lib/luca/jp/templates/beppyo7.xml.erb
|
99
|
+
- lib/luca/jp/templates/chidai-meisai.xml.erb
|
99
100
|
- lib/luca/jp/templates/consumption.xtx.erb
|
100
101
|
- lib/luca/jp/templates/el-no6-43.xml.erb
|
101
102
|
- lib/luca/jp/templates/el-no6-9.xml.erb
|
102
103
|
- lib/luca/jp/templates/el-no6.xml.erb
|
104
|
+
- lib/luca/jp/templates/eltax-userinf.xml.erb
|
103
105
|
- lib/luca/jp/templates/eltax.xml.erb
|
104
106
|
- lib/luca/jp/templates/fuhyo43.xml.erb
|
105
107
|
- lib/luca/jp/templates/fuhyo53.xml.erb
|
106
108
|
- lib/luca/jp/templates/gaikyo.xml.erb
|
109
|
+
- lib/luca/jp/templates/kaikake-meisai.xml.erb
|
110
|
+
- lib/luca/jp/templates/kariire-meisai.xml.erb
|
107
111
|
- lib/luca/jp/templates/kariuke-meisai.xml.erb
|
112
|
+
- lib/luca/jp/templates/shoken-meisai.xml.erb
|
108
113
|
- lib/luca/jp/templates/syouhizei-shinkoku-kanni.xml.erb
|
109
114
|
- lib/luca/jp/templates/tekiyougaku.xml.erb
|
110
115
|
- lib/luca/jp/templates/yakuin-meisai.xml.erb
|
111
116
|
- lib/luca/jp/templates/yokin-meisai.xml.erb
|
117
|
+
- lib/luca/jp/uchiwake.rb
|
118
|
+
- lib/luca/jp/urikake.rb
|
112
119
|
- lib/luca/jp/util.rb
|
113
120
|
- lib/luca/jp/version.rb
|
114
121
|
homepage: https://github.com/chumaltd/luca-jp/tree/main
|