update menu imp/exp

This commit is contained in:
Yan
2018-05-15 11:53:48 +06:30
parent 568a94182a
commit c7a33e5322
2 changed files with 35 additions and 73 deletions

View File

@@ -99,18 +99,18 @@ class Settings::MenusController < ApplicationController
sheet.add_row ["Name",menu.name], :style=>title
sheet.add_row
sheet.add_row ["Category Code", "Category Name", "Item Code", "Item Name", "Account", "Item AltName", "Taxable", "Attributes", "Options", "Instance Code", "Instance Name", "Price", "Is Default"], :style=>header_text
sheet.add_row ["Category Code", "Category Name", "Item Code", "Item Name", "Account", "Item AltName", "Taxable", "Attributes", "Options", "Instance Code", "Instance Name", "Instance Attribute", "Price", "Is Default"], :style=>header_text
menu.menu_categories.each do |mc|
mc.menu_items.each do |mi|
attributes = ""
mc.menu_items.each do |mi|
attributes = ""
i=0
if mi.item_attributes.length > 0
mi.item_attributes.each do |mia|
attribute = MenuItemAttribute.find(mia)
# attribute = MenuItemAttribute.find(mia)
if i == mi.item_attributes.length - 1
attributes = attributes + attribute.name
attributes = attributes + mia.name
else
attributes = attributes + attribute.name + ","
attributes = attributes + mia.name + ","
end
i = i + 1
end
@@ -131,68 +131,15 @@ class Settings::MenusController < ApplicationController
end
mi.menu_item_instances.each do |mii|
sheet.add_row [ mc.code, mc.name, mi.item_code, mi.name, mi.account.title, mi.alt_name, mi.taxable, attributes, options, mii.item_instance_code, mii.item_instance_name, mii.price, mii.is_default], :style=>wrap_text
attribute = ""
if mii.item_attributes.length > 0
attribute = MenuItemAttribute.find(mii.item_attributes[0])
end
sheet.add_row [ mc.code, mc.name, mi.item_code, mi.name, mi.account.title, mi.alt_name, mi.taxable, attributes, options, mii.item_instance_code, mii.item_instance_name, attribute, mii.price, mii.is_default], :style=>wrap_text
end
end
end
# # Category
# menu.menu_categories.each do |mc|
# sheet.add_row ["Category"], :style=>wrap_text
# sheet.add_row %w(id menu_id code name alt_name order_by created_by menu_category_id is_available), :style=>header_text
# sheet.add_row [mc.id, mc.menu_id, mc.code, mc.name, mc.alt_name, mc.order_by, mc.created_by, mc.menu_category_id, mc.is_available], :style=>wrap_text
# sheet.add_row
# # Menu Item
# mc.menu_items.each do |mi|
# sheet.add_row ["Menu Item"], :style=>wrap_text
# sheet.add_row %w(id item_code name alt_name image_path description information unit type menu_category_id item_attributes item_options account_id min_qty taxable is_sub_item is_available created_by), :style=>header_text
# sheet.add_row [mi.id,mi.item_code, mi.name, mi.alt_name, mi.image_path, mi.description, mi.information, mi.unit, mi.type, mi.menu_category_id, mi.item_attributes, mi.item_options, mi.account_id, mi.min_qty, mi.taxable, mi.is_sub_item, mi.is_available, mi.created_by], :style=>wrap_text
# sheet.add_row
# # Menu Item Instance
# sheet.add_row ["Menu Item Instance"], :style=>wrap_text
# sheet.add_row %w(id menu_item_id item_instance_code item_instance_name item_attributes price is_on_promotion promotion_price is_available is_default), :style=>header_text
# mi.menu_item_instances.each do |mii|
# sheet.add_row [mii.id, mii.menu_item_id, mii.item_instance_code, mii.item_instance_name, mii.item_attributes, mii.price, mii.is_on_promotion, mii.promotion_price, mii.is_available, mii.is_default], :style=>wrap_text
# end
# sheet.add_row
# end
# end
end
# # Account
# wb.add_worksheet(name: "Account") do |sheet|
# sheet.add_row %w(id title account_type discount point bonus rebate), :style=>header_text
# Account.all.each do |acc|
# sheet.add_row [acc.id, acc.title,acc.account_type,acc.discount,acc.point,acc.bonus,acc.rebate], :style=>wrap_text
# end
# end
# # Item set
# wb.add_worksheet(name: "Item Set") do |sheet|
# sheet.add_row %w(id name alt_name min_selectable_qty max_selectable_qty), :style=>header_text
# ItemSet.all.each do |set|
# sheet.add_row [set.id,set.name, set.alt_name, set.min_selectable_qty, set.max_selectable_qty], :style=>wrap_text
# end
# end
# # Item Options
# wb.add_worksheet(name: "Menu Item Options") do |sheet|
# sheet.add_row %w(id option_type name value), :style=>header_text
# MenuItemOption.all.each do |option|
# sheet.add_row [option.id, option.option_type, option.name, option.value], :style=>wrap_text
# end
# end
# # Item Attributes
# wb.add_worksheet(name: "Menu Item Attributes") do |sheet|
# sheet.add_row %w(id attribute_type name value), :style=>header_text
# MenuItemAttribute.all.each do |attr|
# sheet.add_row [attr.id, attr.attribute_type,attr.name,attr.value], :style=>wrap_text
# end
# end
end
end
end
directory_name = "public/menus"

