simple_view 0.0.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.
Files changed (79) hide show
  1. data/Rakefile +2 -0
  2. data/lib/CVS/Entries +3 -0
  3. data/lib/CVS/Repository +1 -0
  4. data/lib/CVS/Root +1 -0
  5. data/lib/core-ext/CVS/Entries +5 -0
  6. data/lib/core-ext/CVS/Repository +1 -0
  7. data/lib/core-ext/CVS/Root +1 -0
  8. data/lib/core-ext/array.rb +14 -0
  9. data/lib/core-ext/jopen.rb +43 -0
  10. data/lib/core-ext/nilclass.rb +31 -0
  11. data/lib/core-ext/string.rb +51 -0
  12. data/lib/simple_view/CVS/Entries +11 -0
  13. data/lib/simple_view/CVS/Repository +1 -0
  14. data/lib/simple_view/CVS/RevisionCache/builder_view.rb#1.1.1.1 +42 -0
  15. data/lib/simple_view/CVS/RevisionCache/erb_view.rb#1.1.1.1 +44 -0
  16. data/lib/simple_view/CVS/RevisionCache/file_content.rb#1.1.1.1 +50 -0
  17. data/lib/simple_view/CVS/RevisionCache/io_view.rb#1.1.1.1 +37 -0
  18. data/lib/simple_view/CVS/RevisionCache/poi_view.rb#1.1.1.1 +116 -0
  19. data/lib/simple_view/CVS/RevisionCache/renderable.rb#1.1.1.1 +114 -0
  20. data/lib/simple_view/CVS/RevisionCache/simple_view.rb#1.1.1.1 +214 -0
  21. data/lib/simple_view/CVS/Root +1 -0
  22. data/lib/simple_view/builder_view.rb +42 -0
  23. data/lib/simple_view/erb_view.rb +44 -0
  24. data/lib/simple_view/file_content.rb +50 -0
  25. data/lib/simple_view/haml_view.rb +36 -0
  26. data/lib/simple_view/io_view.rb +37 -0
  27. data/lib/simple_view/java/CVS/Entries +1 -0
  28. data/lib/simple_view/java/CVS/Repository +1 -0
  29. data/lib/simple_view/java/CVS/Root +1 -0
  30. data/lib/simple_view/java/poi/CVS/Entries +6 -0
  31. data/lib/simple_view/java/poi/CVS/Repository +1 -0
  32. data/lib/simple_view/java/poi/CVS/Root +1 -0
  33. data/lib/simple_view/java/poi/poi-3.6-20091214.jar +0 -0
  34. data/lib/simple_view/java/poi/poi-contrib-3.6-20091214.jar +0 -0
  35. data/lib/simple_view/java/poi/poi-ooxml-3.6-20091214.jar +0 -0
  36. data/lib/simple_view/java/poi/poi-ooxml-schemas-3.6-20091214.jar +0 -0
  37. data/lib/simple_view/java/poi/poi-scratchpad-3.6-20091214.jar +0 -0
  38. data/lib/simple_view/poi_view.rb +116 -0
  39. data/lib/simple_view/renderable.rb +114 -0
  40. data/lib/simple_view/simple_view.rb +214 -0
  41. data/lib/simple_view/smartxls.rb +38 -0
  42. data/lib/simple_view/version.rb +3 -0
  43. data/lib/simple_view.rb +5 -0
  44. data/test/CVS/Entries +6 -0
  45. data/test/CVS/Repository +1 -0
  46. data/test/CVS/RevisionCache/test_view.rb#1.1.1.1 +25 -0
  47. data/test/CVS/RevisionCache/test_view_reuse_erb.rb#1.1.1.1 +21 -0
  48. data/test/CVS/Root +1 -0
  49. data/test/helpers/CVS/Entries +3 -0
  50. data/test/helpers/CVS/Repository +1 -0
  51. data/test/helpers/CVS/RevisionCache/test_helper.rb#1.1.1.1 +7 -0
  52. data/test/helpers/CVS/Root +1 -0
  53. data/test/helpers/etat_corbeilles_prc_helper.rb +13 -0
  54. data/test/helpers/test_helper.rb +7 -0
  55. data/test/jtest_view.rb +17 -0
  56. data/test/test_view.rb +25 -0
  57. data/test/test_view_reuse_erb.rb +21 -0
  58. data/test/test_view_sv_debug.rb +16 -0
  59. data/test/views/CVS/Entries +17 -0
  60. data/test/views/CVS/Repository +1 -0
  61. data/test/views/CVS/RevisionCache/test.erb#1.1.1.1 +2 -0
  62. data/test/views/CVS/Root +1 -0
  63. data/test/views/etat_corbeilles_prc-csv.io.rb +40 -0
  64. data/test/views/etat_corbeilles_prc-xls.poi.rb +97 -0
  65. data/test/views/etat_corbeilles_prc-xls2.smartxl.rb +128 -0
  66. data/test/views/etat_corbeilles_prc.html.erb +108 -0
  67. data/test/views/test-builder.builder.rb +1 -0
  68. data/test/views/test-erb.erb +1 -0
  69. data/test/views/test-model.xls +0 -0
  70. data/test/views/test-model.xlsx +0 -0
  71. data/test/views/test-xls.poi.rb +34 -0
  72. data/test/views/test-xls.smartxl.rb +80 -0
  73. data/test/views/test.builder.rb +1 -0
  74. data/test/views/test.erb +2 -0
  75. data/test/views/test.haml +1 -0
  76. data/test/views/test.io.rb +1 -0
  77. data/test/views/test.poi.rb +7 -0
  78. data/test/views/test_error.erb +1 -0
  79. metadata +177 -0
