edit csv
This commit is contained in:
@@ -6,12 +6,19 @@ class BatchLineItemsController < ApplicationController
|
||||
|
||||
def index
|
||||
# user_id=current_member.user_id
|
||||
@clients=Client.all.order('id asc')
|
||||
find_client=Client.select(:id).order('id asc').first
|
||||
@product_category_id=""
|
||||
@clients=Client.all.order('id desc')
|
||||
@product_categories=ProductCategory.all.order('id desc')
|
||||
|
||||
find_client=Client.select(:id).order('id desc').first
|
||||
if !find_client.nil?
|
||||
client_id=find_client.id
|
||||
|
||||
sub_query="(select * from batches where client_id="+client_id.to_s+")"
|
||||
find_batch=Batch.where('client_id=?',client_id).order('id desc').first
|
||||
if !find_batch.nil?
|
||||
@product_category_id=find_batch.product_category_id
|
||||
end
|
||||
sub_query="(select * from batches where client_id="+client_id.to_s+" and product_category_id ="+@product_category_id.to_s+" )"
|
||||
@batchLineItems=BatchLineItem.joins('inner join '+sub_query+' as batches on batches.id=batch_line_items.batch_id')
|
||||
.select('batch_line_items.*,batches.order_ref as batch_name').order('batch_line_items.id desc').page(params[:page]).per(10)
|
||||
else
|
||||
@@ -23,17 +30,19 @@ class BatchLineItemsController < ApplicationController
|
||||
# user_id=current_member.user_id
|
||||
batch_list=params[:batch]
|
||||
client_id=params[:client]
|
||||
product_category_id=params[:product_category]
|
||||
|
||||
|
||||
@batchLineItems=nil
|
||||
|
||||
if !batch_list.empty?
|
||||
sub_query="(select * from batches where id in ("+batch_list+") and client_id="+client_id.to_s+")"
|
||||
sub_query="(select * from batches where id in ("+batch_list+") and client_id="+client_id.to_s+" and product_category_id="+product_category_id.to_s+")"
|
||||
|
||||
@batchLineItems=BatchLineItem.joins('inner join '+ sub_query +' as batches on batches.id=batch_line_items.batch_id')
|
||||
.select('batch_line_items.*,batches.order_ref as batch_name').order('batch_line_items.id desc').page(params[:page]).per(10)
|
||||
|
||||
else
|
||||
sub_query="(select * from batches where client_id="+client_id.to_s+")"
|
||||
sub_query="(select * from batches where client_id="+client_id.to_s+" and product_category_id="+product_category_id.to_s+")"
|
||||
@batchLineItems=BatchLineItem.joins('inner join '+ sub_query +'as batches on batches.id=batch_line_items.batch_id')
|
||||
.select('batch_line_items.*,batches.order_ref as batch_name').order('batch_line_items.id desc').page(params[:page]).per(10)
|
||||
|
||||
@@ -45,11 +54,14 @@ class BatchLineItemsController < ApplicationController
|
||||
end
|
||||
def get_batch
|
||||
client_id=params[:client_id]
|
||||
batches=Batch.where('client_id=?',client_id)
|
||||
product_category_id=params[:product_category_id]
|
||||
|
||||
batches=Batch.where('client_id=? and product_category_id=?',client_id,product_category_id)
|
||||
.select('order_ref,id')
|
||||
if !batches.nil?
|
||||
render :json => { :data => batches,:status => true }
|
||||
# respond_with(data: batches,status: true)
|
||||
else
|
||||
# else
|
||||
# respond_with(data: nil,status: false)
|
||||
end
|
||||
end
|
||||
@@ -61,6 +73,7 @@ class BatchLineItemsController < ApplicationController
|
||||
@clients=Client.all
|
||||
@batches=Batch.where('user_id=?',user_id)
|
||||
client_id=params[:client]
|
||||
product_category_id=params[:product_category]
|
||||
find_client=Client.find_by_id(client_id)
|
||||
location_code=find_client.location_code
|
||||
|
||||
@@ -73,10 +86,10 @@ class BatchLineItemsController < ApplicationController
|
||||
end
|
||||
|
||||
if !batch_list.empty?
|
||||
res=Batch.where("client_id=? and id in (?)",client_id,batch_list).update_all("export_count = export_count + 1,exported_by='"+exported_by+"'")
|
||||
res=Batch.where("client_id=? and product_category_id=? and id in (?)",client_id,product_category_id,batch_list).update_all("export_count = export_count + 1,exported_by='"+exported_by+"'")
|
||||
|
||||
# sub_query=Batch.where('id in (?)',batch_list).select('*').to_sql
|
||||
sub_query= "(select * from batches where client_id="+client_id.to_s+")"
|
||||
|
||||
sub_query= "(select * from batches where client_id="+client_id.to_s+" and product_category_id="+ product_category_id.to_s+")"
|
||||
|
||||
@batchLineItems = BatchLineItem.joins('inner join '+sub_query +" as batches on batches.id=batch_line_items.batch_id")
|
||||
.joins('inner join product_categories product on product.id=batches.product_category_id')
|
||||
@@ -84,20 +97,16 @@ class BatchLineItemsController < ApplicationController
|
||||
.select("*,product.product_type_id ,product.name,'' as secret_token,'' as location")
|
||||
else
|
||||
Batch.where("client_id=? ",client_id).update_all("export_count = export_count + 1,exported_by='"+exported_by+"'")
|
||||
sub_query="(select * from batches where client_id ="+client_id+")"
|
||||
sub_query="(select * from batches where client_id ="+client_id+" and product_category_id="+ product_category_id+")"
|
||||
@batchLineItems = BatchLineItem.joins('inner join '+sub_query+' as batches on batches.id=batch_line_items.batch_id')
|
||||
.joins('inner join product_categories as product on product.id=batches.product_category_id')
|
||||
.select("*,product.product_type_id ,product.name,'' as secret_token,'' as location")
|
||||
end
|
||||
|
||||
if !@batchLineItems.empty?
|
||||
|
||||
respond_to do |format|
|
||||
format.html
|
||||
format.csv { send_data @batchLineItems.to_csv(client_id,location_code), filename: "encoder-#{Date.today}.csv" }
|
||||
end
|
||||
else
|
||||
flash[:message] = "No data to export."
|
||||
redirect_to batch_line_items_path
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -10,7 +10,12 @@
|
||||
<label><strong>Select Client:</strong></label>
|
||||
<%= select_tag "client", options_from_collection_for_select(@clients, "id", "name"), :class => 'form-control'%>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div class="col-lg-4">
|
||||
<label><strong>Select Product:</strong></label>
|
||||
<%= select_tag "product_category", options_from_collection_for_select(@product_categories, "id", "name"), :class => 'form-control'%>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4">
|
||||
<label><strong>Select Batch:</strong></label><br>
|
||||
<select class='selectpicker' id='batch' name='batch[]' multiple= "multiple"></select>
|
||||
<%= button_tag "Export csv?",:class =>'btn btn-primary btn-sm',:id =>"btnexport" %>
|
||||
@@ -74,20 +79,25 @@
|
||||
$(document).ready(function(){
|
||||
$('#loading').hide();
|
||||
client_id=$("#client").val();
|
||||
get_batch(client_id)
|
||||
$('#client').on('change', function() {
|
||||
client_id=$(this).val()
|
||||
get_batch(client_id)
|
||||
$("#product_category").val("<%= @product_category_id %>");
|
||||
product_category_id=$("#product_category").val()
|
||||
|
||||
get_batch(client_id,product_category_id)
|
||||
|
||||
$('#product_category').on('change', function() {
|
||||
product_category_id=$(this).val();
|
||||
client_id=$("#client").val();
|
||||
get_batch(client_id,product_category_id)
|
||||
});
|
||||
function get_batch(client_id){
|
||||
function get_batch(client_id,product_category_id){
|
||||
$('#batch').multiselect('disable');
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: '<%= get_batch_path %>',
|
||||
dataType: "json",
|
||||
data : {'client_id':client_id },
|
||||
data : {'client_id':client_id ,'product_category_id':product_category_id},
|
||||
success: function(result){
|
||||
if (result.status){
|
||||
if (result.data){
|
||||
$('#batch').multiselect('enable');
|
||||
$("#batch").empty();
|
||||
$.each(result.data, function (i, item){
|
||||
@@ -95,26 +105,37 @@ $(document).ready(function(){
|
||||
});
|
||||
$('#batch').multiselect("refresh");
|
||||
$("#batch").multiselect('rebuild');
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
$("#product_category").change(function(){
|
||||
product_category=$(this).val();
|
||||
client=$("#client").val()
|
||||
batch=$("#batch").val();
|
||||
filter(client,product_category,batch);
|
||||
})
|
||||
$("#client" ).on('change', function(){
|
||||
client=$(this).val();
|
||||
product_category=$("#product_category").val();
|
||||
batch=$("#batch").val();
|
||||
filter(client,batch);
|
||||
|
||||
filter(client,product_category,batch);
|
||||
})
|
||||
$('#batch').change(function(){
|
||||
client=$("#client").val();
|
||||
client=$("#client :selected").val();
|
||||
product_category=$("#product_category").val();
|
||||
batch=$(this).val();
|
||||
filter(client,batch);
|
||||
filter(client,product_category,batch);
|
||||
|
||||
});
|
||||
function filter(client,batch){
|
||||
function filter(client,product_category,batch){
|
||||
if (batch==null){
|
||||
batch=""
|
||||
}
|
||||
paramlist='client='+client+"&batch="+batch
|
||||
paramlist='client='+client+"&product_category="+product_category+"&batch="+batch
|
||||
|
||||
$.ajax({
|
||||
type:'GET',
|
||||
url: '<%= filter_path %>',
|
||||
|
||||
Reference in New Issue
Block a user