View File

@@ -148,9 +148,7 @@ class Menu < ApplicationRecord
row = Hash[[sheet.row(3),sheet.row(ii)].transpose]
menu_cat = MenuCategory.find_by_code(row["Category Code"])
if !menu_cat
menu_cat = MenuCategory.create({menu_id: imported_menu.id, code: row["Category Code"], name: row["Category Name"], alt_name: '', order_by: (ii - 3), created_by: created_by, menu_category_id: nil, is_available: 1})
# else
# status = status + "Category Code already exists."
menu_cat = MenuCategory.create({menu_id: imported_menu.id, code: row["Category Code"], name: row["Category Name"], alt_name: '', order_by: (ii - 3), created_by: created_by, menu_category_id: nil, is_available: 1})
end
# Menu Item Attributes
@@ -191,20 +189,37 @@ class Menu < ApplicationRecord
# status = status + "Item Code already exists for " + row["Item Name"] + "."
end
instance_attr = []
menu_inst = MenuItemInstance.find_by_item_instance_code(row["Instance Code"])
if !menu_inst
instance_name = ''
if !row["Instance Name"].nil?
instance_name = row["Instance Name"]
end
imported_instance = MenuItemInstance.create(menu_item_id: menu_itm.id, item_instance_code: row["Instance Code"], item_instance_name: instance_name, item_attributes: [], price: row["Price"], is_on_promotion: false, promotion_price: 0, is_available: true, is_default: row["Is Default"])
# else
# status = status + "Instance Code already exists for " + row["Instance Name"] + "."
if !row["Attributes"].nil?
if !row["Instance Attribute"].nil?
attributes = row["Attributes"].split(',')
instance_attributes = row["Instance Attribute"].split(',')
attributes.each do |attr|
if attr == instance_attributes[0]
ins_attr = MenuItemAttribute.find_by_name(attr)
instance_attr.push(ins_attr.id)
end
end
end
end
is_default = 0
if !row["Is Default"].nil?
is_default = row["Is Default"]
end
imported_instance = MenuItemInstance.create(menu_item_id: menu_itm.id, item_instance_code: row["Instance Code"], item_instance_name: instance_name, item_attributes: instance_attr, price: row["Price"], is_on_promotion: false, promotion_price: 0, is_available: true, is_default: is_default)
end
end
end
# if status == ''
status="Menu Imported!"
status="Menu Imported!"
# end
return status