This commit is contained in:
Sunandar
2017-02-06 13:08:52 +06:30
parent cccf9c0e9b
commit 90eeb2ea1c
3 changed files with 85 additions and 40 deletions

View File

@@ -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