tax_jp 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/data//347/244/276/344/274/232/344/277/235/351/231/272/346/226/231//347/255/211/347/264/232-20080901-20991231.tsv +13 -13
- data/data//347/244/276/344/274/232/344/277/235/351/231/272/346/226/231.db +0 -0
- data/lib/tax_jp/social_insurance.rb +8 -8
- data/lib/tax_jp/social_insurances/grade.rb +20 -0
- data/lib/tax_jp/social_insurances/health_insurance.rb +46 -0
- data/lib/tax_jp/social_insurances/welfare_pension.rb +44 -0
- data/lib/tax_jp/version.rb +1 -1
- metadata +5 -5
- data/lib/tax_jp/grade.rb +0 -22
- data/lib/tax_jp/health_insurance.rb +0 -46
- data/lib/tax_jp/welfare_pension.rb +0 -43
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 81bebb050011c3c2ca6a48a11e6b7d828bdaf320
|
4
|
+
data.tar.gz: 5f7693a7ca21766f944746a8ee177a336b30ba63
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ef311f32d6add769d48920cf3a87184b78d8cf417d581e9fabaf538dc46a42461d444098eef926dc1498001316b3c2290d4444b735f9a6234b5ae90d10e5e465
|
7
|
+
data.tar.gz: 8e9222d3314e41e8f6e7e49d2cecf71e9c1dee8a1be91af19880f1602f3d974edfc7c04b10bbe0ed5e34dd04c57316bdccaff7342f8501900088850e1e40f5a3
|
@@ -33,16 +33,16 @@
|
|
33
33
|
32 28 560000 18670 545000 575000
|
34
34
|
33 29 590000 19670 575000 605000
|
35
35
|
34 30 620000 20670 605000 635000
|
36
|
-
35
|
37
|
-
36
|
38
|
-
37
|
39
|
-
38
|
40
|
-
39
|
41
|
-
40
|
42
|
-
41
|
43
|
-
42
|
44
|
-
43
|
45
|
-
44
|
46
|
-
45
|
47
|
-
46
|
48
|
-
47
|
36
|
+
35 31 650000 21670 635000 665000
|
37
|
+
36 31 680000 22670 665000 695000
|
38
|
+
37 31 710000 23670 695000 730000
|
39
|
+
38 31 750000 25000 730000 770000
|
40
|
+
39 31 790000 26330 770000 810000
|
41
|
+
40 31 830000 27670 810000 855000
|
42
|
+
41 31 880000 29330 855000 905000
|
43
|
+
42 31 930000 31000 905000 955000
|
44
|
+
43 31 980000 32670 955000 1005000
|
45
|
+
44 31 1030000 34330 1005000 1055000
|
46
|
+
45 31 1090000 36330 1055000 1115000
|
47
|
+
46 31 1150000 38330 1115000 1175000
|
48
|
+
47 31 1210000 40330 1175000 -
|
Binary file
|
@@ -1,11 +1,11 @@
|
|
1
1
|
require 'sqlite3'
|
2
|
-
require_relative 'grade'
|
3
|
-
require_relative 'health_insurance'
|
4
|
-
require_relative 'welfare_pension'
|
5
2
|
|
6
3
|
module TaxJp
|
7
4
|
module SocialInsurances
|
8
5
|
require_relative 'social_insurances/utils'
|
6
|
+
require_relative 'social_insurances/grade'
|
7
|
+
require_relative 'social_insurances/health_insurance'
|
8
|
+
require_relative 'social_insurances/welfare_pension'
|
9
9
|
end
|
10
10
|
|
11
11
|
# 社会保険
|
@@ -22,22 +22,22 @@ module TaxJp
|
|
22
22
|
attr_reader :welfare_pension
|
23
23
|
|
24
24
|
def initialize(row)
|
25
|
-
@grade = TaxJp::Grade.new(
|
25
|
+
@grade = TaxJp::SocialInsurances::Grade.new(
|
26
26
|
:valid_from => row[0], :valid_until => row[1],
|
27
27
|
:grade => row[2], :pension_grade => row[3],
|
28
28
|
:monthly_standard => row[4], :daily_standard => row[5],
|
29
29
|
:salary_from => row[6], :salary_to => row[7])
|
30
30
|
|
31
|
-
@health_insurance = TaxJp::HealthInsurance.new(
|
31
|
+
@health_insurance = TaxJp::SocialInsurances::HealthInsurance.new(
|
32
|
+
:grade => @grade,
|
32
33
|
:valid_from => row[8], :valid_until => row[9],
|
33
|
-
:monthly_standard => row[4],
|
34
34
|
:prefecture => Prefecture.find_by_code(row[10]),
|
35
35
|
:general => row[11], :care => row[12],
|
36
36
|
:particular => row[13], :basic => row[14])
|
37
37
|
|
38
|
-
@welfare_pension = TaxJp::WelfarePension.new(
|
38
|
+
@welfare_pension = TaxJp::SocialInsurances::WelfarePension.new(
|
39
|
+
:grade => @grade,
|
39
40
|
:valid_from => row[15], :valid_until => row[16],
|
40
|
-
:monthly_standard => row[4],
|
41
41
|
:general => row[17], :particular => row[18],
|
42
42
|
:child_support => row[19])
|
43
43
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# 等級
|
2
|
+
class TaxJp::SocialInsurances::Grade
|
3
|
+
|
4
|
+
attr_reader :valid_from, :valid_until
|
5
|
+
attr_reader :grade, :pension_grade
|
6
|
+
attr_reader :monthly_standard, :daily_standard
|
7
|
+
attr_reader :salary_from, :salary_to
|
8
|
+
|
9
|
+
def initialize(attrs = {})
|
10
|
+
@valid_from = attrs[:valid_from]
|
11
|
+
@valid_until = attrs[:valid_until]
|
12
|
+
@grade = attrs[:grade]
|
13
|
+
@pension_grade = attrs[:pension_grade]
|
14
|
+
@monthly_standard = attrs[:monthly_standard]
|
15
|
+
@daily_standard = attrs[:daily_standard]
|
16
|
+
@salary_from = attrs[:salary_from]
|
17
|
+
@salary_to = attrs[:salary_to]
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# 健康年金
|
2
|
+
class TaxJp::SocialInsurances::HealthInsurance
|
3
|
+
attr_reader :grade
|
4
|
+
attr_reader :valid_from, :valid_until
|
5
|
+
attr_reader :prefecture
|
6
|
+
attr_reader :general, :care
|
7
|
+
attr_reader :particular, :basic
|
8
|
+
|
9
|
+
def initialize(attrs = {})
|
10
|
+
@grade = attrs[:grade]
|
11
|
+
@valid_from = attrs[:valid_from]
|
12
|
+
@valid_until = attrs[:valid_until]
|
13
|
+
@prefecture = attrs[:prefecture]
|
14
|
+
@general= attrs[:general]
|
15
|
+
@care = attrs[:care]
|
16
|
+
@particular= attrs[:particular]
|
17
|
+
@basic = attrs[:basic]
|
18
|
+
end
|
19
|
+
|
20
|
+
def general_amount
|
21
|
+
floor_amount(monthly_standard * general)
|
22
|
+
end
|
23
|
+
|
24
|
+
def general_amount_half
|
25
|
+
floor_amount(monthly_standard * general / 2)
|
26
|
+
end
|
27
|
+
|
28
|
+
def general_amount_care
|
29
|
+
floor_amount(monthly_standard * (general + care))
|
30
|
+
end
|
31
|
+
|
32
|
+
def general_amount_care_half
|
33
|
+
floor_amount(monthly_standard * (general + care) / 2)
|
34
|
+
end
|
35
|
+
|
36
|
+
private
|
37
|
+
|
38
|
+
def monthly_standard
|
39
|
+
grade.grade > 0 ? grade.monthly_standard : 0
|
40
|
+
end
|
41
|
+
|
42
|
+
def floor_amount(amount)
|
43
|
+
(amount * 10).floor * 0.1
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# 厚生年金
|
2
|
+
class TaxJp::SocialInsurances::WelfarePension
|
3
|
+
attr_reader :grade
|
4
|
+
attr_reader :valid_from, :valid_until
|
5
|
+
attr_reader :general, :particular
|
6
|
+
attr_reader :child_support
|
7
|
+
|
8
|
+
def initialize(attrs = {})
|
9
|
+
@grade = attrs[:grade]
|
10
|
+
@valid_from = attrs[:valid_from]
|
11
|
+
@valid_until = attrs[:valid_until]
|
12
|
+
@general= attrs[:general]
|
13
|
+
@particular= attrs[:particular]
|
14
|
+
@child_support = attrs[:child_support]
|
15
|
+
end
|
16
|
+
|
17
|
+
def general_amount
|
18
|
+
floor_amount(monthly_standard * general)
|
19
|
+
end
|
20
|
+
|
21
|
+
def general_amount_half
|
22
|
+
floor_amount(monthly_standard * general / 2)
|
23
|
+
end
|
24
|
+
|
25
|
+
def particular_amount
|
26
|
+
floor_amount(monthly_standard * particular)
|
27
|
+
end
|
28
|
+
|
29
|
+
def particular_amount_half
|
30
|
+
floor_amount(monthly_standard * particular / 2)
|
31
|
+
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
def monthly_standard
|
36
|
+
return 0 unless grade.pension_grade >= 1 and grade.pension_grade <= 30
|
37
|
+
grade.monthly_standard
|
38
|
+
end
|
39
|
+
|
40
|
+
def floor_amount(amount)
|
41
|
+
(amount * 100).floor * 0.01
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
data/lib/tax_jp/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tax_jp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ichylinux
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-07-
|
12
|
+
date: 2015-07-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sqlite3
|
@@ -134,17 +134,17 @@ files:
|
|
134
134
|
- lib/tax_jp.rb
|
135
135
|
- lib/tax_jp/const.rb
|
136
136
|
- lib/tax_jp/consumption_tax.rb
|
137
|
-
- lib/tax_jp/grade.rb
|
138
|
-
- lib/tax_jp/health_insurance.rb
|
139
137
|
- lib/tax_jp/prefecture.rb
|
140
138
|
- lib/tax_jp/rails/engine.rb
|
141
139
|
- lib/tax_jp/rails/railtie.rb
|
142
140
|
- lib/tax_jp/social_insurance.rb
|
143
141
|
- lib/tax_jp/social_insurances/db_builder.rb
|
142
|
+
- lib/tax_jp/social_insurances/grade.rb
|
143
|
+
- lib/tax_jp/social_insurances/health_insurance.rb
|
144
144
|
- lib/tax_jp/social_insurances/utils.rb
|
145
|
+
- lib/tax_jp/social_insurances/welfare_pension.rb
|
145
146
|
- lib/tax_jp/utils.rb
|
146
147
|
- lib/tax_jp/version.rb
|
147
|
-
- lib/tax_jp/welfare_pension.rb
|
148
148
|
- lib/tax_jp/withheld_tax.rb
|
149
149
|
- lib/tax_jp/withheld_taxes/db_builder.rb
|
150
150
|
- tax_jp.gemspec
|
data/lib/tax_jp/grade.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
module TaxJp
|
2
|
-
|
3
|
-
# 等級
|
4
|
-
class Grade
|
5
|
-
attr_reader :valid_from, :valid_until
|
6
|
-
attr_reader :grade, :pension_grade
|
7
|
-
attr_reader :monthly_standard, :daily_standard
|
8
|
-
attr_reader :salary_from, :salary_to
|
9
|
-
|
10
|
-
def initialize(attrs = {})
|
11
|
-
@valid_from = attrs[:valid_from]
|
12
|
-
@valid_until = attrs[:valid_until]
|
13
|
-
@grade = attrs[:grade]
|
14
|
-
@pension_grade = attrs[:pension_grade]
|
15
|
-
@monthly_standard = attrs[:monthly_standard]
|
16
|
-
@daily_standard = attrs[:daily_standard]
|
17
|
-
@salary_from = attrs[:salary_from]
|
18
|
-
@salary_to = attrs[:salary_to]
|
19
|
-
end
|
20
|
-
|
21
|
-
end
|
22
|
-
end
|
@@ -1,46 +0,0 @@
|
|
1
|
-
module TaxJp
|
2
|
-
|
3
|
-
# 健康年金
|
4
|
-
class HealthInsurance
|
5
|
-
attr_reader :valid_from, :valid_until
|
6
|
-
attr_reader :monthly_standard
|
7
|
-
attr_reader :prefecture
|
8
|
-
attr_reader :general, :care
|
9
|
-
attr_reader :particular, :basic
|
10
|
-
|
11
|
-
def initialize(attrs = {})
|
12
|
-
@valid_from = attrs[:valid_from]
|
13
|
-
@valid_until = attrs[:valid_until]
|
14
|
-
@monthly_standard = attrs[:monthly_standard]
|
15
|
-
@prefecture = attrs[:prefecture]
|
16
|
-
@general= attrs[:general]
|
17
|
-
@care = attrs[:care]
|
18
|
-
@particular= attrs[:particular]
|
19
|
-
@basic = attrs[:basic]
|
20
|
-
end
|
21
|
-
|
22
|
-
def general_amount
|
23
|
-
floor_amount(monthly_standard * general)
|
24
|
-
end
|
25
|
-
|
26
|
-
def general_amount_half
|
27
|
-
floor_amount(monthly_standard * general / 2)
|
28
|
-
end
|
29
|
-
|
30
|
-
def general_amount_care
|
31
|
-
floor_amount(monthly_standard * (general + care))
|
32
|
-
end
|
33
|
-
|
34
|
-
def general_amount_care_half
|
35
|
-
floor_amount(monthly_standard * (general + care) / 2)
|
36
|
-
end
|
37
|
-
|
38
|
-
private
|
39
|
-
|
40
|
-
def floor_amount(amount)
|
41
|
-
(amount * 10).floor * 0.1
|
42
|
-
end
|
43
|
-
|
44
|
-
end
|
45
|
-
|
46
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
module TaxJp
|
2
|
-
|
3
|
-
# 厚生年金
|
4
|
-
class WelfarePension
|
5
|
-
attr_reader :valid_from, :valid_until
|
6
|
-
attr_reader :monthly_standard
|
7
|
-
attr_reader :general, :particular
|
8
|
-
attr_reader :child_support
|
9
|
-
|
10
|
-
def initialize(attrs = {})
|
11
|
-
@valid_from = attrs[:valid_from]
|
12
|
-
@valid_until = attrs[:valid_until]
|
13
|
-
@monthly_standard = attrs[:monthly_standard]
|
14
|
-
@general= attrs[:general]
|
15
|
-
@particular= attrs[:particular]
|
16
|
-
@child_support = attrs[:child_support]
|
17
|
-
end
|
18
|
-
|
19
|
-
def general_amount
|
20
|
-
floor_amount(monthly_standard * general)
|
21
|
-
end
|
22
|
-
|
23
|
-
def general_amount_half
|
24
|
-
floor_amount(monthly_standard * general / 2)
|
25
|
-
end
|
26
|
-
|
27
|
-
def particular_amount
|
28
|
-
floor_amount(monthly_standard * particular)
|
29
|
-
end
|
30
|
-
|
31
|
-
def particular_amount_half
|
32
|
-
floor_amount(monthly_standard * particular / 2)
|
33
|
-
end
|
34
|
-
|
35
|
-
private
|
36
|
-
|
37
|
-
def floor_amount(amount)
|
38
|
-
(amount * 100).floor * 0.01
|
39
|
-
end
|
40
|
-
|
41
|
-
end
|
42
|
-
|
43
|
-
end
|