order queue and print station

This commit is contained in:
Min Zeya Phyo
2017-04-03 22:30:27 +06:30
parent 30b4a0f5ff
commit 95454b4f0f
22 changed files with 158 additions and 9 deletions

View File

@@ -0,0 +1,4 @@
class CashierLoginLog < ApplicationRecord
belongs_to :cashier_station
belongs_to :employee
end

View File

@@ -0,0 +1,2 @@
class CashierTerminal < ApplicationRecord
end

2
app/models/employee.rb Normal file
View File

@@ -0,0 +1,2 @@
class Employee < ApplicationRecord
end

View File

@@ -0,0 +1,3 @@
class OrderQueueProcessByZone < ApplicationRecord
belongs_to :zone
end

View File

@@ -0,0 +1,3 @@
class OrderQueueProcessLog < ApplicationRecord
belongs_to :order
end

View File

@@ -0,0 +1,2 @@
class OrderQueueStation < ApplicationRecord
end

View File

@@ -0,0 +1,2 @@
class PaymentMethodSetting < ApplicationRecord
end

View File

@@ -0,0 +1,16 @@
class CreateOrderQueueStations < ActiveRecord::Migration[5.0]
def change
create_table :order_queue_stations do |t|
t.string :station_name, :null => false
t.boolean :is_active, :null => false, :default => false
t.json :processing_items
t.boolean :print_copy, :null => false, :default => false
t.string :printer_name
t.integer :font_size, :null => false, :default => 10
t.boolean :cut_per_item, :null => false, :default => false
t.boolean :use_alternate_name, :null => false, :default => false
t.string :created_by, :null => false
t.timestamps
end
end
end

View File

@@ -0,0 +1,13 @@
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,10 @@
class CreateOrderQueueProcessByZones < ActiveRecord::Migration[5.0]
def change
create_table :order_queue_process_by_zones do |t|
t.references :order_queue_station, :null => false
t.references :zone, :null => false
t.timestamps
end
end
end

View File

@@ -0,0 +1,14 @@
class CreatePaymentMethodSettings < ActiveRecord::Migration[5.0]
def change
create_table :payment_method_settings do |t|
t.string :payment_method, :null => false
t.boolean :is_active, :null => false, :default => false
t.string :gateway_communication_type, :null => false, :default => "api"
t.string :gateway_url
t.string :auth_token
t.string :merchant_account_id
t.timestamps
end
end
end

View File

@@ -0,0 +1,11 @@
class CreateEmployees < ActiveRecord::Migration[5.0]
def change
create_table :employees do |t|
t.string :name, :null => false
t.string :role, :null => false, :default => "cashier"
t.string :encrypted_access_code, :null => false
t.timestamps
end
end
end

View File

@@ -0,0 +1,20 @@
class CreateCashierTerminals < ActiveRecord::Migration[5.0]
def change
create_table :cashier_terminals do |t|
t.string :name, :null => false
t.boolean :is_active, :null => false, :default => true
t.boolean :is_currently_login, :null => false, :default => false
t.string :auto_print_receipt, :null => false, :default => false
t.string :printer_name
t.json :header
t.json :footer
t.string :font
t.string :font_size, :null => false, :default => 10
t.boolean :show_tax, :null => false, :default => true
t.boolean :show_cashier, :null => false, :default => true
t.boolean :show_guest_info, :null => false, :default => false
t.timestamps
end
end
end

View File

@@ -0,0 +1,12 @@
class CreateCashierLoginLogs < ActiveRecord::Migration[5.0]
def change
create_table :cashier_login_logs do |t|
t.references :cashier_terminal, foreign_key: true
t.references :employee, foreign_key: true
t.datetime :login_at, :null => false
t.datetime :logout_at
t.timestamps
end
end
end

View File

