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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c14b3a149fa446a5777fc978a22ed6f525755825
4
- data.tar.gz: 36c40d1947d3f027b7929a5a7776142f0ed91168
3
+ metadata.gz: a473d79b4730ae55bd27c2affb4e1ea452afc2ba
4
+ data.tar.gz: 25d9e4d974f2b0fbaeea88d97a366522d63c3909
5
5
  SHA512:
6
- metadata.gz: 7e69392f796d8ac96eba528c32c7a51a2f54e92151d5e1ba073b6ea7dc5ff249fff198bdc007e9b926a1f75d72481fbbb02cdeda686e68752f8a380df9e4e533
7
- data.tar.gz: 4e4884991307774dcbadb648c8d66a8aa6d8d7149cea2284969afecae1dd64bfbaa81209d0ba8fa9bc1cd1710e2d274a2615ae55e7e0f4379684a002aadb1e89
6
+ metadata.gz: c557e014983fe35b93189b8b34c580aa9cd6e2b635c50c2c98a8a37f14b8b6179cff25e1ba054aa3c49a403bc5a83d9ca85e142d27c4bdfd4f8100b3db6e81dd
7
+ data.tar.gz: c02135e1a80e6332d9ee228ddcb81a07678ee7e91af987a50709a2ec6641616141cca3cfd7abca88278ae5cfbe6d543e116ee479dc0b251996afc5623961fd7a
@@ -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
- footer(pdf)
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
 
@@ -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
 
@@ -1,3 +1,3 @@
1
1
  module Tbr
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -75,6 +75,10 @@ describe CreateFiles do
75
75
  expect(count).to eq 16
76
76
  end
77
77
 
78
+ it '#cost_centres' do
79
+ cf.cost_centre_totals({ '100' => 12.34, '101' => 56.78 })
80
+ end
81
+
78
82
  it '#service_totals' do
79
83
  cf.service_totals(@services)
80
84
  end
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.2
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-06-14 00:00:00.000000000 Z
11
+ date: 2015-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: prawn