<< Masa.20110225-testcases-oddb_org | 2011 | Masa.20110223-output-order-bbmb >>
suspend
suspend
Review (The current procedure to export order)
lib/xmlconv/util/application.rb
def export_order
open("/home/masa/work/test.dat", "w") do |f|
self.transactions.reverse.each do |t|
if t.commit_time >= Time.local(2010,1,1)
f.print t.output
#f.print "commit_time: ", t.commit_time, "\n"
#f.print "input:", t.input, "\n"
#f.print "output:", t.output, "\n\n"
end
end
end
end
alias :ex :export_order
xmlconv.sort.rb
File.readlines('test.dat').collect{|x|
ret = ""
if x =~ /(,\d+,)(\d\d)(\d\d)(2010)(,.+,)$/ || x =~ /(,\d+,)(\d\d)(\d\d)(2011)(,.+,)$/
ret = $1 + $4 + $3 + $2 + $5
end
ret + "\n"
}.sort.each do |line|
print line unless line.chomp == ""
end
add_kunden_artikel.rb
kunden1 = {}
kunden2 = {}
File.readlines('txt2xls/backup/Kunden.txt').each do |line|
x = line.split(/\t/)
# print x[0], ",", x[1], ",", x[6], "\n"
kunden1[x[0].to_i] = x[6]
kunden2[x[0].to_i] = x[6]
end
artikel1 = {}
artikel2 = {}
File.readlines('txt2xls/backup/Artikel.txt').each do |line|
x = line.split(/\t/)
#print x[0], ",", x[3], ",", x[2], "\n"
artikel1[x[4].to_i] = x[2]
artikel2[x[3].to_i] = x[2]
end
File.readlines('xmlconv.sorted.dat').each do |line|
x = line.split(/,/)
kunden = ""
if kunden1.keys.include?(x[1].to_i)
kunden = kunden1[x[1].to_i]
else kunden2.keys.include?(x[1].to_i)
kunden = kunden2[x[1].to_i]
end
artikel = ""
if artikel1.keys.include?(x[4].to_i)
artikel = artikel1[x[4].to_i]
else artikel2.keys.include?(x[5].to_i)
artikel = artikel2[x[5].to_i]
end
x.map!{|z| z || ""}
artikel ||=""
kunden ||=""
print "," + x[1] + "," + kunden + "," +\
x[2] + "," + x[3] + "," + x[4] + "," + artikel + "," + \
"," + x[5] + "," + x[6] + "," + x[7] + "," + x[8] +\
"," + x[9] + "," + x[10]
end
Procedure
masa@masa ~/ywesee/xmlconv $ bin/xmlconvd config="etc/xmlconv.yml"
masa@masa ~/ywesee/xmlconv $ bin/admin server_url="druby://localhost:12006" ch.xmlconv> ex
masa@masa ~/work $ ruby xmlconv.sort.rb > xmlconv.sorted.dat
masa@masa ~/work $ ruby add_kunden_artikel.rb > xmlconv.sorted.kund.art.dat
Next
Attach:xmlconv_convert.20110224.rb.txt Δ
Result
masa@masa ~/work $ ruby xmlconv_convert.rb -i test.dat .........done. The following Kunden IDs were not found: "",410060252120,4100602525,99 The following Artikel IDs were not found: 0002152,0002499,0002601,0002682,0002731,0002850,0002924,0003084,0003123,0003124,0003125,0003126,0003144,0003194,0004437,0009667,0013985,0013987,0014070,0058985,0097270,0097293,0125049,0384673,0384816,0384822,0384839,0384845,0385566,0607682,0607699,0607713,0607736,0629459,0629465,0674454,0683134,0700447,0723922,0757921,0767629,0879937,0879943,0887635,0917810,0933677,0935096,0968569,1014748,1195767,1241444,1258605,1276744,1276767,1295753,1301927,1301933,1301956,1326850,1336630,1350251,1350564,1362277,1363905,1363957,1363986,1369078,1399978,1407577,1407985,1408789,1408795,1408803,1408826,1425983,1472965,1484483,1525437,1525443,1556283,1571408,1586261,1625771,1667120,1793876,1808193,1852550,1860791,1901716,1901722,1901797,1906062,1948468,2018702,2059581,2068930,2122049,2126604,2164496,2174566,2174589,2174603,2195628,2215845,2215851,2233381,2265139,2338832,2359076,2476037,2504957,2508429,2509417,2613818,2631101,2692574,2759864,2759924,2808516,2810387,2811665,2820227,2820380,2919687,2928203,2928226,2937320,2942255,2965196,2965629,2965724,2970062,2970085,2993169,2993175,2993198,2993206,2993212,2993229,2993382,3011961,3028660,3028855,3033425,3050872,3053178,3083713,3083788,3105917,3119204,3275950,3320389,3341397,3406151,3415440,3463404,3515911,3515928,3515940,3581084,3592099,3593503,3621300,3625829,3625841,3698343,3698403,3698449,3716704,3716710,3754202,3805750,3805856,3894133,3894216,4006867,4006873,4014269,4085430,4139427,4146953,4152735,4161680,4190983,4240445,4290578,4291980,4291997,4292005,4421483,4448967,4484816,4552765,4552794,4552819,7012115
Usage
masa@masa ~/work $ ruby xmlconv_convert.rb -h
usage:
ruby xmlconv_convert.rb -i [input_file]
options:
-i [input_file] (default: input.dat)
-o [output_file] (default: output.dat)
-k [file]: Kunden.txt
-a [file]: Artikel.txt
-h help
Next
Attach:xmlconv_convert2.20110224.rb.txt
Note
Next
util/xmlconv/util/application.rb
def export_orders(first=Time.local(1990,1,1), last=Time.local(2100,1,1), output_file=nil)
range=Range.new(first, last)
output_file ||= "#{ENV['HOME']}/xmlconv_export.dat"
open(output_file, "w") do |f|
self.transactions.reverse.each do |t|
if range.include?(t.commit_time)
f.print t.output
end
end
end
end
Restart xmlconvd
masa@masa ~/ywesee/xmlconv $ bin/xmlconvd config="etc/xmlconv.yml"
Run (default: all data)
masa@masa ~/ywesee/xmlconv $ bin/admin server_url="druby://localhost:12006" ch.xmlconv> export_orders -> Array
Note
Run (from 2010)
masa@masa ~/ywesee/xmlconv $ bin/admin server_url="druby://localhost:12006" ch.xmlconv> export_orders Time.local(2010,1,1) -> Array
Run (only in 2010)
masa@masa ~/ywesee/xmlconv $ bin/admin server_url="druby://localhost:12006" ch.xmlconv> export_orders Time.local(2010,1,1), Time.local(2010,12,31) -> Array
Run (only in 2010 and output file is '/home/masa/test.dat')
masa@masa ~/ywesee/xmlconv $ bin/admin server_url="druby://localhost:12006" ch.xmlconv> export_orders Time.local(2010,1,1), Time.local(2010,12,31), output_file='/home/masa/work/test.dat' -> Array
Next
Arrange output format (but text data)
Note
Commit
Procedure
export_order Time.local(2010,1,1), Time.local(2010,12,31), output_file='/home/masa/export.csv'
ruby xmlconv_order.rb -i export.csv -o convert.csv -k Kunden.txt -a Artikel.txt
Note
Commit
Total Coverage: 55%
Commit
Note
Export procedure
Reference