@@ -0,0 +1,214 @@
1
+ require 'monitor'
2
+ require 'delegate'
3
+ require 'core-ext/string'
4
+ require 'core-ext/nilclass'
5
+
6
+
7
+ module SimpleView
8
+
9
+ autoload :FileContent, File.join(File.dirname(__FILE__), 'file_content')
10
+ autoload :Renderable, File.join(File.dirname(__FILE__), 'renderable')
11
+
12
+ autoload :SimpleViewERB, File.join(File.dirname(__FILE__), 'erb_view')
13
+ autoload :SimpleViewIO, File.join(File.dirname(__FILE__), 'io_view')
14
+ autoload :SimpleViewBuilder, File.join(File.dirname(__FILE__), 'builder_view')
15
+ autoload :SimpleViewPOI, File.join(File.dirname(__FILE__), 'poi_view')
16
+
17
+ $SV_DEBUG = ENV['SV_DEBUG']
18
+
19
+ class Base
20
+
21
+
22
+ class << self
23
+ attr_accessor :directory_views, :directory_helpers
24
+ end
25
+
26
+ def directory_views
27
+ Base.directory_views
28
+ end
29
+
30
+ def directory_helpers
31
+ Base.directory_helpers
32
+ end
33
+
34
+ end
35
+
36
+ class TemplateViewNotFound < Exception; end
37
+
38
+ class SimpleViewBase < Base
39
+
40
+ attr_accessor :template, :file_template
41
+
42
+ def initialize(template, file_template = nil)
43
+ self.template = template
44
+ self.file_template = file_template
45
+ end
46
+
47
+ def template_name(ext = self.template_extension)
48
+ "#{template}#{ext}"
49
+ end
50
+
51
+ def lookup_file_template(ext = self.template_extension)
52
+ unless @file_template
53
+ tpl = self.template_name(ext)
54
+ list = Dir.glob(File.join(self.directory_views, tpl))
55
+ raise TemplateViewNotFound.new("Impossible de trouver le template #{tpl} dans le repertoire #{self.directory_views}") unless list.size == 1
56
+ @file_template = list.first
57
+ end
58
+ @file_template
59
+ end
60
+
61
+ def clean_template_name_for_helper
62
+ template[/(\w+)(\W*)/,1]
63
+ end
64
+
65
+ def lookup_file_helper
66
+ if !self.instance_variable_defined?(:@file_helper) && self.directory_helpers
67
+ helper_file_name = "#{self.clean_template_name_for_helper}_helper.rb"
68
+ puts "SimpleViewBase > helper_file_name= #{helper_file_name}" if $DEBUG
69
+ fhlpr = File.join(self.directory_helpers, helper_file_name)
70
+ puts "SimpleViewBase > fhlpr= #{fhlpr}" if $DEBUG
71
+ if File.exist?(fhlpr)
72
+ @file_helper = FileContent.file(fhlpr)
73
+ end
74
+ end
75
+ @file_helper
76
+ end
77
+
78
+ def template_content
79
+ FileContent.file(self.lookup_file_template).content
80
+ end
81
+
82
+ def has_helper?
83
+ hf = self.lookup_file_helper
84
+ return nil unless hf
85
+ true
86
+ end
87
+
88
+ def helper_module_name
89
+ hname = self.clean_template_name_for_helper # exemple: template = 'etat_corbeilles_prc.html' => hname = 'etat_corbeilles_prc'
90
+ "#{hname}_helper".camelcase(true).to_sym
91
+ end
92
+
93
+ def template_extension
94
+ if self.class.respond_to?(:extension)
95
+ return self.class.extension
96
+ end
97
+ ".rb"
98
+ end
99
+
100
+
101
+ def set_helper(rendable_object)
102
+ if has_helper?
103
+ helper = nil
104
+ helper_name = self.helper_module_name
105
+ begin
106
+ if @file_helper.changed? || !Object::const_defined?(helper_name)
107
+ load @file_helper.file(true)
108
+ else
109
+
110
+ end
111
+ helper = Object::const_get(helper_name)
112
+ rescue NameError => ex
113
+ # puts "set_helper: #{ex.message}", ex.backtrace
114
+ require(@file_helper.file)
115
+ retry
116
+ end
117
+ puts "set_helper #{helper} for: #{rendable_object}" if $DEBUG
118
+ rendable_object.extend helper
119
+ end
120
+ end
121
+
122
+
123
+ def render(rendable_object, options = {})
124
+ target = options[:target]
125
+ if String === target && (options[:type] != :string)
126
+ FileUtils.mkdir_p(File.dirname(target)) if options[:mkdirs]
127
+ open(target, options[:open]||'w') do |o|
128
+ options[:target] = o
129
+ begin
130
+ return do_rendering(rendable_object, options)
131
+ ensure
132
+ options[:target] = target
133
+ end
134
+ end
135
+ else
136
+ return do_rendering(rendable_object, options)
137
+ end
138
+ rescue => ex
139
+ puts ex.message, ex.backtrace.collect{|st| "\t#{st}"}
140
+ if $SV_DEBUG
141
+ puts "[SV_DEBUG = #$SV_DEBUG]: Retry ? [y|n]"
142
+ response = $stdin.gets.strip
143
+ retry if response =~ /Y|y/
144
+ end
145
+ raise ex
146
+ end
147
+
148
+ def render_with_helper(rendable_object)
149
+ set_helper(rendable_object)
150
+ yield if block_given?
151
+ end
152
+
153
+
154
+ class << self
155
+
156
+ def template_extensions
157
+ @template_extensions ||= {}
158
+ end
159
+
160
+ def register(subclass)
161
+ ext = subclass.extension
162
+ SimpleViewBase.template_extensions[ext] = subclass
163
+ end
164
+
165
+ def lookup_file_template(template)
166
+ tpl = "#{template}#{self.extension}"
167
+ file = File.join(Base.directory_views, tpl)
168
+ puts "lookup_file_template : #{tpl} => #{file}" if $DEBUG
169
+ raise TemplateViewNotFound.new("Impossible de trouver le template #{tpl} dans le repertoire #{Base.directory_views} (#{file})") unless File.exist?(file)
170
+ file
171
+ end
172
+
173
+ def views
174
+ @views ||= {}
175
+ end
176
+
177
+ def view(template)
178
+ self.views[template] ||= self.basic_view(template)
179
+ end
180
+
181
+ def find_view(template)
182
+ SimpleViewBase.template_extensions.each do |ext, renderer|
183
+ begin
184
+ return renderer.view(template)
185
+ rescue TemplateViewNotFound
186
+ end
187
+ end
188
+ raise TemplateViewNotFound.new("Impossible de trouver le template #{template} dans le repertoire #{Base.directory_views}")
189
+ end
190
+
191
+ protected
192
+ def basic_view(template)
193
+ file = lookup_file_template(template)
194
+ self.new(template, file)
195
+ end
196
+
197
+ end
198
+
199
+ end
200
+
201
+
202
+ class SimpleLayout < SimpleViewBase
203
+
204
+ def do_rendering(rendable_object, options)
205
+
206
+ end
207
+
208
+ end
209
+
210
+ # Loading default
211
+ SimpleViewERB.name
212
+ SimpleViewIO.name
213
+
214
+ end
@@ -0,0 +1,38 @@
1
+ module SimpleView
2
+
3
+ class SimpleViewSmartXLS < SimpleViewBase
4
+ require 'java'
5
+
6
+ import com.smartxls.ChartFormat;
7
+ import com.smartxls.ChartShape;
8
+ import com.smartxls.WorkBook;
9
+ import java.awt.Color;
10
+
11
+ EXTENTION = ".smartxl.rb".freeze unless defined?(EXTENTION)
12
+
13
+ def self.extension
14
+ EXTENTION
15
+ end
16
+
17
+ SimpleViewBase.register(self)
18
+
19
+ def render(rendable_object, options = {})
20
+ do_rendering(rendable_object, options)
21
+ end
22
+
23
+ def do_rendering(rendable_object, options)
24
+ filename = options.delete(:filename) || '<XLS>'
25
+ line = options.delete(:line) || 1
26
+ xls = WorkBook.new
27
+ rendable_object.put_locals_objects((options.delete(:builder_name) || :xls).to_sym => xls)
28
+ render_with_helper(rendable_object) do
29
+ eval self.template_content, rendable_object.get_binding, filename, line
30
+ end
31
+ if options.key?(:target)
32
+ xls.write(options[:target])
33
+ end
34
+ end
35
+
36
+ end
37
+
38
+ end
@@ -0,0 +1,3 @@
1
+ module SimpleView
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,5 @@
1
+ require 'simple_view/simple_view'
2
+
3
+ module SimpleView
4
+
5
+ end
data/test/CVS/Entries ADDED
@@ -0,0 +1,6 @@
1
+ /jtest_view.rb/1.1.1.1/Tue Dec 07 12:02:42 2010//
2
+ /test_view.rb/1.1.1.1/Tue Dec 07 12:02:42 2010//
3
+ /test_view_reuse_erb.rb/1.1.1.1/Tue Dec 07 12:02:42 2010//
4
+ /test_view_sv_debug.rb/1.1.1.1/Tue Dec 07 12:02:42 2010//
5
+ D/helpers////
6
+ D/views////
@@ -0,0 +1 @@
1
+ simple_view/test
@@ -0,0 +1,25 @@
1
+ require 'bundler/setup'
2
+
3
+ require 'simple_view'
4
+ require 'simple_view/builder_view'
5
+
6
+ include SimpleView
7
+ include SimpleView::Renderable
8
+
9
+ Base.directory_views = File.join(File.dirname(__FILE__), 'views')
10
+ Base.directory_helpers = File.join(File.dirname(__FILE__), 'views')
11
+
12
+ # render 'test-erb', :locals => {:who => 'You'}, :target => $stdout
13
+ puts "ERB"
14
+ render_erb 'test', :locals => {:who => 'You'}, :target => $stdout
15
+ puts "\nBUILDER"
16
+ render_builder 'test', :locals => {:who => 'You'}, :target => $stdout
17
+ puts "\nIO"
18
+ render_io 'test', :locals => {:who => 'You'}, :target => $stdout
19
+
20
+ puts "\nHAML"
21
+ require 'simple_view/haml_view'
22
+ render_haml 'test', :locals => {:who => 'You'}, :target => $stdout
23
+
24
+ require 'simple_view/poi_view'
25
+ render_poi 'test', :model => "#{Base.directory_views}/test-model.xlsx", :target => 'c:/aag/test.xlsx'
@@ -0,0 +1,21 @@
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+
4
+ require 'simple_view'
5
+ require 'simple_view/builder_view'
6
+
7
+ include SimpleView
8
+ include SimpleView::Renderable
9
+
10
+ Base.directory_views = File.join(File.dirname(__FILE__), 'views')
11
+ Base.directory_helpers = File.join(File.dirname(__FILE__), 'helpers')
12
+
13
+ # render 'test-erb', :locals => {:who => 'You'}, :target => $stdout
14
+ puts "BUILDER", render_builder('test', :locals => {:who => 'tata'})
15
+ render_builder('test', :locals => {:who => 'tata'})
16
+
17
+ puts "ERB 0", render('test', :locals => {:who => 'tata'})
18
+
19
+ puts "ERB 1", render_erb('test', :locals => {:who => 'toto'})
20
+
21
+ puts "ERB 2", render_erb('test', :locals => {:who => 'titi'})
data/test/CVS/Root ADDED
@@ -0,0 +1 @@
1
+ :pserver:gie\barukh@esvwas51.si.fr:/repositories/aag
@@ -0,0 +1,3 @@
1
+ D
2
+ /etat_corbeilles_prc_helper.rb/1.1.1.1/Tue Dec 07 12:02:42 2010//
3
+ /test_helper.rb/1.1.1.1/Tue Dec 07 12:02:42 2010//
@@ -0,0 +1 @@
1
+ simple_view/test/helpers
@@ -0,0 +1,7 @@
1
+ module TestHelper
2
+
3
+ def help(str)
4
+ "Help #{str}!"
5
+ end
6
+
7
+ end
@@ -0,0 +1 @@
1
+ :pserver:gie\barukh@esvwas51.si.fr:/repositories/aag
@@ -0,0 +1,13 @@
1
+ module EtatCorbeillesPrcHelper
2
+
3
+ def sort_utilisateurs(resumes_utilisateurs)
4
+ resumes_utilisateurs.to_a.sort{|a, b| [a.site, a.signature] <=> [b.site, b.signature] }
5
+ end
6
+
7
+ def lisse_poids(poids)
8
+ return "Infini" if poids.infinite?
9
+ return 0 if poids.nan?
10
+ poids
11
+ end
12
+
13
+ end
@@ -0,0 +1,7 @@
1
+ module TestHelper
2
+
3
+ def help(str)
4
+ "Help #{str}!"
5
+ end
6
+
7
+ end
@@ -0,0 +1,17 @@
1
+ require 'simple_view'
2
+
3
+ include SimpleView
4
+ include SimpleView::Renderable
5
+
6
+ Base.directory_views = File.join(File.dirname(__FILE__), 'views')
7
+ Base.directory_helpers = File.join(File.dirname(__FILE__), 'views')
8
+
9
+ # render 'test-erb', :locals => {:who => 'You'}, :target => $stdout
10
+ puts "ERB"
11
+ render_erb 'test', :locals => {:who => 'You'}, :target => $stdout
12
+ puts "\nIO"
13
+ render_io 'test', :locals => {:who => 'You'}, :target => $stdout
14
+
15
+ require 'simple_view/poi_view'
16
+ render_poi 'test', :target => 'c:/aag/test.xls'
17
+ # render_poi 'test', :model => "#{Base.directory_views}/test-model.xls", :target => 'c:/aag/test.xls'
data/test/test_view.rb ADDED
@@ -0,0 +1,25 @@
1
+ require 'bundler/setup'
2
+
3
+ require 'simple_view'
4
+ require 'simple_view/builder_view'
5
+
6
+ include SimpleView
7
+ include SimpleView::Renderable
8
+
9
+ Base.directory_views = File.join(File.dirname(__FILE__), 'views')
10
+ Base.directory_helpers = File.join(File.dirname(__FILE__), 'views')
11
+
12
+ # render 'test-erb', :locals => {:who => 'You'}, :target => $stdout
13
+ puts "ERB"
14
+ render_erb 'test', :locals => {:who => 'You'}, :target => $stdout
15
+ puts "\nBUILDER"
16
+ render_builder 'test', :locals => {:who => 'You'}, :target => $stdout
17
+ puts "\nIO"
18
+ render_io 'test', :locals => {:who => 'You'}, :target => $stdout
19
+
20
+ puts "\nHAML"
21
+ require 'simple_view/haml_view'
22
+ render_haml 'test', :locals => {:who => 'You'}, :target => $stdout
23
+
24
+ require 'simple_view/poi_view'
25
+ render_poi 'test', :model => "#{Base.directory_views}/test-model.xlsx", :target => 'c:/aag/test.xlsx'
@@ -0,0 +1,21 @@
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+
4
+ require 'simple_view'
5
+ require 'simple_view/builder_view'
6
+
7
+ include SimpleView
8
+ include SimpleView::Renderable
9
+
10
+ Base.directory_views = File.join(File.dirname(__FILE__), 'views')
11
+ Base.directory_helpers = File.join(File.dirname(__FILE__), 'helpers')
12
+
13
+ # render 'test-erb', :locals => {:who => 'You'}, :target => $stdout
14
+ puts "BUILDER", render_builder('test', :locals => {:who => 'tata'})
15
+ render_builder('test', :locals => {:who => 'tata'})
16
+
17
+ puts "ERB 0", render('test', :locals => {:who => 'tata'})
18
+
19
+ puts "ERB 1", render_erb('test', :locals => {:who => 'toto'})
20
+
21
+ puts "ERB 2", render_erb('test', :locals => {:who => 'titi'})
@@ -0,0 +1,16 @@
1
+ require 'bundler/setup'
2
+
3
+ require 'simple_view'
4
+ require 'simple_view/builder_view'
5
+
6
+ include SimpleView
7
+ include SimpleView::Renderable
8
+
9
+ ENV['SV_DEBUG'] = 'true'
10
+
11
+ Base.directory_views = File.join(File.dirname(__FILE__), 'views')
12
+ Base.directory_helpers = File.join(File.dirname(__FILE__), 'views')
13
+
14
+ # render 'test-erb', :locals => {:who => 'You'}, :target => $stdout
15
+ puts "ERB"
16
+ render_erb 'test_error', :locals => {:who => 'You'}, :target => $stdout
@@ -0,0 +1,17 @@
1
+ D
2
+ /etat_corbeilles_prc-csv.io.rb/1.1.1.1/Tue Dec 07 12:02:42 2010//
3
+ /etat_corbeilles_prc-xls.poi.rb/1.1.1.1/Tue Dec 07 12:02:42 2010//
4
+ /etat_corbeilles_prc-xls2.smartxl.rb/1.1.1.1/Tue Dec 07 12:02:43 2010//
5
+ /etat_corbeilles_prc.html.erb/1.1.1.1/Tue Dec 07 12:02:43 2010//
6
+ /test-builder.builder.rb/1.1.1.1/Tue Dec 07 12:02:43 2010//
7
+ /test-erb.erb/1.1.1.1/Tue Dec 07 12:02:43 2010//
8
+ /test-model.xls/1.1.1.1/Tue Dec 07 12:02:43 2010/-kb/
9
+ /test-model.xlsx/1.1.1.1/Tue Dec 07 12:02:43 2010//
10
+ /test-xls.poi.rb/1.1.1.1/Tue Dec 07 12:02:43 2010//
11
+ /test-xls.smartxl.rb/1.1.1.1/Tue Dec 07 12:02:43 2010//
12
+ /test.builder.rb/1.1.1.1/Tue Dec 07 12:02:43 2010//
13
+ /test.erb/1.1.1.1/Tue Dec 07 12:02:43 2010//
14
+ /test.haml/1.1.1.1/Tue Dec 07 12:02:43 2010//
15
+ /test.io.rb/1.1.1.1/Tue Dec 07 12:02:43 2010//
16
+ /test.poi.rb/1.1.1.1/Tue Dec 07 12:02:43 2010//
17
+ /test_error.erb/1.1.1.1/Tue Dec 07 12:02:43 2010//
@@ -0,0 +1 @@
1
+ simple_view/test/views
@@ -0,0 +1,2 @@
1
+ Hello <%= help who %>!
2
+ En XML : <%= render_builder 'test', :locals => {:who => who} %>
@@ -0,0 +1 @@
1
+ :pserver:gie\barukh@esvwas51.si.fr:/repositories/aag
@@ -0,0 +1,40 @@
1
+ io << "Site\tSignature\tNom\tPr�nom\tProfil\tStructure\tCellule\tActif\tTaux activit�\tNombre dossiers\tPoids dossiers (100%)\t#{JDataStorePRC::COD_NIV_DOS.join("\t")}\t#{JDataStorePRC::EVENS_SIGN.join("\t")}\r\n"
2
+
3
+ # Les utilisateurs et leurs dossiers
4
+ resumes_utilisateurs.each do |utl|
5
+ if utl.a_dossiers?
6
+ io << "#{utl.site}\t#{utl.signature}\t#{utl.nom}\t#{utl.prenom}\t#{utl.profil}\t"
7
+ io << "#{utl.structure}\t#{utl.cellule}\t#{utl.actif}\t#{utl.tx_activite}\t"
8
+ io << "#{utl.nombre_dossiers}\t"
9
+ io << "#{utl.poids_dossiers}\t"
10
+
11
+ JDataStorePRC::COD_NIV_DOS.each do |co_niv|
12
+ dossier = utl.nombreDossiersPRC.find{|dossier| dossier.COD_NIV_DOS == co_niv}
13
+ io << "#{dossier ? dossier.NB_DOSSIERS : 0}\t"
14
+ end
15
+
16
+ JDataStorePRC::EVENS_SIGN.each do |co_evt|
17
+ dossier = utl.nombreDernierEvenDossiersPRC.find{|dossier| dossier.COD_EVEN == co_evt}
18
+ io << "#{dossier ? dossier.NB_DOSSIERS : 0}\t"
19
+ end
20
+
21
+ io << "\r\n"
22
+ end
23
+ end
24
+
25
+ # Dossiers possesseur inconnu
26
+ dossiers_possesseur_inconnu.each do |dossier|
27
+ io << "INCONNU\t#{dossier.COD_ID_INS}\tINCONNU\tINCONNU\tINCONNU\t"
28
+ io << "INCONNU\tINCONNU\tINCONNU\tINCONNU\t"
29
+ io << "#{dossier.NB_DOSSIERS}\t?"
30
+
31
+ JDataStorePRC::COD_NIV_DOS.each do |co_niv|
32
+ io << "#{dossier.COD_NIV_DOS == co_niv ? dossier.NB_DOSSIERS : 0}\t"
33
+ end
34
+
35
+ JDataStorePRC::EVENS_SIGN.each do |co_evt|
36
+ io << "?\t"
37
+ end
38
+
39
+ io << "\r\n"
40
+ end
@@ -0,0 +1,97 @@
1
+ sheet = xls.get_sheet 'data'
2
+
3
+ ##
4
+ ## HEADER
5
+ ##
6
+ header = row_at(sheet, 0)
7
+ ['Site', 'Signature', 'Nom', 'Pr�nom', 'Profil', 'Structure', 'Cellule', 'Actif', 'Taux activit�', 'Nombre dossiers', 'Poids dossiers (100%)'].each_with_index do |title, index|
8
+ cell = cell_at(header, index)
9
+ cell.set_cell_value title
10
+ end
11
+ col=11
12
+ # Code niveau dossier
13
+ JDataStorePRC::COD_NIV_DOS.each do |co_niv|
14
+ cell = cell_at(header, col)
15
+ cell.set_cell_value "NB dossiers #{co_niv}"
16
+ col += 1
17
+ end
18
+
19
+ # Code niveau dossier
20
+ JDataStorePRC::EVENS_SIGN.each do |co_evt|
21
+ cell = cell_at(header, col)
22
+ cell.set_cell_value "NB dossiers #{co_evt}"
23
+ col += 1
24
+ end
25
+
26
+ ##
27
+ ## BODY
28
+ ##
29
+
30
+ ligne = 1
31
+ # ResumeUtilisateur
32
+ resumes_utilisateurs.each do |utl|
33
+ next unless utl.a_dossiers?
34
+ row = sheet.create_row(ligne)
35
+ col = 0
36
+ set_cell_value row, col, utl.site; col +=1
37
+
38
+ set_cell_value row, col, utl.signature; col +=1
39
+
40
+ set_cell_value row, col, utl.nom; col +=1
41
+ set_cell_value row, col, utl.prenom; col +=1
42
+ set_cell_value row, col, utl.profil; col +=1
43
+ set_cell_value row, col, utl.structure; col +=1
44
+ set_cell_value row, col, utl.cellule; col +=1
45
+ set_cell_value row, col, utl.actif; col +=1
46
+ set_cell_value row, col, utl.tx_activite; col +=1
47
+ set_cell_value row, col, utl.nombre_dossiers; col +=1
48
+ set_cell_value row, col, lisse_poids(utl.poids_dossiers) ; col +=1
49
+
50
+ JDataStorePRC::COD_NIV_DOS.each do |co_niv|
51
+ dossier = utl.nombreDossiersPRC.find{|dossier| dossier.COD_NIV_DOS == co_niv}
52
+ set_cell_value row, col, (dossier ? dossier.NB_DOSSIERS : 0); col +=1
53
+ end
54
+
55
+ JDataStorePRC::EVENS_SIGN.each do |co_evt|
56
+ dossier = utl.nombreDernierEvenDossiersPRC.find{|dossier| dossier.COD_EVEN == co_evt}
57
+ set_cell_value row, col, (dossier ? dossier.NB_DOSSIERS : 0); col +=1
58
+ end
59
+
60
+ ligne += 1
61
+ end
62
+
63
+
64
+ # Dossier possesseur inconnu
65
+ dossiers_possesseur_inconnu.each do |dossier|
66
+ col = 0
67
+ row = sheet.create_row(ligne)
68
+
69
+ set_cell_value row, col, 'INCONNU'; col +=1
70
+
71
+ set_cell_value row, col, dossier.COD_ID_INS; col +=1
72
+
73
+ set_cell_value row, col, 'INCONNU'; col +=1
74
+ set_cell_value row, col, 'INCONNU'; col +=1
75
+ set_cell_value row, col, 'INCONNU'; col +=1
76
+ set_cell_value row, col, 'INCONNU'; col +=1
77
+ set_cell_value row, col, 'INCONNU'; col +=1
78
+ set_cell_value row, col, 'INCONNU'; col +=1
79
+ set_cell_value row, col, 'INCONNU'; col +=1
80
+ set_cell_value row, col, dossier.NB_DOSSIERS; col +=1
81
+ set_cell_value row, col, 0; col +=1
82
+
83
+
84
+ JDataStorePRC::COD_NIV_DOS.each do |co_niv|
85
+ if dossier.COD_NIV_DOS == co_niv
86
+ set_cell_value row, col, dossier.NB_DOSSIERS; col +=1
87
+ else
88
+ set_cell_value row, col, 0; col +=1
89
+ end
90
+ end
91
+
92
+ JDataStorePRC::EVENS_SIGN.each do |co_evt|
93
+ set_cell_value row, col, '?'; col +=1
94
+ end
95
+
96
+ ligne +=1
97
+ end