Class: Logistics::Core::RouteRatesController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- Logistics::Core::RouteRatesController
- Defined in:
- app/controllers/logistics/core/route_rates_controller.rb
Instance Method Summary collapse
- #create ⇒ Object
- #get_current_route_rate ⇒ Object
- #get_route ⇒ Object
-
#index ⇒ Object
GET /route_rates GET /route_rates.json.
- #save_current_route_rate ⇒ Object
- #update ⇒ Object
Instance Method Details
#create ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'app/controllers/logistics/core/route_rates_controller.rb', line 65 def create route_type = params[:route_type] rate_type = params[:rate_type] result = RouteRate.generate_transportation_rates route_type, rate_type if result[:ind] == 1 response = Mks::Common::MethodResponse.new(true, result[:message], nil, result[:errors], nil) else errors = result[:errors] response = Mks::Common::MethodResponse.new(false, nil, nil, errors, nil) end render json: response end |
#get_current_route_rate ⇒ Object
36 37 38 39 40 41 |
# File 'app/controllers/logistics/core/route_rates_controller.rb', line 36 def get_current_route_rate transporter_id = params['transporter_id'] @route_rates = RouteRate.fetch_current_route_rate transporter_id response = Mks::Common::MethodResponse.new(true, nil, @route_rates, nil, nil) render json: response end |
#get_route ⇒ Object
29 30 31 32 33 34 |
# File 'app/controllers/logistics/core/route_rates_controller.rb', line 29 def get_route route_type = params['route_type'] @route = RouteRate.fetch_route route_type response = Mks::Common::MethodResponse.new(true, nil, @route, nil, nil) render json: response end |
#index ⇒ Object
GET /route_rates GET /route_rates.json
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'app/controllers/logistics/core/route_rates_controller.rb', line 11 def index start = params[:start] limit = params[:limit] rate_type = params['rate_type'] transporter_id = Transporter.select("id").where("name" => "Reference Transporter").ids.first current_period_id = TransportRatePeriod.where(current_period: true).ids.first route_rates_all = RouteRate.where("rate_type" => rate_type, "rate_period_id" => current_period_id).where.not("transporter_id" => transporter_id) count = route_rates_all.count route_rates = RouteRate.fetch_all route_rates_all, start, limit result = [] if route_rates.length > 0 result = route_rates end response = Mks::Common::MethodResponse.new(true, nil, result, nil, count) render json: response end |
#save_current_route_rate ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'app/controllers/logistics/core/route_rates_controller.rb', line 43 def save_current_route_rate reference_transporter_id = Transporter.select("id").where("name" => "Reference Transporter").ids.first reference_route_rate = RouteRate.where("transporter_id" => reference_transporter_id) current_route_rates = params[:route_rates] if reference_route_rate.count > 0 RouteRate.create_archive RouteRate.delete(reference_route_rate) end current_route_rates.each do |current_route_rate| route_rate = RouteRate.create! weight_from: current_route_rate['weight_from'], weight_to: current_route_rate['weight_to'], rate: current_route_rate['rate'], container_return_fee: current_route_rate['container_return_fee'], route_id: current_route_rate['route_id'], effective_date: current_route_rate['effective_date'], valid_until: current_route_rate['valid_until'], transporter_id: reference_transporter_id, route_type: current_route_rate['route_type'] route_rate.save! end response = Mks::Common::MethodResponse.new(true, "Current Route Rate Successfully generated!", reference_transporter_id, nil, nil) render json: response end |
#update ⇒ Object
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'app/controllers/logistics/core/route_rates_controller.rb', line 78 def update route_type = params[:route_type] rate_type = params[:rate_type] count = 0 route_rates = params[:updated_route_rates] route_rates.each do |route_rate| old_route_rate = RouteRate.find(route_rate['id']) old_route_rate.rate = route_rate['rate'] if old_route_rate.save count += 1 end end = "A total of <b>" + count.to_s + " " + route_type + " " + rate_type + "</b> Rate updated successfully!" response = Mks::Common::MethodResponse.new(true, , route_rates, nil, nil) render json: response end |