diff --git a/app/controllers/inventory/inventory_controller.rb b/app/controllers/inventory/inventory_controller.rb index 98a60c4e..ed6347cc 100755 --- a/app/controllers/inventory/inventory_controller.rb +++ b/app/controllers/inventory/inventory_controller.rb @@ -12,13 +12,34 @@ class Inventory::InventoryController < BaseInventoryController @inventory_definitions = InventoryDefinition.select("inventory_definitions.*, (CASE WHEN sj.credit IS NULL THEN 0 ELSE sj.credit END) as credit, (CASE WHEN sj.debit IS NULL THEN 0 ELSE sj.debit END) as debit, - (#{least_stock}) as balance") - .joins(" LEFT JOIN stock_journals sj ON sj.inventory_definition_id=inventory_definitions.id") - .group("inventory_definitions.item_code") - .order("balance ASC") + (#{least_stock}) as balance,"+ + "acc.title as account_name,mi.name as item_name, + mii.item_instance_name as instance_name," + + "mc.name as menu_category_name,mc.id as menu_category_id " + ) + .joins(" LEFT JOIN stock_journals sj ON sj.inventory_definition_id=inventory_definitions.id") + .joins("JOIN menu_item_instances mii ON mii.item_instance_code = inventory_definitions.item_code" + + " JOIN menu_items mi ON mi.id = mii.menu_item_id" + + " JOIN menu_categories mc ON mc.id = mi.menu_category_id ") + .joins(" JOIN accounts acc ON acc.id = mi.account_id") + .group("mi.menu_category_id,inventory_definitions.item_code") + .order("acc.title desc,mi.menu_category_id desc,balance ASC") end +# def self.get_item_query(type) + +# query = Sale.select("acc.title as account_name,mi.name as item_name,mii.item_instance_name as instance_name" + +# "mc.name as menu_category_name,mc.id as menu_category_id ") + +# query = query.joins("JOIN menu_item_instances mii ON mii.item_instance_code = inventory_definitions.item_code" + +# " JOIN menu_items mi ON mi.id = mii.menu_item_id" + +# " JOIN menu_categories mc ON mc.id = mi.menu_category_id ") +# query = query.joins(" JOIN accounts acc ON acc.id = mi.account_id") +# query = query.group("acc.title,mi.account_id,mi.menu_category_id") +# .order("acc.title desc, mi.account_id desc, mi.menu_category_id desc") +# end + def show inventory_definition_id = params[:inventory_definition_id] inventory = InventoryDefinition.find(inventory_definition_id) diff --git a/app/controllers/inventory/inventory_definitions_controller.rb b/app/controllers/inventory/inventory_definitions_controller.rb index 1b0e072e..19188d2d 100755 --- a/app/controllers/inventory/inventory_definitions_controller.rb +++ b/app/controllers/inventory/inventory_definitions_controller.rb @@ -14,6 +14,8 @@ class Inventory::InventoryDefinitionsController < BaseInventoryController # GET /inventory_definitions/new def new + @menus = Menu.all + @menu = MenuCategory.active.where("menu_id =#{@menus[0].id}").order('order_by asc') @inventory_definition = InventoryDefinition.new end @@ -42,6 +44,8 @@ class Inventory::InventoryDefinitionsController < BaseInventoryController format.json { render json: @inventory_definition.errors, status: :unprocessable_entity } end end + + end # PATCH/PUT /inventory_definitions/1 diff --git a/app/controllers/inventory/stock_checks_controller.rb b/app/controllers/inventory/stock_checks_controller.rb index d5ff6946..d8a56cc6 100755 --- a/app/controllers/inventory/stock_checks_controller.rb +++ b/app/controllers/inventory/stock_checks_controller.rb @@ -12,7 +12,10 @@ class Inventory::StockChecksController < BaseInventoryController end def show - @check = StockCheck.find(params[:id]) + @check = StockCheck.find(params[:id]) + + @stock_check_items = StockCheckItem.get_items_with_category(params[:id]) + end def save_to_journal diff --git a/app/models/stock_check_item.rb b/app/models/stock_check_item.rb index 9db680d2..b9a95ef2 100755 --- a/app/models/stock_check_item.rb +++ b/app/models/stock_check_item.rb @@ -43,4 +43,18 @@ class StockCheckItem < ApplicationRecord end transaction end + + def self.get_items_with_category(id) + query = StockCheckItem.select("stock_check_items.*,acc.title as account_name,mi.name as item_name, + mii.item_instance_name as instance_name," + + "mc.name as menu_category_name,mc.id as menu_category_id ") + .joins("JOIN menu_item_instances mii ON mii.item_instance_code = stock_check_items.item_code" + + " JOIN menu_items mi ON mi.id = mii.menu_item_id" + + " JOIN menu_categories mc ON mc.id = mi.menu_category_id ") + .joins(" JOIN accounts acc ON acc.id = mi.account_id") + .where("stock_check_items.stock_check_id=#{id}") + .group("mi.menu_category_id,stock_check_items.item_code") + .order("acc.title desc,mi.menu_category_id desc") + return query + end end diff --git a/app/views/inventory/inventory/_inventory_list.html.erb b/app/views/inventory/inventory/_inventory_list.html.erb index a333dc7a..01e8f98f 100755 --- a/app/views/inventory/inventory/_inventory_list.html.erb +++ b/app/views/inventory/inventory/_inventory_list.html.erb @@ -1,7 +1,7 @@ - + @@ -10,12 +10,36 @@ + <% cate_arr = Array.new %> <% count = 0 @inventory_definitions.each do |item| count += 1 %> + + + <% if !cate_arr.include?(item.menu_category_id) %> + + <% cate_arr.push(item.menu_category_id) %> + <% else %> + + <% end %> + + + + + + + - + --> <% end %> -
#<%= t("views.right_panel.header.menu_category") %> <%= t("views.right_panel.detail.product") %> <%= t("views.right_panel.detail.min_order") %> <%= t("views.right_panel.detail.max_stock") %>
<%= item.menu_category_name %> <%= item.item_name rescue '-' %> - <%= item.instance_name%><%= item.min_order_level %><%= item.max_stock_level %> + <% if item.balance.nil? %> + 0 + <% else %> + <%= item.balance rescue 0 %> + <% end %> + + +
+ - \ No newline at end of file + \ No newline at end of file diff --git a/app/views/inventory/inventory/index.html.erb b/app/views/inventory/inventory/index.html.erb index 55c9884a..d56b9e8c 100755 --- a/app/views/inventory/inventory/index.html.erb +++ b/app/views/inventory/inventory/index.html.erb @@ -10,7 +10,7 @@
-
+
@@ -22,7 +22,7 @@ <%= render 'inventory_list' %>
-
+ +

list <%= t("views.right_panel.header.link_lists") %>

1) <%= t("views.right_panel.button.home") %> - <%= t("views.right_panel.detail.home_txt") %>
@@ -42,7 +42,7 @@