@@ -46,6 +46,7 @@ menu_items { menu_category, order_by, product_code, picture, menu_name, alt_menu
variants:[{product_code, name, picture, add_on_price, options {option_name, option_value} }], max_variants_selection: integer, set_menu_items:[menu_items], is_sold_out, is_on_promotion
promotion_price, options {option_name, option_value}}
customer {name, company, contact, email, member_id, member_type, member_authentication_code}
order { id, date, order_ref, order_source [tablet, order_station, emenu, api], order_type [dine-in, takeaway, delivery],customer_id, item_count, quantity_count, status [new, processing, fulfilled], waiters[], guest_info: {adult_count, child_count, woman_count, man_count}}
order_items { order_item_status, product_code, name, qty, price, remark, options , variants: [], set_menu_items :[]}
@@ -53,26 +54,25 @@ order_delivery_info {name, address, contact_no, delivery-by [InHouse | YDoor2Doo
dine-in-table {table, order, status}
room-booking {room, check-in, check-out, reserved_by, status, orders}
order_queue_station {name, is_active, processing_items [product_code]}
order_queue_printer_setting { printer_name, font_size, cut_per_item}
order_queue_log {order_id, job_status [new, completed], header: {table name, order_type, order_date}, items :{name, comment, qty}}
order_queue_station {name, is_active, processing_items [product_code], print_copy: boolean, printer_name, font_size, cut_per_item, use_alternate_name}
order_queue_log {order_id, job_status [new, completed], print_status [], header: {table name, order_type, order_date}, items :{name, comment, qty}}
order_queue_process_by_zone {order_queue_station, zone}
customer {name, company, contact, email, member_id, member_type, member_authentication_code}
payment_method_settings {payment_method, is_active, api_url , auth_token , account_id}
cashier_terminals {name:string, is_active, print_name:string, header, font_size, font, footer, show_tax, show_cashier, show_guest_info}
sale_order {sale, order}
sale {table, cashier, receipt_no, customer, payment_status, sale_status, total_amount, total_discount, total_tax, grand_total, amount_received}
sale {cashier, requested_by, receipt_no, customer, payment_status, sale_status, total_amount, total_discount, total_tax, tax_type, grand_total, amount_received, amount_changed}
sale_items {sale, product_code, product_name, remark, qty, unit_price, taxable_amount, price}
sale_discount_items {sale, product_code, product_name, regular_price, discounted_price, qty, taxable_amount, price, discount_type :[nett, percentage],discount_value}
sale_discount {sale, discount_type, discount_value, discount_amount, discount_code}
sale_taxes {sale, tax_name, tax_rate, tax_amount}
sales_payment {sale, payment_method, payment_amount, payment_reference, payment_status}
sales_audit {sale, action, action_by, approved_by, action_at}
sale_receipt_setting {header, font_size, font, footer, show_tax, show_cashier, show_guest_info}
payment_method_settings {payment_method , api_url , auth_token , account_id}
sale_order {sale, order}
inventory_journal {product_code, qty, debit, credit, balance, references, stock_entry}
stock_entry { who, date, status [new, processing, completed], action [entry | audit] }
lookup {lookup_type, name, value} [status | payment_method ]
lookup {lookup_type, name, value} [status | payment_method | employee_role | payment_status | ]
Employee {name, role, access_code, encrypted_code}

View File

@@ -0,0 +1,5 @@
require 'rails_helper'
RSpec.describe CashierLoginLog, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@@ -0,0 +1,5 @@
require 'rails_helper'
RSpec.describe CashierTerminal, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@@ -0,0 +1,5 @@
require 'rails_helper'
RSpec.describe Employee, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@@ -0,0 +1,5 @@
require 'rails_helper'
RSpec.describe OrderQueueProcessByZone, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@@ -0,0 +1,5 @@
require 'rails_helper'
RSpec.describe OrderQueueProcessLog, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@@ -0,0 +1,5 @@
require 'rails_helper'
RSpec.describe OrderQueueStation, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@@ -0,0 +1,5 @@
require 'rails_helper'
RSpec.describe PaymentMethodSetting, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end