edit api
This commit is contained in:
@@ -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
|
||||
@@ -4,21 +4,32 @@
|
||||
<a class="breadcrumb-item active" href="#">Batch Line Item List</a>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<div class="row top-content">
|
||||
<% flash.each do |name, msg| %>
|
||||
<div class="alert alert-danger">
|
||||
<a class="close" data-dismiss="alert">×</a>
|
||||
<%= msg %>
|
||||
</div>
|
||||
<% end %>
|
||||
<br><br>
|
||||
<%= form_tag export_path(:format => :csv),:method => :post do%>
|
||||
<div class="col-lg-7">
|
||||
<div class="col-lg-4">
|
||||
</div>
|
||||
<div class="col-lg-3">
|
||||
<%= select_tag "client", options_from_collection_for_select(@clients, "id", "name"),:class => 'form-control'%>
|
||||
</div>
|
||||
<div class="col-lg-5">
|
||||
<label><strong>Choose Batch:</strong></label>
|
||||
<select class='selectpicker' id='batch' name='batch[]' multiple= "multiple" >
|
||||
<% @batches.each do |batch| %>
|
||||
<!--<% @batches.each do |batch| %>
|
||||
<option value="<%= batch.id %>"><%= batch.order_ref %></option>
|
||||
<% end %>
|
||||
</select>
|
||||
|
||||
<%= button_tag "Export CSV",:class =>'btn btn-primary btn-sm',:id =>"btnexport" %>
|
||||
<% end %> -->
|
||||
</select>
|
||||
|
||||
<%= button_tag "Export CSV",:class =>'btn btn-primary btn-sm',:id =>"btnexport" %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="row content">
|
||||
<div class="card">
|
||||
@@ -58,9 +69,33 @@
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
$('#batch').multiselect()
|
||||
$("#batch").multiselect("refresh");
|
||||
|
||||
$(document).ready(function(){
|
||||
client_id=$("#client").val();
|
||||
get_batch(client_id)
|
||||
$('#client').on('change', function() {
|
||||
client_id=$(this).val()
|
||||
get_batch(client_id)
|
||||
});
|
||||
function get_batch(client_id){
|
||||
$('#batch').multiselect('disable');
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: '<%= get_batch_path %>',
|
||||
dataType: "json",
|
||||
data : {'client_id':client_id },
|
||||
success: function(result){
|
||||
if (result.status){
|
||||
$('#batch').multiselect('enable');
|
||||
$("#batch").empty();
|
||||
$("#batch").append("<option value='all'>ALL</option>")
|
||||
$.each(result.data, function (i, item){
|
||||
$("#batch").append("<option value="+item.id+">"+ item.order_ref +"</option>")
|
||||
});
|
||||
$('#batch').multiselect("refresh");
|
||||
$("#batch").multiselect('rebuild');
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
</script>
|
||||
Reference in New Issue
Block a user