<< | Index | >>
Check about expiration_date of update_registration
def update_registration(row, opts = {})
first_day = Date.new(@@today.year, @@today.month, 1)
...
opts[:date] ||= first_day
...
expiration = date_cell(row, column(:expiry_date))
if expiration.nil?
@skipped_packages << row
return
end
...
args = {
...
:expiration_date => expiration,
...
}
if(expiration < opts[:date])
args.store :renewal_flag, true
args.store :renewal_flag_swissmedic, true
end
...
...
@app.update ptr, args, :swissmedic
end
end
COLUMNS = [ :iksnr, :seqnr, :name_base, :company,
:index_therapeuticus, :atc_class, :production_science,
:registration_date, :sequence_date, :expiry_date, :ikscd,
:size, :unit, :ikscat, :substances, :composition,
:indication_registration, :indication_sequence ]
def cell(row, pos)
if(cell = row[pos])
cell.to_s
end
end
def column(key)
COLUMNS.index(key)
end
expiry_date is index 9 (J) of Packungen-latest.xls (correct).
But does not contain 58558 product in following update target.
And,
58558
Debug SwissmedicDiff with binding.pry.
# target is "58558" # "row" is new data. # "other" is data in previous Packungen-latest.xls. [6] 1.9.3-p194(#<ODDB::SwissmedicPlugin>)> row => ["58558", 1.0, "Rotpunkt Apotheke neue Formel, Halsweh-Lutschtabletten", "Parcopharm AG", "12.03.3.", "R02AB02", "Synthetika human", #<DateTime: 2007-09-21T00:00:00+00:00 ((2454365j,0s,0n),+0s,2299161j)>, #<DateTime: 2007-09-21T00:00:00+00:00 ((2454365j,0s,0n),+0s,2299161j)>, #<DateTime: 2017-09-20T00:00:00+00:00 ((2458017j,0s,0n),+0s,2299161j)>, "003", "24", "Tablette(n)", "D", "tyrothricinum, cetylpyridinii chloridum, lidocaini hydrochloridum", "tyrothricinum 4 mg, cetylpyridinii chloridum 1 mg, lidocaini hydrochloridum 1 mg, aromatica, excipiens pro compresso.", "Infektionen im Mund- und Rachenraum", nil, 0] [7] 1.9.3-p194(#<ODDB::SwissmedicPlugin>)> other => ["58558", 1.0, "Rotpunkt Apotheke neue Formel, Halsweh-Lutschtabletten", "Parcopharm AG", "12.03.3.", "R02AB02", "Synthetika human", #<DateTime: 2007-09-21T00:00:00+00:00 ((2454365j,0s,0n),+0s,2299161j)>, #<DateTime: 2007-09-21T00:00:00+00:00 ((2454365j,0s,0n),+0s,2299161j)>, #<DateTime: 2017-09-20T00:00:00+00:00 ((2458017j,0s,0n),+0s,2299161j)>, "003", "24", "Tablette(n)", "D", "tyrothricinum, cetylpyridinii chloridum, lidocaini hydrochloridum", "tyrothricinum 4 mg, cetylpyridinii chloridum 1 mg, lidocaini hydrochloridum 1 mg, aromatica, excipiens pro compresso.", "Infektionen im Mund- und Rachenraum", nil, 0] 0] [8] 1.9.3-p194(#<ODDB::SwissmedicPlugin>)> ignore => [:atc_class, :sequence_date]
row and other is same.
flags = rows_diff(row, other, ignore) #=> []
SwissmedicDiff does not compare imported Objects.
SwissmedicDiff compares previous XLS and current swissmedic Data
.
diff target, @latest, [:atc_class, :sequence_date]
target new data.
\@latest is previous swissmedic xls (as Packungen-latest.xls).