oddb2xml 1.3.6 → 1.3.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,10 @@
1
+ === 1.3.7 / 08.02.2013
2
+
3
+ * Add more Tags to product.xml from Packungen.xls
4
+ - SubstanceSwissmedic
5
+ - PackGrSwissmedic
6
+ - EinheitSwissmedic
7
+
1
8
  === 1.3.6 / 08.02.2013
2
9
 
3
10
  * Update article SMCAT as only value from Packungen
@@ -148,28 +148,36 @@ module Oddb2xml
148
148
  indices.each_with_index do |index, i|
149
149
  obj = {}
150
150
  obj = {
151
- :ean => index[:ean],
152
- :atc => index[:atc_code],
153
- # additional tags
154
- :ith => '',
155
151
  :seq => @items[phar],
156
152
  :pac => nil,
157
153
  :no8 => nil,
158
154
  :de => index,
159
155
  :fr => @index['FR'][phar][i],
160
156
  :st => index[:status],
157
+ # swissINDEX and Packungen.xls(if swissINDEX does not have EAN)
158
+ :ean => index[:ean],
159
+ :atc => index[:atc_code],
160
+ :ith => '',
161
+ # from Packungen.xls
162
+ :siz => '',
163
+ :eht => '',
164
+ :sub => '',
161
165
  }
162
166
  if obj[:seq] and obj[:pac] = obj[:seq][:packages][phar]
163
167
  obj[:no8] = obj[:pac][:swissmedic_number8].to_s
164
168
  obj[:atc] = obj[:pac][:atc_code].to_s
165
- obj[:ith] = obj[:pac][:it_code].to_s # first one
166
- unless obj[:ean]
167
- if obj[:no8] and ppac = @packs[obj[:no8].intern] # Packungen.xls
169
+ if obj[:no8] and ppac = @packs[obj[:no8].intern] # Packungen.xls
170
+ unless obj[:ean]
168
171
  obj[:ean] = ppac[:ean].to_s
172
+ end
173
+ # sync ATC-code via EAN
174
+ if obj[:ean] == ppac[:ean].to_s
169
175
  obj[:atc] = ppac[:atc_code].to_s
170
- obj[:ith] = ppac[:ith_swissmedic].to_s
171
- obj[:st] = 'I'
172
176
  end
177
+ obj[:ith] = ppac[:ith_swissmedic]
178
+ obj[:siz] = ppac[:package_size]
179
+ obj[:eht] = ppac[:einheit_swissmedic]
180
+ obj[:sub] = ppac[:substance_swissmedic]
173
181
  end
174
182
  end
175
183
  if obj[:ean][0..3] == '7680'
@@ -490,6 +498,9 @@ module Oddb2xml
490
498
  #xml.REMD
491
499
  #xml.REMF
492
500
  #}
501
+ xml.PackGrSwissmedic obj[:siz] unless obj[:siz].empty?
502
+ xml.EinheitSwissmedic obj[:eht] unless obj[:eht].empty?
503
+ xml.SubstanceSwissmedic obj[:sub] unless obj[:sub].empty?
493
504
  }
494
505
  end