-
+ --> diff --git a/app/views/inventory/inventory_definitions/_form.html.erb b/app/views/inventory/inventory_definitions/_form.html.erb old mode 100755 new mode 100644 index 9b42de68..9cd2acb4 --- a/app/views/inventory/inventory_definitions/_form.html.erb +++ b/app/views/inventory/inventory_definitions/_form.html.erb @@ -1,119 +1,580 @@ -
-
-
-
-
- <%= simple_form_for([:inventory, @inventory_definition]) do |f| %> - <%= f.error_notification %> +<%= stylesheet_link_tag 'addorder', media: 'all', 'data-turbolinks-track': 'reload' %> -
-
- <% arr = MenuItem.active.order("name desc").pluck(:name, :item_code) %> - <% Product.order("name desc").pluck(:name, :item_code).each do |p| %> - <% arr.push(p) %> - <% end %> -
-
- - +
+ +
+ + +
+
+
+
+
- - <% sample = [] %> - <% if @inventory_definition.item_code.nil? %> - <% if !MenuItemInstance.find_by_item_instance_code(@inventory_definition.item_code).nil? %> - <% sample = MenuItemInstance.where("item_instance_code=?", @inventory_definition.item_code).pluck(:item_instance_name, :item_instance_code) %> - <% else %> - <% sample = Product.where("item_code=?", @inventory_definition.item_code).pluck(:name, :item_code) %> - <% end %> - <% end %> -
<%= f.input :item_code, collection: sample %>
- - <%= f.input :min_order_level %> - <%= f.input :max_stock_level %>
- -
- <%= f.submit t("views.btn.submit"), class: 'btn bg-blue waves-effect' %> -
- - <% end %>
+ " id="server_mode"> +
+ + -
-
-
-
view_headline <%= t("views.right_panel.header.page_detail") %>
-

