diff --git a/app/assets/stylesheets/origami.scss b/app/assets/stylesheets/origami.scss index 7c27b267..6b350bf1 100644 --- a/app/assets/stylesheets/origami.scss +++ b/app/assets/stylesheets/origami.scss @@ -9,6 +9,7 @@ // min-height: 75rem; // padding-top: 4.5rem; // } + .others-payment{ line-height:100px; text-align:center; @@ -41,12 +42,13 @@ .pay{ width: 98%; - height:211px; + height:211px; line-height:211px; text-align:center; font-size:20px; color:white; } + .payment{ height:70px;line-height:70px;align:center;color:white;font-size:16px;margin-bottom:1px; } @@ -58,6 +60,7 @@ .credit-color{ background-color:#FFCCBC; } + .other-payment-color{ background-color:#E1BEE7; } @@ -66,6 +69,19 @@ background:#A9F5F2; } +.action-btn { + height: 60px; + margin-bottom: 5px; +} + +.bottom-5 { + margin-bottom: 5px; +} + +.fluid { + width: 100%; +} + .style2 { border-top: 3px double #8c8b8b; } @@ -87,6 +103,11 @@ background-color: blue !important; } +.selected-account { + color: #fff !important; + background-color: blue !important; +} + /* Reciept Style */ #order-charges-table td { border-top: none !important; diff --git a/app/controllers/origami/discounts_controller.rb b/app/controllers/origami/discounts_controller.rb index f5f7db9e..a195bb6a 100644 --- a/app/controllers/origami/discounts_controller.rb +++ b/app/controllers/origami/discounts_controller.rb @@ -6,52 +6,93 @@ class Origami::DiscountsController < BaseOrigamiController if Sale.exists?(sale_id) @sale_data = Sale.find(sale_id) end + + @accounts = Account.all + end + + #discount page show from origami index with selected order + def create + sale_id = params[:sale_id] + discount_items = JSON.parse(params[:discount_items]) + overall_discount = params[:overall_discount] + sub_total = params[:sub_total] + + if Sale.exists?(sale_id) + sale = Sale.find(sale_id) + sale.total_discount = overall_discount.to_f + sale.total_amount = sub_total + sale.grand_total = (sub_total - overall_discount.to_f) + sale.total_tax; + + if discount_items.length > 0 + #save sale item for discount + discount_items.each do |di| + puts di + origin_sale_item = SaleItem.find(di["id"]) + sale_item = SaleItem.new + + sale_item.sale_id = sale_id + sale_item.product_code = origin_sale_item != nil ? origin_sale_item.product_code : sale_id + sale_item.product_name = di["name"] + sale_item.remark = "Discount" + + sale_item.qty = 1 + sale_item.unit_price = di["price"] + sale_item.taxable_price = di["price"] + sale_item.is_taxable = 0 + + sale_item.price = di["price"] + sale_item.save + end + + sale.save + end + end end #discount for selected order - def create - sale_id = params[:sale_id] - sale_item_id = params[:sale_item_id] - discount_type = params[:discount_type] - discount_value = params[:discount_value] - discount_amount = params[:discount_amount] - grand_total = params[:grand_total] - product_name = "Overall Discount" + # def create + # sale_id = params[:sale_id] + # sale_item_id = params[:sale_item_id] + # discount_type = params[:discount_type] + # discount_value = params[:discount_value] + # discount_amount = params[:discount_amount] + # grand_total = params[:grand_total] + # product_name = "Overall Discount" - if discount_type == 0 - remark="Discount " + discount_amount + " as net" - else - remark="Discount " + discount_amount + " as percentage" - end + # if discount_type == 0 + # remark="Discount " + discount_amount + " as net" + # else + # remark="Discount " + discount_amount + " as percentage" + # end - #update discount for sale - sale = Sale.find(sale_id) - sale.total_discount = sale.total_discount + discount_amount.to_f - sale.grand_total = grand_total - sale.save + # #update discount for sale + # sale = Sale.find(sale_id) + # sale.total_discount = sale.total_discount + discount_amount.to_f + # sale.grand_total = grand_total + # sale.save - #save sale item for discount - if sale_item_id != nil - origin_sale_item = SaleItem.find(sale_item_id) - product_name = origin_sale_item.product_name + "-Disocunt" - end - sale_item = SaleItem.new + # #save sale item for discount + # if sale_item_id != nil + # origin_sale_item = SaleItem.find(sale_item_id) + # product_name = origin_sale_item.product_name + "-Disocunt" + # end + # sale_item = SaleItem.new - #pull - sale_item.sale_id = sale_id - sale_item.product_code = origin_sale_item != nil ? origin_sale_item.product_code : sale_id - sale_item.product_name = product_name - sale_item.remark = remark + # #pull + # sale_item.sale_id = sale_id + # sale_item.product_code = origin_sale_item != nil ? origin_sale_item.product_code : sale_id + # sale_item.product_name = product_name + # sale_item.remark = remark - sale_item.qty = 1 - sale_item.unit_price = (0-discount_amount.to_f) - sale_item.taxable_price = discount_amount - sale_item.is_taxable = 0 + # sale_item.qty = 1 + # sale_item.unit_price = (0-discount_amount.to_f) + # sale_item.taxable_price = discount_amount + # sale_item.is_taxable = 0 - sale_item.price = sale_item.qty * sale_item.unit_price - sale_item.save + # sale_item.price = sale_item.qty * sale_item.unit_price + # sale_item.save - redirect_to origami_path(sale_id) - end + # redirect_to origami_path(sale_id) + # end end diff --git a/app/models/menu_item.rb b/app/models/menu_item.rb index 89967e2e..50b70e66 100644 --- a/app/models/menu_item.rb +++ b/app/models/menu_item.rb @@ -24,6 +24,7 @@ class MenuItem < ApplicationRecord if (!mt_instance.nil?) menu_item = MenuItem.find(mt_instance.menu_item_id) menu_item_hash[:type] = menu_item.type + menu_item_hash[:account_id] = menu_item.account_id menu_item_hash[:item_code] = menu_item.item_code menu_item_hash[:item_instance_code] = mt_instance.item_instance_code menu_item_hash[:name] = menu_item.name.to_s + " - " + mt_instance.item_instance_name.to_s diff --git a/app/models/order.rb b/app/models/order.rb index 7ab39a4c..4f60f74c 100644 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -82,7 +82,7 @@ class Order < ApplicationRecord set_order_items end - OrderItem.processs_item(menu_item[:item_code], menu_item[:name], + OrderItem.processs_item(menu_item[:item_code], menu_item[:name], menu_item[:account_id], item[:quantity],menu_item[:price], item[:options], set_order_items, self.id, self.employee_name) diff --git a/app/models/order_item.rb b/app/models/order_item.rb index 564aa939..2c9a9ba0 100644 --- a/app/models/order_item.rb +++ b/app/models/order_item.rb @@ -20,12 +20,13 @@ class OrderItem < ApplicationRecord # option_values : [], # sub_order_items : [], # } - def self.processs_item (item_code, menu_name, qty,price, options, set_menu_items, order_id, item_order_by) + def self.processs_item (item_code, menu_name, account_id, qty,price, options, set_menu_items, order_id, item_order_by) orderitem = OrderItem.create do |oitem| oitem.order_id = order_id oitem.item_code = item_code oitem.item_name = menu_name + oitem.account_id = account_id oitem.qty = qty oitem.price = price oitem.options = options diff --git a/app/models/sale.rb b/app/models/sale.rb index d1606c51..6b02e4c8 100644 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -141,6 +141,7 @@ class Sale < ApplicationRecord #pull sale_item.product_code = item.item_code sale_item.product_name = item.item_name + sale_item.account_id = item.account_id sale_item.remark = item.remark sale_item.qty = item.qty diff --git a/app/views/origami/discounts/index.html.erb b/app/views/origami/discounts/index.html.erb index 4f6b7c9a..4e4d2b77 100644 --- a/app/views/origami/discounts/index.html.erb +++ b/app/views/origami/discounts/index.html.erb @@ -1,7 +1,6 @@
-
Discount: - (<%=@sale_data.total_discount rescue 0%>) + (<%=@sale_data.total_discount rescue 0%>) Tax: @@ -75,104 +75,476 @@
-
+
-
+
-
Overall Discount
+
Discount Control
-
-
- -
-
+
+
-
- +
+ <% + @accounts.each do |acc| + %> + + <% end %> +
+

