tbr 0.0.2 → 0.0.3

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 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