This commit is contained in:
Sunandar
2017-02-07 18:04:06 +06:30
parent 6fa89a9e75
commit 264debf89a
13 changed files with 185 additions and 117 deletions

View File

@@ -8,9 +8,9 @@ class Api::BatchLineItemsController < ApplicationController
client_id=""
check_member= Member.authenticate_session_token(session_token)
if !check_member.nil?
if !check_member.nil?
encrypt_key=""
wristband_code=""
asset_identity=""
find_batch = Batch.find_by_id(batch_id)
if !find_batch.nil?
@@ -21,7 +21,7 @@ class Api::BatchLineItemsController < ApplicationController
product_type=find_user.product_type
client_id=find_user.id
if !encrypt_key.nil?
if !encrypt_key.nil?
check_manufacture = BatchLineItem.find_by_manufacture_uid(manufacture_uid)
if check_manufacture.nil?
serial_no=BatchLineItem.generate_serial_no(client_id.to_s)
@@ -31,20 +31,20 @@ class Api::BatchLineItemsController < ApplicationController
digest_data= Digest::MD5.hexdigest(str)
hex_data=digest_data.hex
hex_str=hex_data.to_s
wristband_code=hex_str[0..15]
check_wirstband=BatchLineItem.find_by_asset_identity(wristband_code)
asset_identity=hex_str[0..15]
check_asset=BatchLineItem.find_by_asset_identity(asset_identity)
if check_wirstband.nil?
@out=create_product(wristband_code,serial_no,batch_id,manufacture_uid,card_type)
if check_asset.nil?
@out=create_product(asset_identity,serial_no,batch_id,manufacture_uid,card_type)
else
@out=false,'Wristband is already registered!'
@out=false,'Asset Identity is already registered!'
end
elsif product_type=="card"
@out=create_product(wristband_code,serial_no,batch_id,manufacture_uid,card_type)
@out=create_product(asset_identity,serial_no,batch_id,manufacture_uid,card_type)
end
else
@out=false,'Wristband is already registered!'
end
@out=false,'Manufacture UID is already registered!'
end
else
@out=false,'Invalid User!'
end
@@ -58,9 +58,9 @@ class Api::BatchLineItemsController < ApplicationController
@out=false,'Sorry!Unauthorized user!'
end
end
def create_product(wristband_code,serial_no,batch_id,manufacture_uid,card_type)
def create_product(asset_identity,serial_no,batch_id,manufacture_uid,card_type)
batchLineItem=BatchLineItem.new
batchLineItem.asset_identity=wristband_code
batchLineItem.asset_identity=asset_identity
batchLineItem.serial_no=serial_no
batchLineItem.batch_id=batch_id
batchLineItem.manufacture_uid = manufacture_uid

View File

@@ -11,18 +11,23 @@ class Api::BatchesController < ApplicationController
adult_or_child=params[:adult_or_child]
client_id=params[:client_id]
user_id=check_member.user_id
batch = Batch.create_batch(created_by,date,order_ref,card_qty,user_id,adult_or_child,client_id)
if !batch.nil?
@out=true,batch.id
else
@out=false,'Error occurs in creating batch!'
end
else
@out = false, "Sorry!Unauthorized user!"
find_client=Client.find_by_id(client_id)
if !find_client.nil?
user_id=check_member.user_id
batch = Batch.create_batch(created_by,date,order_ref,card_qty,user_id,adult_or_child,client_id)
if !batch.nil?
@out=true,batch.id
else
@out=false,'Error occurs in creating batch!'
end
else
@out = false, "Client does not exist!"
end
else
@out = false, "Sorry!Unauthorized user!"
end
end
def batch_end
end
def batch_end
session_token=params[:session_token]
batch_id=params[:batch_id]
@@ -66,8 +71,7 @@ class Api::BatchesController < ApplicationController
session_token=params[:session_token]
created_by=params[:created_by]
check_member= Member.authenticate_session_token(session_token)
check_member= Member.authenticate_session_token(session_token)
if !check_member.nil?
if !created_by.nil?
batches = Batch.where('batch_end is null and created_by=?', created_by)

View File

@@ -2,19 +2,47 @@ class BatchLineItemsController < ApplicationController
require "csv"
skip_before_filter :verify_authenticity_token
before_action :authenticate_member!
# respond_to :json, :html,:csv
def index
def index
user_id=current_member.user_id
@clients=Client.all.order('id desc')
find_client=Client.select(:id).order('id desc').first
if !find_client.nil?
client_id=find_client.id
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])
sub_query="(select * from batches where user_id="+user_id.to_s+" and client_id="+client_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').page(params[:page]).per(10)
else
sub_query="(select * from batches where user_id="+user_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').page(params[:page]).per(10)
end
end
def search
user_id=current_member.user_id
batch_list=params[:batch]
client_id=params[:client]
@batchLineItems=nil
if !batch_list.empty?
sub_query="(select * from batches where id in ("+batch_list+") and user_id="+user_id.to_s+" and client_id="+client_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').page(params[:page])
else
sub_query="(select * from batches where user_id="+user_id.to_s+" and client_id="+client_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').page(params[:page])
end
# if @batchLineItems.nil?
# @message="No search found!"
# end
end
def get_batch
client_id=params[:client_id]
batches=Batch.where('client_id=?',client_id)
@@ -27,25 +55,34 @@ class BatchLineItemsController < ApplicationController
end
def export
batch_list=""
@batchLineItems=""
@batchLineItems=nil
user_id=current_member.user_id
@clients=Client.all
@batches=Batch.where('user_id=?',user_id)
client_id=params[:client]
if params[:batch].present?
batch_list=params[:batch]
end
client_id=params[:client]
if !batch_list.empty?
Batch.where("client_id=? and id in (?)",client_id,batch_list).update_all("export_count = export_count + 1")
@batchLineItems = BatchLineItem.where('batch_id in (?)',batch_list).select("*,'' as secret_token")
else
Batch.where("client_id=? ",client_id).update_all("export_count = export_count + 1")
sub_query="(select * from batches where client_id ="+client_id+" and user_id="+user_id.to_s+")"
@batchLineItems = BatchLineItem.joins('inner join '+sub_query+' as batches on batches.id=batch_line_items.batch_id').select("*,'' as secret_token")
end
if !@batchLineItems.empty?
respond_to do |format|
format.html
format.csv { send_data @batchLineItems.to_csv(client_id), filename: "encoder-#{Date.today}.csv" }
end
end
end
else
flash[:notice] = "No data to export."
redirect_to batch_line_items_path
end
end
end