tbr 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/tbr/create_files.rb +52 -1
- data/lib/tbr/processor.rb +13 -0
- data/lib/tbr/version.rb +1 -1
- data/spec/create_files_spec.rb +4 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a473d79b4730ae55bd27c2affb4e1ea452afc2ba
|
4
|
+
data.tar.gz: 25d9e4d974f2b0fbaeea88d97a366522d63c3909
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c557e014983fe35b93189b8b34c580aa9cd6e2b635c50c2c98a8a37f14b8b6179cff25e1ba054aa3c49a403bc5a83d9ca85e142d27c4bdfd4f8100b3db6e81dd
|
7
|
+
data.tar.gz: c02135e1a80e6332d9ee228ddcb81a07678ee7e91af987a50709a2ec6641616141cca3cfd7abca88278ae5cfbe6d543e116ee479dc0b251996afc5623961fd7a
|
data/lib/tbr/create_files.rb
CHANGED
@@ -40,6 +40,10 @@ class CreateFiles
|
|
40
40
|
create_call_details(service)
|
41
41
|
end
|
42
42
|
|
43
|
+
def cost_centre_totals(cost_centres)
|
44
|
+
create_cost_centre_totals(cost_centres.sort)
|
45
|
+
end
|
46
|
+
|
43
47
|
def service_totals(services)
|
44
48
|
create_service_totals(services)
|
45
49
|
end
|
@@ -72,12 +76,24 @@ class CreateFiles
|
|
72
76
|
|
73
77
|
def create_group_summary(group)
|
74
78
|
fname = "#{@dir_summaries}/#{group.name} - #{@invoice_month}.pdf"
|
79
|
+
grand_total = 0.0
|
75
80
|
Prawn::Document.generate(fname, :page_layout => :portrait, :page_size => "A4") do |pdf|
|
76
81
|
header(pdf,"Telstra Billing Summary","Manager: #{group.name}")
|
77
82
|
group.each do |service|
|
78
83
|
format_summary(pdf,service)
|
84
|
+
grand_total += service.total
|
79
85
|
end
|
80
|
-
|
86
|
+
|
87
|
+
pdf.move_down 18
|
88
|
+
pdf.table([['','','Grand Total:', sprintf('$%8.2f',grand_total)]],
|
89
|
+
:column_widths => [220,170,80,50]) do
|
90
|
+
cells.padding = 2
|
91
|
+
cells.borders = []
|
92
|
+
row([0]).font_style = :bold
|
93
|
+
row([0]).background_color = ROW_COLOUR_HEAD
|
94
|
+
column([3]).style(:align => :right)
|
95
|
+
end
|
96
|
+
footer(pdf)
|
81
97
|
end
|
82
98
|
end
|
83
99
|
|
@@ -112,6 +128,41 @@ class CreateFiles
|
|
112
128
|
end
|
113
129
|
end
|
114
130
|
|
131
|
+
def create_cost_centre_totals(cost_centres)
|
132
|
+
fname = "#{@dir_root}/Cost Centres - #{@invoice_month}.pdf"
|
133
|
+
|
134
|
+
data = [["Cost Centre", "Total"]]
|
135
|
+
|
136
|
+
total = 0.0
|
137
|
+
cost_centres.each do |cc|
|
138
|
+
total += cc[1]
|
139
|
+
data << [cc[0], sprintf('%8.2f',cc[1])]
|
140
|
+
end
|
141
|
+
data << ['Total:', sprintf('$%8.2f',total)]
|
142
|
+
|
143
|
+
Prawn::Document.generate(fname, :page_layout => :portrait, :page_size => "A4") do |pdf|
|
144
|
+
header(pdf,"Telstra Cost Centre Totals","")
|
145
|
+
|
146
|
+
pdf.font_size 10
|
147
|
+
pdf.move_down 18
|
148
|
+
|
149
|
+
pdf.table(data,
|
150
|
+
:row_colors => [ROW_COLOUR_EVEN, ROW_COLOUR_ODD],
|
151
|
+
:header => :true,
|
152
|
+
:column_widths => [370,150]) do
|
153
|
+
cells.padding = 2
|
154
|
+
cells.borders = []
|
155
|
+
|
156
|
+
last = data.size - 1
|
157
|
+
row([0,last]).font_style = :bold
|
158
|
+
row([0,last]).background_color = ROW_COLOUR_HEAD
|
159
|
+
column(1).style(:align => :right)
|
160
|
+
end
|
161
|
+
|
162
|
+
footer(pdf)
|
163
|
+
end
|
164
|
+
end
|
165
|
+
|
115
166
|
def create_service_totals(services)
|
116
167
|
fname = "#{@dir_root}/Service Totals - #{@invoice_month}.pdf"
|
117
168
|
|
data/lib/tbr/processor.rb
CHANGED
@@ -100,14 +100,27 @@ module Tbr
|
|
100
100
|
|
101
101
|
@log.info("Creating group summaries")
|
102
102
|
groups.each do |group|
|
103
|
+
@log.info("Creating summary for #{group.name}")
|
103
104
|
cf.group_summary(group)
|
104
105
|
end
|
105
106
|
|
106
107
|
@log.info("Creating service details")
|
107
108
|
services.each do |service|
|
109
|
+
@log.info("Creating report for #{service.service_number}")
|
108
110
|
cf.call_details(service)
|
109
111
|
end
|
110
112
|
|
113
|
+
@log.info("Creating cost centre summary")
|
114
|
+
cost_centres = {}
|
115
|
+
services.each do |service|
|
116
|
+
cc = service.cost_centre
|
117
|
+
unless cc.empty?
|
118
|
+
cc_total = cost_centres[cc] || 0.0
|
119
|
+
cost_centres[cc] = cc_total + service.total
|
120
|
+
end
|
121
|
+
end
|
122
|
+
cf.cost_centre_totals(cost_centres)
|
123
|
+
|
111
124
|
@log.info("Creating service totals summary")
|
112
125
|
cf.service_totals(services)
|
113
126
|
|
data/lib/tbr/version.rb
CHANGED
data/spec/create_files_spec.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tbr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Collins
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-08-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: prawn
|