Compare commits

...

10 Commits

Author SHA1 Message Date
Thein Lin Kyaw
1b619e8dc1 prefix encoded times to manufacture_uid 2023-08-28 14:37:04 +06:30
Thein Lin Kyaw
019902872b update client key encryption 2023-08-17 15:53:13 +06:30
nandar
d2b9a9e61f update api uid 2018-08-29 14:49:20 +06:30
nandar
ad312c15a5 update uid api 2018-08-29 14:34:05 +06:30
nandar
2f34bb5aa8 user id update in batch create 2018-08-20 19:22:59 +06:30
nandar
087c4d92d3 update manufacture id empty 2018-08-20 17:20:58 +06:30
nandar
9951351f2c check duplicate record 2018-08-20 13:23:09 +06:30
nandar
5a13870b66 check duplicate record 2018-08-20 13:19:23 +06:30
nandar
f211940225 check duplicate record 2018-08-20 13:16:39 +06:30
nandar
323dd43dd2 check duplicate record 2018-08-20 13:03:11 +06:30
10 changed files with 207 additions and 146 deletions

View File

@@ -52,7 +52,7 @@ class Api::BatchLineItemsController < ApplicationController
end
end
else
if check_manufacture.asset_identity !=card_account_no
if check_manufacture.asset_identity != card_account_no
@out=true,check_manufacture.serial_no,check_manufacture.asset_identity
else
@out=false,'Manufacture UID is already registered!'
@@ -142,27 +142,45 @@ class Api::BatchLineItemsController < ApplicationController
account_no = params[:account_no]
barcode = params[:barcode]
manufacture_uid = params[:manufacture_uid]
batch_line_item = BatchLineItem.find_by_asset_identity(account_no)
if !batch_line_item.nil?
batch_line_item.manufacture_uid = manufacture_uid
batch_line_item.barcode = barcode
batch_line_item.save
session_token = params[:session_token]
# update batch
batch = Batch.find_by_id(batch_line_item.batch_id)
card_qty=batch.qty_processing.to_i
success_qty=batch.qty_success
find_user = Member.find_by_session_token(session_token)
if !find_user.nil?
if barcode.present?
batch_line_item = BatchLineItem.find_by_barcode(barcode)
elsif account_no.present?
batch_line_item = BatchLineItem.find_by_asset_identity(account_no)
end
batch.qty_processing=card_qty+1
batch.qty_success=success_qty+1
batch.save
if !batch_line_item.nil?
if batch_line_item.manufacture_uid.empty?
issue_count = BatchLineItem.where("manufacture_uid LIKE ?", "#{manufacture_uid}%").count
batch_line_item.manufacture_uid = "#{manufacture_uid}#{issue_count > 0 ? "-#{issue_count}" : ""}"
batch_line_item.save
@out = true,"success"
# update batch
batch = Batch.find_by_id(batch_line_item.batch_id)
card_qty=batch.qty_processing.to_i
success_qty=batch.qty_success
batch.qty_processing=card_qty+1
batch.qty_success=success_qty+1
batch.save
@out = true,batch_line_item.asset_identity
else
@out = false,"Duplicate Manufacture UID"
end
else
@out = false,"Invalid Record"
end
else
@out = false,"error"
@out = false,"Not Authorized"
end
end
def get_item_by_batch
batch_id = params[:batch_id]
session_token = params[:session_token]
@@ -203,6 +221,25 @@ class Api::BatchLineItemsController < ApplicationController
end
end
def update_barcode_and_account_no
session_token = params[:session_token]
barcode =params[:barcode]
user = Member.find_by_session_token(session_token)
if !user.nil?
user_id = user.user_id
find_barcode = BatchLineItem.find_by_barcode(barcode)
if !find_barcode.nil?
@out = true,find_barcode
else
@out = false,"Invalid"
end
else
@out = false, "Not Authorized"
end
end
# def check_ticket
# session_token = params[:session_token]
# barcode =params[:barcode]

View File

@@ -35,7 +35,7 @@ class BatchesController < ApplicationController
adult_or_child=params[:adult_or_child]
client_id=params[:client_id]
product_category_id=params[:product_category_id]
@batch = Batch.create_batch(date,order_ref,2,"adult_or_child",client_id,product_category_id)
@batch = Batch.create_batch(date,order_ref,current_member.id,"adult_or_child",client_id,product_category_id)
respond_to do |format|
if @batch.save

View File

@@ -26,9 +26,8 @@ class ClientsController < ApplicationController
def create
@client = Client.new(client_params)
cipher = OpenSSL::Cipher::Cipher.new("aes-256-cbc")
key=cipher.random_key
secrect_key= Base64.encode64(key)
@client.secrect_key=secrect_key
secrect_key = cipher.random_key
@client.secrect_key = secrect_key
respond_to do |format|
if @client.save

View File

@@ -140,14 +140,11 @@ class BatchLineItem < ApplicationRecord
end
end
def self.encrypted(message,encrypt_key)
cipher = OpenSSL::Cipher::Cipher.new("aes-128-cbc")
cipher = OpenSSL::Cipher.new("aes-256-cbc")
cipher.encrypt
key = Digest::SHA1.hexdigest(encrypt_key)
iv =encrypt_key
cipher.key = encrypt_key
cipher.iv = encrypt_key
cipher.iv = encrypt_key[0,16]
encrypted = cipher.update(message)
encrypted << cipher.final

View File

@@ -3,4 +3,12 @@ class Client < ApplicationRecord
validates :name, :uniqueness => {:message =>"This client name is already taken." } ,on: :create
validates :location_code ,presence: { message: "Please enter client location code." }
validates :location_code, :uniqueness => {:message =>"This location code is already taken." } ,on: :create
def secrect_key
Base64.decode64(super)
end
def secrect_key=(value)
super(Base64.encode64(value))
end
end

View File

@@ -0,0 +1,7 @@
if @out[0] == true
json.set! :status, @out[0]
json.set! :message, @out[1]
else
json.set! :status, @out[0]
json.set! :message, @out[1]
end

View File

@@ -0,0 +1,3 @@
json.set! :status, @out[0]
json.set! :message, @out[1]

View File

@@ -53,6 +53,7 @@ Rails.application.routes.draw do
#batch_line_items
post "generate_card_account_items" =>"batch_line_items#generate_card_account_items"
post "update_manufacture_uid" => "batch_line_items#update_manufacture_uid"
post "update_barcode_and_account_no" => "batch_line_items#update_barcode_and_account_no"
post "code_activate" => "batch_line_items#code_activate"
get "activated_list" => "batch_line_items#activated_list"
get "seller_info" => "batch_line_items#seller_info"

View File

@@ -0,0 +1,9 @@
class CreateSetting < ActiveRecord::Migration[5.0]
def change
create_table :settings do |t|
t.string :key
t.string :value
t.string :name
end
end
end