order queue processing

This commit is contained in:
Min Zeya Phyo
2017-04-14 15:50:17 +06:30
parent 5b1bb6f6cd
commit 7cc2ac395d
22 changed files with 246 additions and 33 deletions

View File

@@ -7,10 +7,11 @@ class CreateMenuItems < ActiveRecord::Migration[5.0]
t.string :type, :null => false, :default => "SimpleMenuItem"
t.references :menu_category, foreign_key: true
t.references :menu_item, foreign_key: true
t.integer :min_qty, :null => false, :default => 1
t.integer :min_selectable_item, :null => false, :default => 1
t.integer :max_selectable_item, :null => false, :default => 1
t.json :options #save value
t.json :attributes #value IDS
t.json :item_attributes #value IDS
t.string :created_by
t.timestamps

View File

@@ -10,7 +10,6 @@ class CreateOrderItems < ActiveRecord::Migration[5.0]
t.string :remark
t.string :options
t.json :set_menu_items #this parameter is require to route the items correctly
t.timestamps
end
end

View File

@@ -1,13 +0,0 @@
class CreateOrderQueueProcessLogs < ActiveRecord::Migration[5.0]
def change
create_table :order_queue_process_logs do |t|
t.references :order, foreign_key: true
t.string :job_status, :default => "new", :null => "false"
t.string :print_status, :default => "new"
t.json :header #{table name, order_type, order_date}
t.json :items #{name, comment, qty}
t.timestamps
end
end
end

View File

@@ -0,0 +1,15 @@
class CreateMembershipSettings < ActiveRecord::Migration[5.0]
def change
create_table :membership_settings do |t|
t.string :membership_type, :null => false, :default => "internal"
t.boolean :is_active, :null => false, :default => true
t.string :gateway_communication_type, :null => false, :default => "api"
t.string :gateway_url
t.string :auth_token
t.string :merchant_account_id
t.string :created_by
t.timestamps
end
end
end

View File

@@ -0,0 +1,13 @@
class CreateAssignedOrderItems < ActiveRecord::Migration[5.0]
def change
create_table :assigned_order_items do |t|
t.string :item_code, :null => false, :index => true
t.references :order_queue_station, foreign_key: true
t.references :order, foreign_key: true
t.boolean :print_status
t.boolean :delivery_status
t.timestamps
end
end
end

View File