- 1) <%= t("views.right_panel.detail.select_item") %> - <%= t("views.right_panel.detail.select_txt") %> <%= t("views.right_panel.detail.item_txt") %>
- 2) <%= t("views.right_panel.detail.item_code") %> - <%= t("views.right_panel.detail.write_txt") %> <%= t("views.right_panel.detail.item_code_txt2") %>
- 3) <%= t("views.right_panel.detail.min_order") %> <%= t("views.right_panel.detail.level") %> - <%= t("views.right_panel.detail.write_txt") %> <%= t("views.right_panel.detail.min_order_level_txt") %>
- 4) <%= t("views.right_panel.detail.max_stock") %> <%= t("views.right_panel.detail.level") %> - <%= t("views.right_panel.detail.write_txt") %><%= t("views.right_panel.detail.max_stock_level_txt") %>
-

-
list <%= t("views.right_panel.header.button_lists") %>
-

- 1) <%= t("views.btn.submit") %> - <%= t("views.right_panel.detail.create_btn_txt") %> <%= t("views.right_panel.detail.inventory") %>
-

- -
list <%= t("views.right_panel.header.link_lists") %>
-

- 1) <%= t("views.right_panel.button.home") %> - <%= t("views.right_panel.detail.home_txt") %>
- 2) <%= t("views.right_panel.button.back") %> - <%= t("views.right_panel.detail.back_txt") %> <%= t("views.right_panel.detail.home_txt") %>
-

-
-
-
-
- - + \ No newline at end of file + // click select option icon for add + $(document).on('click', '.attribute_btn', function(event){ + + // $('.change_qty').val(1); + value = $(this).data('value'); + type = $(this).data('type'); + instances = $(this).data('instances'); + + attributes = $(".attribute_btn"); + $(attributes).each(function(i){ + if ($(attributes[i]).attr('data-type')==type){ + $('.'+type).removeClass("selected-attribute"); + } + }); + $(this).addClass('selected-attribute'); + + var selected_attr = get_selected_attributes('selected-attribute'); + + for(var field in instances) { + item_attr = instances[field].values; + + if(JSON.stringify(item_attr) == JSON.stringify(selected_attr)){ + $('#instance_code').val(instances[field].code); + } + } + + }); //End selecct attribute buttom + + // Get Selected Class + function get_selected_attributes(selected_class) { + var item_row = $('.'+selected_class); + var attribute_arr = []; + $(item_row).each(function(i){ + value = $(item_row[i]).attr('data-value'); + str = value; + attribute_arr.push(str); + }); + return attribute_arr; + } + + $(document).on('click', '.cashier_number', function(event){ + if(event.handled !== true) { + var original_value; + original_value = $('#modal-qty').attr('data-value'); + original_qty = $('#modal-qty').val(); + var input_type = $(this).attr("data-type"); + + switch (input_type) { + case 'num': + var input_value = $(this).attr("data-value"); + if (original_value == "0"){ + $('#modal-qty').val(input_value); + $('#modal-qty').attr('data-value',input_value); + // update_total_amount(); + }else{ + $('#modal-qty').val(original_qty + input_value); + $('#modal-qty').attr('data-value',original_qty + input_value); + // update_total_amount(); + } + break; + case 'add': + + case 'del' : + + case 'clr': + $('#modal-qty').val(1); + $('#modal-qty').attr('data-value',0); + // update_total_amount(); + break; + + } + event.handled = true; + } else { + return false; + } + }); + + // click select option icon for add + $(document).on('click', '.submit', function(event){ + var params = { 'item_code': $("#item_code").val(), + 'min_order_level': $("#min_qty").val(), + 'max_stock_level': $("#max_qty").val() + }; + var ajax_url = '<%=inventory_inventory_definitions_path%>'; + console.log(ajax_url) + $.ajax({ + type: "POST", + url: ajax_url, + data: params, + dataType: "json", + success:function(result){ + + } + }); + }); + + }); + \ No newline at end of file diff --git a/app/views/inventory/inventory_definitions/backup_form.html.erb b/app/views/inventory/inventory_definitions/backup_form.html.erb new file mode 100755 index 00000000..9b42de68 --- /dev/null +++ b/app/views/inventory/inventory_definitions/backup_form.html.erb @@ -0,0 +1,119 @@ +
+
+
+
+
+ <%= simple_form_for([:inventory, @inventory_definition]) do |f| %> + <%= f.error_notification %> + +
+
+ <% arr = MenuItem.active.order("name desc").pluck(:name, :item_code) %> + <% Product.order("name desc").pluck(:name, :item_code).each do |p| %> + <% arr.push(p) %> + <% end %> +
+
+ + +
+
+ + <% sample = [] %> + <% if @inventory_definition.item_code.nil? %> + <% if !MenuItemInstance.find_by_item_instance_code(@inventory_definition.item_code).nil? %> + <% sample = MenuItemInstance.where("item_instance_code=?", @inventory_definition.item_code).pluck(:item_instance_name, :item_instance_code) %> + <% else %> + <% sample = Product.where("item_code=?", @inventory_definition.item_code).pluck(:name, :item_code) %> + <% end %> + <% end %> +
<%= f.input :item_code, collection: sample %>
+
+ + <%= f.input :min_order_level %> + <%= f.input :max_stock_level %> +
+ +
+ <%= f.submit t("views.btn.submit"), class: 'btn bg-blue waves-effect' %> +
+ + <% end %> +
+
+
+
+
+
+
+
view_headline <%= t("views.right_panel.header.page_detail") %>
+