495
506
  xml.RESULT {
@@ -195,21 +195,27 @@ module Oddb2xml
195
195
  data = {}
196
196
  case @type
197
197
  when :packages
198
+ typ = 6 # Heilmittelcode
198
199
  i_5,i_3 = 0,10 # :swissmedic_numbers
199
200
  cat = 13 # :swissmedic_category
200
201
  ith = 4 # :ith_swissmedic IT-Code (swissmedic-diff)
201
202
  atc = 5 # :atc_code
202
- typ = 6 # Heilmittelcode
203
+ siz = 11 # :package_size
204
+ eht = 12 # :einheit_swissmedic
205
+ sub = 14 # :substance_swissmedic
203
206
  @sheet.each_with_index do |row, i|
204
207
  next if (i== 0 or row[typ] == 'Tierarzneimittel')
205
208
  no8 = extract_number(row, i_5).to_s + extract_number(row, i_3, /^\d{3}$/).to_s
206
209
  unless no8.empty?
207
210
  ean_base12 = "7680#{no8}"
208
211
  data[no8.intern] = {
209
- :ean => (ean_base12.ljust(12, '0') + calc_checksum(ean_base12)),
210
- :ith_swissmedic => row[ith].to_s,
211
- :swissmedic_category => row[cat].to_s,
212
- :atc_code => row[atc].to_s,
212
+ :ean => (ean_base12.ljust(12, '0') + calc_checksum(ean_base12)),
213
+ :ith_swissmedic => row[ith].to_s,
214
+ :swissmedic_category => row[cat].to_s,
215
+ :atc_code => row[atc].to_s,
216
+ :package_size => row[siz].to_s,
217
+ :einheit_swissmedic => row[eht].to_s,
218
+ :substance_swissmedic => row[sub].to_s,
213
219
  }
214
220
  end
215
221
  end
@@ -1,3 +1,3 @@
1
1
  module Oddb2xml
2
- VERSION = "1.3.6"
2
+ VERSION = "1.3.7"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oddb2xml
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.6
4
+ version: 1.3.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2013-02-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rubyzip
16
- requirement: &7438920 !ruby/object:Gem::Requirement
16
+ requirement: &15778620 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *7438920
24
+ version_requirements: *15778620
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: archive-tar-minitar
27
- requirement: &7438340 !ruby/object:Gem::Requirement
27
+ requirement: &15777540 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *7438340
35
+ version_requirements: *15777540
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: mechanize
38
- requirement: &7437620 !ruby/object:Gem::Requirement
38
+ requirement: &15776980 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *7437620
46
+ version_requirements: *15776980
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: nokogiri
49
- requirement: &7436920 !ruby/object:Gem::Requirement
49
+ requirement: &15776260 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *7436920
57
+ version_requirements: *15776260
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: savon
60
- requirement: &7435960 !ruby/object:Gem::Requirement
60
+ requirement: &15775420 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '2.0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *7435960
68
+ version_requirements: *15775420
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: spreadsheet
71
- requirement: &7435040 !ruby/object:Gem::Requirement
71
+ requirement: &15774640 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *7435040
79
+ version_requirements: *15774640
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rspec
82
- requirement: &7432740 !ruby/object:Gem::Requirement
82
+ requirement: &15773640 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *7432740
90
+ version_requirements: *15773640
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: webmock
93
- requirement: &7430920 !ruby/object:Gem::Requirement
93
+ requirement: &15771340 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: '0'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *7430920
101
+ version_requirements: *15771340
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: ZenTest
104
- requirement: &7429180 !ruby/object:Gem::Requirement
104
+ requirement: &15769640 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: '0'
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *7429180
112
+ version_requirements: *15769640
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: hoe
115
- requirement: &7425900 !ruby/object:Gem::Requirement
115
+ requirement: &15767680 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: '3.4'
121
121
  type: :development
122
122
  prerelease: false
123
- version_requirements: *7425900
123
+ version_requirements: *15767680
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: rdoc
126
- requirement: &7421480 !ruby/object:Gem::Requirement
126
+ requirement: &15764720 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - ! '>='
@@ -131,10 +131,10 @@ dependencies:
131
131
  version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
- version_requirements: *7421480
134
+ version_requirements: *15764720
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: rdoc
137
- requirement: &7420100 !ruby/object:Gem::Requirement
137
+ requirement: &15760840 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ~>
@@ -142,10 +142,10 @@ dependencies:
142
142
  version: '3.10'
143
143
  type: :development
144
144
  prerelease: false
145
- version_requirements: *7420100
145
+ version_requirements: *15760840
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: hoe
148
- requirement: &7418960 !ruby/object:Gem::Requirement
148
+ requirement: &15759960 !ruby/object:Gem::Requirement
149
149
  none: false
150
150
  requirements:
151
151
  - - ~>
@@ -153,7 +153,7 @@ dependencies:
153
153
  version: '2.13'
154
154
  type: :development
155
155
  prerelease: false
156
- version_requirements: *7418960
156
+ version_requirements: *15759960
157
157
  description: oddb2xml creates xml files using swissINDEX, BAG-XML and Swissmedic.
158
158
  email: yasaka@ywesee.com, zdavatz@ywesee.com
159
159
  executables: