diff --git a/app/controllers/batch_line_items_controller.rb b/app/controllers/batch_line_items_controller.rb index 471084b..ca21559 100644 --- a/app/controllers/batch_line_items_controller.rb +++ b/app/controllers/batch_line_items_controller.rb @@ -2,40 +2,49 @@ class BatchLineItemsController < ApplicationController require "csv" skip_before_filter :verify_authenticity_token before_action :authenticate_member! + respond_to :json, :html + def index user_id=current_member.user_id + @clients=Client.all + @batches=Batch.where('user_id=?',user_id) @batchLineItems=BatchLineItem.joins('inner join batches on batches.id=batch_line_items.batch_id') .where('batches.user_id=?',user_id) .select('batch_line_items.*,batches.order_ref as batch_name').page(params[:page]) end - def export - batch_list=params[:batch] - user_id=current_member.user_id - if !batch_list.nil? - batch_list.each do |batch| - find_batch=Batch.find_by_id(batch) - if !find_batch.nil? - export_count=find_batch.export_count - find_batch.export_count=export_count.to_i+1 - find_batch.save - end - end - @batchLineItems = BatchLineItem.where('batch_id in (?) ',batch_list).select('*') - else - batches=Batch.all - batches.each do |batch| - export_count=batch.export_count - batch.export_count=export_count.to_i+1 - batch.save - end - @batchLineItems = BatchLineItem.all.select('serial_no,wristband_code,batch_id,manufacture_uid,card_type') - end - - respond_to do |format| - format.html - format.csv { send_data @batchLineItems.to_csv(user_id), filename: "encoder-#{Date.today}.csv" } - end + def get_batch + client_id=params[:client_id] + batches=Batch.where('client_id=?',client_id) + if !batches.nil? + respond_with(data: batches,status: true) + else + respond_with(data: nil,status: false) + end end + def export + batch_list="" + if params[:batch].present? + batch_list=params[:batch] + end + client_id=params[:client] + + user_id=current_member.user_id + if !batch_list.empty? + if batch_list=="ALL" + Batch.where("client_id=?",client_id).update_all("export_count = export_count + 1") + @batchLineItems = BatchLineItem.where('client_id=?',client_id).select('serial_no,wristband_code,batch_id,manufacture_uid,card_type') + else + Batch.where("client_id=? and batch_id in (?)",client_id,batch_list).update_all("export_count = export_count + 1") + @batchLineItems = BatchLineItem.where('client_id=? and batch_id in (?)',client_id,batch_list).select('*') + end + respond_to do |format| + format.html + format.csv { send_data @batchLineItems.to_csv(user_id), filename: "encoder-#{Date.today}.csv" } + end + else + redirect_to batch_line_items_path, notice: 'No batch to export for this client.' + end + end end \ No newline at end of file diff --git a/app/views/batch_line_items/index.html.erb b/app/views/batch_line_items/index.html.erb index 17aecac..9f7fbe3 100644 --- a/app/views/batch_line_items/index.html.erb +++ b/app/views/batch_line_items/index.html.erb @@ -4,21 +4,32 @@ Batch Line Item List +