2017-01-09 10:55:38 +02:00
|
|
|
|
def get_brand_id(brand)
|
|
|
|
|
brand = $database.escape(brand)
|
|
|
|
|
brand_id = nil
|
|
|
|
|
dbres = $database.query("select id from brands where name = '#{brand}'", :cast => false)
|
|
|
|
|
dbres.each do| result_row |
|
|
|
|
|
brand_id = result_row["id"].to_i
|
|
|
|
|
end
|
|
|
|
|
if not brand_id then
|
|
|
|
|
$database.query("insert ignore into brands (name) VALUES ('#{brand}')", :cast => false)
|
|
|
|
|
dbres = $database.query("select id from brands where name = '#{brand}'", :cast => false)
|
|
|
|
|
dbres.each do| result_row |
|
|
|
|
|
brand_id = result_row["id"].to_i
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
return brand_id
|
|
|
|
|
end
|
|
|
|
|
|
2017-01-11 07:36:24 +02:00
|
|
|
|
def insert_part(name, brand_id, code, code_advanced)
|
|
|
|
|
code = code.to_s()
|
|
|
|
|
code_advanced = code_advanced.to_s()
|
|
|
|
|
name = name.to_s()
|
2017-01-09 10:55:38 +02:00
|
|
|
|
id = nil
|
|
|
|
|
name = $database.escape(name)
|
|
|
|
|
if code_advanced != '' then
|
|
|
|
|
code_advanced = $database.escape(code_advanced)
|
|
|
|
|
end
|
|
|
|
|
if code != '' then
|
|
|
|
|
code = $database.escape(code)
|
|
|
|
|
end
|
|
|
|
|
if code_advanced == '' then
|
|
|
|
|
code_advanced = code
|
|
|
|
|
end
|
|
|
|
|
if code == '' then
|
|
|
|
|
code = code_advanced.gsub(/\W/, '')
|
|
|
|
|
end
|
|
|
|
|
dbres = $database.query("select id from parts where brand = '#{brand_id}' AND code = '#{code}'", :cast => false)
|
|
|
|
|
dbres.each do| result_row |
|
|
|
|
|
id = result_row["id"].to_i
|
|
|
|
|
end
|
|
|
|
|
if id == nil then
|
|
|
|
|
$database.query("insert into parts (name, brand, code, code_advanced) VALUES ('#{name}', #{brand_id}, '#{code}', '#{code_advanced}')")
|
|
|
|
|
dbres = $database.query("select id from parts where brand = '#{brand_id}' AND code = '#{code}'", :cast => false)
|
|
|
|
|
dbres.each do| result_row |
|
|
|
|
|
id = result_row["id"].to_i
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
return id
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def link_crosses(part_id_a, part_id_b)
|
|
|
|
|
source = 1
|
|
|
|
|
count = 0
|
|
|
|
|
dbres = $database.query("select sources from crosses where part_id_a = '#{part_id_a}' AND part_id_b = '#{part_id_b}'", :cast => false)
|
|
|
|
|
dbres.each do| result_row |
|
|
|
|
|
count = result_row["sources"].to_i
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if count > 0 then
|
|
|
|
|
source = count + 1
|
|
|
|
|
end
|
|
|
|
|
# вставляем новую строку на основе одного источника, sources = 1
|
2017-01-11 07:36:24 +02:00
|
|
|
|
$database.query("insert ignore into crosses (part_id_a, part_id_b, sources) VALUES (#{part_id_b}, #{part_id_a}, #{source})")
|
|
|
|
|
$database.query("insert ignore into crosses (part_id_a, part_id_b, sources) VALUES (#{part_id_a}, #{part_id_b}, #{source})")
|
2017-01-09 10:55:38 +02:00
|
|
|
|
end
|
2017-01-13 16:28:20 +02:00
|
|
|
|
|
|
|
|
|
def print_count()
|
|
|
|
|
count = nil
|
|
|
|
|
dbres = $database.query("select COUNT(*) from brands", :cast => false)
|
|
|
|
|
dbres.each do| result_row |
|
|
|
|
|
count = result_row["COUNT(*)"].to_i
|
|
|
|
|
end
|
|
|
|
|
puts "В базе #{count} брендов."
|
|
|
|
|
dbres = $database.query("select COUNT(*) from parts", :cast => false)
|
|
|
|
|
dbres.each do| result_row |
|
|
|
|
|
count = result_row["COUNT(*)"].to_i
|
|
|
|
|
end
|
|
|
|
|
puts "В базе #{count} запчастей."
|
|
|
|
|
end
|