Skip to content

Commit

Permalink
Fix orders v1 controller
Browse files Browse the repository at this point in the history
  • Loading branch information
hopgausi committed Feb 4, 2024
1 parent 772a661 commit cbd5f75
Showing 1 changed file with 8 additions and 50 deletions.
58 changes: 8 additions & 50 deletions app/controllers/api/v1/order_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ def create_order
if params['tracking_number'] && !params['tracking_number'].blank?
tracking_number = params['tracking_number']
order_availability = OrderService.check_order(tracking_number)

if order_availability == true
response = {
status: 200,
Expand All @@ -60,11 +59,8 @@ def create_order
else
tracking_number = TrackingNumberService.generate_tracking_number
end

st = OrderService.create_order(params, tracking_number)

response = if st[0] == true

{
status: 200,
error: false,
Expand All @@ -81,7 +77,6 @@ def create_order
message: st[1],
data: {}
}

end
end

Expand All @@ -93,9 +88,6 @@ def create_order
data: {}
}
end
puts '-------------------'
puts response.to_json
puts '-------------------'
render plain: response.to_json and return
end

Expand Down Expand Up @@ -126,23 +118,19 @@ def check_if_dispatched
data: {}
}
end

render plain: response.to_json and return
end

def retrieve_undispatched_samples
facilities = params[:facilities]

if facilities.blank?
msg = 'please provide facilities in order to have undispatched samples'
elsif !facilities.is_a?(Array)
msg = 'data parameter format is incorrect, Array format is accepted only'
elsif facilities.length > 5
msg = 'can not request undispatcahed samples for more than FIVE facilities'
else

res = OrderService.retrieve_undispatched_samples(facilities)

response = if res[0] == true
{
status: 200,
Expand All @@ -159,7 +147,6 @@ def retrieve_undispatched_samples
}
end
end

if msg
response = {
status: 401,
Expand All @@ -168,15 +155,14 @@ def retrieve_undispatched_samples
data: {}
}
end

render plain: response.to_json and return
end

def retrieve_samples
if params['order_date'].blank?
msg = 'date not provided'
else
res = OrderService.retrieve_samples(params['order_date'], params['region'])
res = OrderService.retrieve_samples(params['order_date'], params['from_date'], params['region'])
response = if res != false
{
status: 200,
Expand All @@ -193,7 +179,6 @@ def retrieve_samples
}
end
end

if msg
response = {
status: 401,
Expand All @@ -206,7 +191,6 @@ def retrieve_samples
end

def dispatch_sample
# authentication should go here------------------------------------------------------------------------
if !request.headers['Authorization'].blank?
auth = request.headers['Authorization'].split(' ')[1]
auth = Base64.decode64(auth)
Expand All @@ -216,7 +200,7 @@ def dispatch_sample
if usr == true
if !params[:properties].blank?
case_type = params[:properties]['case_type']
if case_type == 'r4h_sample'
if case_type == 'Sample'
tracking_number = params[:properties]['tracking_number']
date_dispatched = params[:properties]['date_sample_picked_up_by_courier']
time_of_delivery = params[:properties]['time_of_sample_collected']
Expand All @@ -226,7 +210,7 @@ def dispatch_sample
else
time_of_delivery = time_of_delivery[0..7]
end
date_dispatched += time_of_delivery
date_dispatched = "#{date_dispatched} #{time_of_delivery}"
delivery_type = 'sample_dispatched_from_facility'
dispatcher = 'rh4'
if tracking_number && date_dispatched
Expand All @@ -243,7 +227,6 @@ def dispatch_sample
data: {}
}
else

{
status: 200,
error: false,
Expand All @@ -265,7 +248,6 @@ def dispatch_sample
data: {}
}
end