-
-
-
-
5%
-
-
-
-
1
-
2
-
3
-
-
-
+
+
+
+
+
5%
+
+
+
1
+
2
+
3
+
+
-
-
-
10%
-
-
-
-
4
-
5
-
6
-
-
-
+
+
+
10%
+
+
+
4
+
5
+
6
+
+
-
-
-
20%
-
-
-
-
7
-
8
-
9
-
-
-
+
+
+
20%
+
+
+
7
+
8
+
9
+
+
-
-
-
30%
-
-
-
-
0
-
.
-
00
-
-
-
+
+
+
30%
+
+
+
0
+
.
+
00
+
+
-
-
-
50%
-
-
-
-
-
DEL
-
CLR
-
-
-
-
+
+
+
50%
+
+
+
+
DEL
+
CLR
+
+
+
+ +
+
+ + + +
+
+
+ + diff --git a/app/views/origami/home/show.html.erb b/app/views/origami/home/show.html.erb index 07d0fa99..5959b36e 100644 --- a/app/views/origami/home/show.html.erb +++ b/app/views/origami/home/show.html.erb @@ -250,20 +250,58 @@ $(document).ready(function(){ $(".tables").on('click', function(){ var dining_id = $(this).attr("data-id"); window.location.href = '/origami/table/' + dining_id; - }) + }); + $(".sales").on('click',function(){ var sale_id = $(this).attr("data-id"); window.location.href = '/origami/sale/' + sale_id; - }) + }); + $(".rooms").on('click', function(){ var dining_id = $(this).attr("data-id"); window.location.href = '/origami/room/' + dining_id; - }) + }); + $(".orders").on('click',function(){ var order_id = $(this).attr("data-id"); window.location.href = '/origami/order/' + order_id; - }) + }); + + // bind customer to order or sale + $("#customer").on('click', function(){ + var sale = $('#sale_id').val(); + if (sale!="") { + var sale_id = sale + }else{ + var sale_id = $('#save_order_id').attr('data-order'); + } + + window.location.href = '/origami/'+ sale_id + "/customers" + }); + + // Discount for Payment + $('#discount').click(function() { + var sale = $('#sale_id').val(); + if (sale!="") { + var sale_id = sale + }else{ + var sale_id = $('#save_order_id').attr('data-order'); + } + + if(sale_id!=""){ + window.location.href = '/origami/' + sale_id + '/discount' + } + else { + alert("Please select an table!"); + } + + return false; + }); + }); + + + $('#pay').on('click',function() { var sale_id = $('#sale_id').val(); window.location.href = '/origami/sale/'+ sale_id + "/payment"; diff --git a/db/migrate/20170403140820_create_order_items.rb b/db/migrate/20170403140820_create_order_items.rb index c5382030..ca1166dc 100644 --- a/db/migrate/20170403140820_create_order_items.rb +++ b/db/migrate/20170403140820_create_order_items.rb @@ -7,6 +7,7 @@ class CreateOrderItems < ActiveRecord::Migration[5.1] t.string :item_order_by #person who order this t.string :item_code, :null => false t.string :item_name, :null => false + t.integer :account_id, :limit => 8, :null => false, :default => 1 t.decimal :qty, :precision => 10, :scale => 2, :null => false, :default => 0.00 t.decimal :price, :precision => 10, :scale => 2, :null => false, :default => 0.00 t.string :remark diff --git a/db/migrate/20170403161857_create_sale_items.rb b/db/migrate/20170403161857_create_sale_items.rb index cb07db08..48b1363e 100644 --- a/db/migrate/20170403161857_create_sale_items.rb +++ b/db/migrate/20170403161857_create_sale_items.rb @@ -5,6 +5,7 @@ class CreateSaleItems < ActiveRecord::Migration[5.1] t.string :sale_id, foreign_key: true, :limit => 16 t.string :product_code, :null => false t.string :product_name, :null => false + t.integer :account_id, :limit => 8, :null => false, :default => 1 t.string :remark t.decimal :qty, :precision => 10, :scale => 2, :null => false, :default => 0.00 t.decimal :unit_price, :precision => 10, :scale => 2, :null => false, :default => 0.00