+ 1) <%= t("views.right_panel.detail.select_item") %> - <%= t("views.right_panel.detail.select_txt") %> <%= t("views.right_panel.detail.item_txt") %>
+ 2) <%= t("views.right_panel.detail.item_code") %> - <%= t("views.right_panel.detail.write_txt") %> <%= t("views.right_panel.detail.item_code_txt2") %>
+ 3) <%= t("views.right_panel.detail.min_order") %> <%= t("views.right_panel.detail.level") %> - <%= t("views.right_panel.detail.write_txt") %> <%= t("views.right_panel.detail.min_order_level_txt") %>
+ 4) <%= t("views.right_panel.detail.max_stock") %> <%= t("views.right_panel.detail.level") %> - <%= t("views.right_panel.detail.write_txt") %><%= t("views.right_panel.detail.max_stock_level_txt") %>
+

+
list <%= t("views.right_panel.header.button_lists") %>
+

+ 1) <%= t("views.btn.submit") %> - <%= t("views.right_panel.detail.create_btn_txt") %> <%= t("views.right_panel.detail.inventory") %>
+

+ +
list <%= t("views.right_panel.header.link_lists") %>
+

+ 1) <%= t("views.right_panel.button.home") %> - <%= t("views.right_panel.detail.home_txt") %>
+ 2) <%= t("views.right_panel.button.back") %> - <%= t("views.right_panel.detail.back_txt") %> <%= t("views.right_panel.detail.home_txt") %>
+

+
+
+
+
+ + + \ No newline at end of file diff --git a/app/views/inventory/stock_checks/show.html.erb b/app/views/inventory/stock_checks/show.html.erb index acf4535d..10aa3cc9 100755 --- a/app/views/inventory/stock_checks/show.html.erb +++ b/app/views/inventory/stock_checks/show.html.erb @@ -44,28 +44,28 @@ + + <% cate_arr = Array.new %> <% count = 0 - @check.stock_check_items.each do |item| + @stock_check_items.each do |item| count += 1 %> - + <% if !cate_arr.include?(item.menu_category_id) %> + + <% cate_arr.push(item.menu_category_id) %> + <% else %> + + <% end %> + diff --git a/db/migrate/20170403153001_create_payment_method_settings.rb b/db/migrate/20170403153001_create_payment_method_settings.rb index 339a3187..4d765af2 100755 --- a/db/migrate/20170403153001_create_payment_method_settings.rb +++ b/db/migrate/20170403153001_create_payment_method_settings.rb @@ -7,7 +7,7 @@ class CreatePaymentMethodSettings < ActiveRecord::Migration[5.1] t.string :gateway_url t.string :auth_token t.string :merchant_account_id - t.string :additional_parameters + t.json :additional_parameters t.timestamps end end
#<%= t("views.right_panel.header.menu_category") %> <%= t("views.right_panel.detail.product") %> <%= t("views.right_panel.detail.stock_count") %> <%= t("views.right_panel.detail.stock_balance") %> <%= t("views.right_panel.detail.different") %> <%= t("views.right_panel.detail.remark") %>
<%= count %> - <% menu_item = MenuItemInstance.find_by_item_instance_code(item.item_code)%> - <% if menu_item.nil? %> - <%= Product.find_by_item_code(item.item_code).name rescue "-" %> - <% else %> - <%= menu_item.menu_item.name rescue "-" %> - - <%= menu_item.item_instance_name rescue "-" %> - <% end %> - <%= item.menu_category_name %> <%= item.item_name rescue '-' %> - <%= item.instance_name%> <%= item.stock_count %> <%= item.stock_balance %> <%= item.different %>