elsif case_type == 'delivery'
tracking_numbers = params[:properties]['tracking_numbers']
date_dispatched = params[:properties]['date_of_delivery']
Expand All @@ -276,17 +258,17 @@ def dispatch_sample
else
time_of_delivery = time_of_delivery[0..7]
end
date_dispatched += time_of_delivery
date_dispatched = "#{date_dispatched} #{time_of_delivery}"
delivery_type = params[:properties]['delivery_type']
delivery_location = params[:properties]['delivery_location']
dispatcher = 'rh4'
if tracking_numbers && date_dispatched && delivery_type
dispatcher_type_id = SpecimenDispatchType.find_by(name: delivery_type)
msg = ''
tracking_numbers.split(' ').each do |tracking_number|
res = OrderService.check_if_dispatched(tracking_number, dispatcher_type_id.id)
tracking_numbers.split(' ').each do |tracking_number_|
res = OrderService.check_if_dispatched(tracking_number_, dispatcher_type_id.id)
if res == false
status = OrderService.dispatch_sample(tracking_number, dispatcher, date_dispatched, dispatcher_type_id.id,
status = OrderService.dispatch_sample(tracking_number_, dispatcher, date_dispatched, dispatcher_type_id.id,
delivery_location)
response = if status == false
{
Expand All @@ -308,7 +290,7 @@ def dispatch_sample

end
else
msg = + "sample already dispatched from the given location (dispatch type) samples # #{tracking_number}"
msg = "sample already dispatched from the given location (dispatch type) samples # #{tracking_number}"
end
end

Expand Down Expand Up @@ -338,7 +320,6 @@ def dispatch_sample
data: {}
}
end

else
response = {
status: 401,
Expand All @@ -348,7 +329,6 @@ def dispatch_sample
}
render plain: response.to_json and return
end

if msg
response = {
status: 401,
Expand All @@ -357,7 +337,6 @@ def dispatch_sample
data: {}
}
end

render plain: response.to_json and return
end

Expand Down Expand Up @@ -395,7 +374,6 @@ def request_order
if params['tracking_number']
tracking_number = params['tracking_number']
order_availability = OrderService.check_order(tracking_number)

if order_availability == true
response = {
status: 200,
Expand All @@ -411,9 +389,7 @@ def request_order
tracking_number = TrackingNumberService.generate_tracking_number
end
st = OrderService.request_order(params, tracking_number)

if st[0] == true

response = {
status: 200,
error: false,
Expand All @@ -425,7 +401,6 @@ def request_order
}
end
end

if msg
response = {
status: 401,
Expand All @@ -434,7 +409,6 @@ def request_order
data: {}
}
end

render plain: response.to_json and return
end

Expand Down Expand Up @@ -469,7 +443,6 @@ def query_requested_order_by_npid
data: {}
}
end

render plain: response.to_json and return
end

Expand All @@ -493,9 +466,7 @@ def query_order_by_npid
orders: status
}
}

end

else
response = {
status: 401,
Expand All @@ -504,14 +475,12 @@ def query_order_by_npid
data: {}
}
end

render plain: response.to_json and return
end

def query_results_by_npid
if params[:npid]
res = OrderService.query_results_by_npid(params[:npid])

response = if res == false
{
status: 401,
Expand All @@ -529,7 +498,6 @@ def query_results_by_npid
}
}
end

else
response = {
status: 401,
Expand All @@ -538,14 +506,12 @@ def query_results_by_npid
data: {}
}
end

render plain: response.to_json and return
end

def update_order
if params['tracking_number'] && params['who_updated'] && params['status']
order_availability = OrderService.check_order(params['tracking_number'])

if order_availability == false
response = {
status: 200,
Expand All @@ -557,7 +523,6 @@ def update_order
}
render plain: response.to_json and return
end

status = OrderService.update_order(params)
response = if status[0] == true
{
Expand All @@ -567,7 +532,6 @@ def update_order
data: {}
}
else

{
status: 401,
error: false,
Expand Down Expand Up @@ -645,7 +609,6 @@ def query_results_by_tracking_number_site_code
if params[:tracking_number]
tracking_number = params[:site_code] + '/' + params[:tracking_number]
res = OrderService.query_results_by_tracking_number(tracking_number)

response = if res == false
{
status: 401,
Expand All @@ -672,15 +635,12 @@ def query_results_by_tracking_number_site_code
data: {}
}
end

render plain: response.to_json and return
end

def query_order_by_tracking_number
if params[:tracking_number]

res = OrderService.query_order_by_tracking_number(params[:tracking_number])

response = if res == false
{
status: 401,
Expand Down Expand Up @@ -714,7 +674,6 @@ def query_order_by_tracking_number_site_code
if params[:tracking_number]
tracking_number = params[:site_code] + '/' + params[:tracking_number]
res = OrderService.query_order_by_tracking_number(tracking_number)

response = if res == false
{
status: 401,
Expand All @@ -741,7 +700,6 @@ def query_order_by_tracking_number_site_code
data: {}
}
end

render plain: response.to_json and return
end
end

0 comments on commit cbd5f75

Please sign in to comment.