@@ -6,6 +6,9 @@
# movies = Movie.create([{ name: 'Star Wars' }, { name: 'Lord of the Rings' }])
# Character.create(name: 'Luke', movie: movies.first)
gateway_communication_type = Lookup.create([{lookup_type:'gateway_communication_type', name: 'API', value: 'api'},
{lookup_type:'gateway_communication_type', name: 'USB', value: 'usb'}])
payment_methods = Lookup.create([{lookup_type:'payment_methods', name: 'Cash', value: 'cash'},
{lookup_type:'payment_methods', name: 'CreditNote', value: 'creditnote'},
{lookup_type:'payment_methods', name: 'Card - VISA', value: 'visa'},
@@ -47,6 +50,10 @@ menu_item_type = Lookup.create([{lookup_type:'menu_item_type', name: 'SIMPLE', v
{lookup_type:'menu_item_type', name: 'Set Menu', value: 'set_menu'},
{lookup_type:'menu_item_type', name: 'DIY', value: 'diy'}])
#menu_item_attribute:[size|]
menu_item_attribute_type = Lookup.create([{lookup_type:'menu_item_attribute_type', name: 'Size', value: 'size'},
{lookup_type:'menu_item_attribute_type', name: 'Spicy', value: 'spicy'},
{lookup_type:'menu_item_attribute_type', name: 'Sweetness', value: 'sweetness'}])
#Employee Roles
employee_roles = Lookup.create([{lookup_type:'employee_roles', name: 'Cashier', value: 'cashier'},
@@ -63,15 +70,46 @@ booking_status = Lookup.create([{lookup_type:'booking_status', name: 'Available'
#WALK CUSTOMER - Default CUSTOMER (take key 1)
customer = Customer.create({id:1, name:"WALK-IN", contact_no:"000000000"})
customer = Customer.create({id:2, name:"TAKEAWAY", contact_no:"000000000"})
#Default ZOne
zone = Zone.create({id:1, name: "Default Zone", is_active:true, created_by: "SYSTEM DEFAULT"})
zone2 = Zone.create({id:2, name: "Default Zone 2", is_active:true, created_by: "SYSTEM DEFAULT"})
#Default dining_facilities
dining_facilities = DiningFacility.create({id:1, name:"Default Table", zone: zone, status:"available", type: "Table", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"})
table = Table.create({name:"Default Table", zone: zone, status:"available", seater: 2 , order_by:1, created_by:"SYSTEM DEFAULT"})
room = Room.create({name:"Default Room", zone: zone2, status:"available", seater: 4 , order_by:1, created_by:"SYSTEM DEFAULT"})
#Tax Profile
tax_profiles = TaxProfile.create({id:1, name: "Commerical Tax", rate:5.0, order_by:1, created_by:"SYSTEM DEFAULT"})
#Default menu
menu = Menu.create({name: "Default Menu", is_active: true, created_by: "SYSTEM DEFAULT"})
#Default Menu Category
menu_category1 = MenuCategory.create({menu: menu, name: "Sample Menu Category 1", alt_name: "Sample Alternate Name 1", order_by: 1})
menu_category2 = MenuCategory.create({menu: menu, name: "Sample Menu Category 2", alt_name: "Sample Alternate Name 2", order_by: 2})
menu_category3 = MenuCategory.create({menu: menu, name: "Sample Menu Category 3", alt_name: "Sample Alternate Name 3", order_by: 3})
menu_category4 = MenuCategory.create({menu: menu, name: "Sample Menu Category 4", alt_name: "Sample Alternate Category 4", order_by: 1, menu_category_id: menu_category3.id})
#Default Menu items
menu_category1_menu_item0 = SimpleMenuItem.create({item_code:"01001", name: "Default Menu Item Name 0", alt_name: "Alternate Menu Item Name 0",menu_category: menu_category1 , min_selectable_item: 1, max_selectable_item:1 })
menu_category1_menu_item1 = SimpleMenuItem.create({item_code:"01002", name: "Default Menu Item Name 1", alt_name: "Alternate Menu Item Name 1",menu_category: menu_category1 , min_selectable_item: 1, max_selectable_item:1 })
menu_category1_menu_item2 = SimpleMenuItem.create({item_code:"01003", name: "Default Menu Item Name 2", alt_name: "Alternate Menu Item Name 2",menu_category: menu_category1 , min_selectable_item: 1, max_selectable_item:1 })
menu_category1_menu_item3 = SimpleMenuItem.create({item_code:"01004", name: "Default Menu Item Name 3", alt_name: "Alternate Menu Item Name 3",menu_category: menu_category1 , min_selectable_item: 1, max_selectable_item:1 })
menu_category2_menu_item0 = SimpleMenuItem.create({item_code:"02005", name: "Default Menu Item Name 0", alt_name: "Alternate Menu Item Name 0",menu_category: menu_category2 , min_selectable_item: 1, max_selectable_item:1, min_qty: 2 })
menu_category2_menu_item1 = SimpleMenuItem.create({item_code:"02006", name: "Default Menu Item Name 1", alt_name: "Alternate Menu Item Name 1",menu_category: menu_category2 , min_selectable_item: 1, max_selectable_item:1, min_qty: 2 })
menu_category2_menu_item2 = SimpleMenuItem.create({item_code:"02007", name: "Default Menu Item Name 2", alt_name: "Alternate Menu Item Name 2",menu_category: menu_category2 , min_selectable_item: 1, max_selectable_item:1, min_qty: 3 })
menu_category2_menu_item3 = SimpleMenuItem.create({item_code:"02008", name: "Default Menu Item Name 3", alt_name: "Alternate Menu Item Name 3",menu_category: menu_category2 , min_selectable_item: 1, max_selectable_item:1, min_qty: 4 })
#Default Order Queue stations
order_queue_station1 = OrderQueueStation.create({station_name: "Queue Station 1", is_active: true,printer_name: "kitchen_printer", processing_items: JSON.generate(['01001','01002','01003','01004']), print_copy:true, cut_per_item: false, use_alternate_name: false, created_by: "SYSTEM DEFAULT"})
order_queue_station2 = OrderQueueStation.create({station_name: "Queue Station 2", is_active: true,printer_name: "drink_printer", processing_items: JSON.generate(['02005','02006','02007','02008']), print_copy:true, cut_per_item: true, use_alternate_name: true, created_by: "SYSTEM DEFAULT"})
zone_order_queue_station = OrderQueueStation.create({station_name: "Zone 1 Queue Station 2", is_active: true, printer_name: "print_station", processing_items: JSON.generate(['01001','01002','01003','01004','02005','02006','02007','02008']), print_copy: true, cut_per_item: true, use_alternate_name: false, created_by: "SYSTEM DEFAULT"})
#Default Order Queue Process By Zone
zone_queue_station = OrderQueueProcessByZone.create({order_queue_station: zone_order_queue_station, zone: zone2})