Skip to content

Commit

Permalink
Added Defects work flow process and updated events
Browse files Browse the repository at this point in the history
  • Loading branch information
xxEoD2242 committed Aug 2, 2018
1 parent 4224228 commit 77bcef9
Show file tree
Hide file tree
Showing 43 changed files with 565 additions and 335 deletions.
9 changes: 9 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Metrics/LineLength:
Enabled: false

Metrics/BlockLength:
Enabled: false

AllCops:
Exclude:
- 'db/schema.rb'
4 changes: 2 additions & 2 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,12 @@ gem 'jbuilder', '~> 2.5'
gem 'jquery-rails', '~> 4.3.1'
gem 'kaminari'
gem 'mini_magick'
gem 'minitest'
gem 'pg', '~> 0.18'
gem 'popper_js', '~> 1.12.9', '>= 1.11.1'
gem 'pry-rails', group: :development
gem 'puma'
gem 'rails', '~> 5.1.4'
gem 'minitest'
gem 'ransack', github: 'activerecord-hackery/ransack'
gem 'rubocop', require: false
gem 'sass-rails', '~> 5.0'
Expand All @@ -53,8 +53,8 @@ end

group :development do
gem 'listen', '>= 3.0.5', '< 3.2'
gem 'web-console', '>= 3.3.0'
gem 'rack-mini-profiler', require: false
gem 'web-console', '>= 3.3.0'
end

group :production do
Expand Down
6 changes: 3 additions & 3 deletions app/controllers/auto_select.rb
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,9 @@ def auto_select_vehicles

unless @people.nil?
@numb_vehicles = if !@shares.nil?
(@people - (@shares * 2)) + @shares
else
@people
(@people - (@shares * 2)) + @shares
else
@people
end
end

Expand Down
6 changes: 3 additions & 3 deletions app/controllers/checklists_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ def show
end
end
end

def create_work_order
@checklist = Checklist.find(params[:checklist_id])
@vehicle = Vehicle.find(params[:vehicle_id])
Expand Down Expand Up @@ -54,7 +54,7 @@ def create
@checklist = Checklist.new(checklist_params)
respond_to do |format|
if @checklist.save

format.html { redirect_to @checklist, notice: 'Checklist was successfully created.' }
format.json { render :show, status: :created, location: @checklist }
else
Expand Down Expand Up @@ -92,7 +92,7 @@ def set_vehicle

def checklist_params
params.require(:checklist).permit(:date, :user_id, :event_id, :vehicle_id, :fuel_level,
:wash, :deadline, :suspension, :drive_train, :body,
:wash, :deadline, :suspension, :drive_train, :body,
:engine, :brake, :safety_equipment, :chassis, :electrical,
:cooling_system, :tires, :radio, :exhaust, :steering,
:comments, :completed, :defect)
Expand Down
12 changes: 7 additions & 5 deletions app/controllers/defects_controller.rb
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
# frozen_string_literal: true

class DefectsController < ApplicationController

def by_event
@events = Event.where(checklists_completed: true).page(params[:page])
@vehicles = Vehicle.all
@q = Event.where(defects_reported: true).ransack(params[:q])
@event_results = @q.result.order(id: :desc).page(params[:page])
end

def index
@q = Defect.all.ransack(params[:q])
@vehicles = Vehicle.all
@q = Defect.all.order(id: :desc).ransack(params[:q])
@defects = @q.result.page(params[:page])
end

Expand Down Expand Up @@ -38,7 +40,7 @@ def destroy
format.html { redirect_to defects_url, notice: 'Defect was successfully destroyed.' }
end
end

private

def set_defect
Expand Down
17 changes: 10 additions & 7 deletions app/controllers/events_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ def index
end

def show
@event.set_checklists_completed
@event.set_defects_reported
@checklists = Checklist.where(event_id: @event.id)
@vehicles = @event.vehicles
respond_to do |format|
Expand All @@ -32,15 +34,13 @@ def vehicle_rotation_metrics; end

def dashboard
@display_events = Event.where('date >= ? AND date <= ?', Date.current - 7.days, Date.current + 14.days)
@set_completed_events = Event.where('date <= ?', Date.current)
@scheduled_events = Event.where(status: 'Scheduled')
@completed_events = Event.where(status: 'Completed')
@set_completed_events = Event.where('date = ?', Date.current)
@scheduled_events = Event.are_scheduled?
@completed_events = Event.are_completed?
@assigned_events = Event.where(status: 'Vehicles Assigned')
@date = params[:date] ? Date.parse(params[:date]) : Date.today
@events_by_date = Event.group('events.id').group_by(&:date)
@set_completed_events.all.each do |event|
event.set_checklists_completed
end
@set_completed_events.all.each(&:set_checklists_completed)
end

def next_month_calendar
Expand Down Expand Up @@ -213,6 +213,9 @@ def set_defects
end

def event_params
params.require(:event).permit(:date, :event_mileage, :location, :event_time, :duration, :end_date, :duration_word, :event_type, :multi_day, :est_mileage, :customers, :calc_mileage, :shares, :class_type, :number, :status, vehicle_ids: [])
params.require(:event).permit(:date, :event_mileage, :location, :event_time,
:duration, :end_date, :duration_word, :event_type,
:multi_day, :est_mileage, :customers, :calc_mileage,
:shares, :class_type, :defects_reported, :number, :status, vehicle_ids: [])
end
end
70 changes: 9 additions & 61 deletions app/controllers/requests_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@ class RequestsController < ApplicationController
before_action :authenticate_user!
before_action :set_request, only: %i[show edit update destroy]
before_action :set_vehicle, only: %i[index show edit new]
before_action :set_services, only: %i[show index new edit a_service
shock_service air_filter_service
defects repairs completed_requests in_progress]
before_action :check_quant, only: [:show]

def index
Expand Down Expand Up @@ -113,7 +110,7 @@ def dashboard

def create_work_order
@other_service = Program.find_by(name: 'Other Service')
@request = Request.create(status: 'New', program_id: @other_service.id, vehicle_id: params[:id],
@request = Request.create(status: 'New', program_id: @other_service.id, vehicle_id: params[:id],
description: '****** Please fill this in ******', completion_date: Date.current,
creator: current_user.name, request_mileage: Vehicle.find(params[:id].mileage))
if @request.save
Expand Down Expand Up @@ -185,48 +182,13 @@ def new
end

def edit
@defects = Vehicle.find(@request.vehicle.id).defects
@q = Part.ransack(params[:q])
@parts = @q.result.page(params[:page])
end

def update_service_mileage(request)
@a_service = Program.a_service
@shock_service = Program.shock_service
@air_filter_service = Program.air_filter_service
@tour_car_prep = Program.tour_car_prep
@repairs = Program.repairs
@defects = Program.defect

vehicle = request.vehicle
@veh_mileage = request.vehicle.mileage
if request.program_id == @a_service.id && request.status == 'Completed'
request.vehicle.update(last_a_service: @veh_mileage)
elsif request.program_id == @shock_service.id && request.status == 'Completed'
request.vehicle.update(last_shock_service: @veh_mileage)
elsif request.program_id == @air_filter_service.id && request.status == 'Completed'
request.vehicle.update(last_air_filter_service: @veh_mileage)
elsif request.program_id == @repairs.id && request.status == 'Completed'
vehicle.update(repair_needed: false, needs_service: false, vehicle_status: 'In-Service')
elsif request.program_id == @tour_car_prep.id && request.status == 'Completed'
vehicle.update(prep: false, needs_service: false, vehicle_status: 'In-Service')
elsif request.program_id == @defects.id && request.status == 'Completed'
vehicle.update(defect: false, needs_service: false, vehicle_status: 'In-Service')
defect_email request
end
end

def defect_email(request)
if request.users.exists?
defect_emails = []
request.users.all.each do |user|
defect_emails << user.email
end
UserMailer.new_request_email(defect_emails, request).deliver_now
end
end

def request_email(request)
unless @request.program_id == @defects.id && @request.status == 'Completed'

def request_email(_request)
unless @request.defect? && @request.completed?
if @request.users.exists?
emails = []
@request.users.all.each do |user|
Expand All @@ -239,18 +201,11 @@ def request_email(request)

def create
@request = Request.new(request_params)
@a_service = Program.a_service
@shock_service = Program.shock_service
@air_filter_service = Program.air_filter_service
@tour_car_prep = Program.tour_car_prep
@repairs = Program.repairs
@defects = Program.defect

respond_to do |format|
if @request.save
vehicle = @request.vehicle
@request.update(request_mileage: vehicle.mileage)
update_service_mileage @request
request_email @request
format.html { redirect_to @request, notice: 'Work Order was successfully created.' }
format.json { render :show, status: :created, location: @request }
Expand All @@ -271,7 +226,6 @@ def update
@defects = Program.defect
respond_to do |format|
if @request.update(request_params)
update_service_mileage @request
if @request.users.exists? && @request.status == 'New'
emails = []
@request.users.all.each do |user|
Expand Down Expand Up @@ -317,16 +271,10 @@ def set_vehicle
@vehicles = Vehicle.all
end

def set_services
@a_service = Program.find_by(name: 'A-Service')
@shock_service = Program.find_by(name: 'Shock Service')
@air_filter_service = Program.find_by(name: 'Air Filter Change')
@repairs = Program.find_by(name: 'Repairs')
@defects = Program.find_by(name: 'Defect')
@tour_car_prep = Program.find_by(name: 'Tour Car Prep')
end

def request_params
params.require(:request).permit(:number, :description, :special_requets, :completion_date, :completed_date, :poc, :checklist_numb, :creator, :vehicle_id, :status, :image, :creator, :request_mileage, :program_id, part_ids: [], user_ids: [])
params.require(:request).permit(:number, :description, :special_requets, :completion_date,
:completed_date, :poc, :checklist_numb, :creator, :vehicle_id,
:status, :image, :creator, :request_mileage, :program_id,
part_ids: [], user_ids: [], defect_ids: [])
end
end
47 changes: 20 additions & 27 deletions app/controllers/vehicle_rotation.rb
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,9 @@ def vehicle_rotation
unless vehicle.last_a_service.nil?
vehicle.update(near_a_service_mileage: (vehicle.a_service_interval - (vehicle.mileage - vehicle.last_a_service)))
x = vehicle.near_a_service_mileage
case
when x <= 0
if x <= 0
vehicle.update(use_b: true, use_a: false, dont_use_a_service: true)
when x <= @set_a_service.threshold_numb
elsif x <= @set_a_service.threshold_numb
vehicle.update(use_near_service: true, dont_use_a_service: false)
else
vehicle.update(dont_use_a_service: false)
Expand All @@ -49,10 +48,9 @@ def vehicle_rotation
unless vehicle.last_shock_service.nil?
vehicle.update(near_shock_service_mileage: (vehicle.shock_service_interval - (vehicle.mileage - vehicle.last_shock_service)))
y = vehicle.near_shock_service_mileage
case
when y < 0
if y < 0
vehicle.update(use_b: true, use_a: false, dont_use_shock_service: true)
when y <= @set_shock_service.threshold_numb
elsif y <= @set_shock_service.threshold_numb
vehicle.update(use_near_service: true, dont_use_shock_service: false)
else
vehicle.update(dont_use_shock_service: false)
Expand All @@ -62,10 +60,9 @@ def vehicle_rotation
unless vehicle.last_air_filter_service.nil?
vehicle.update(near_air_filter_service_mileage: (vehicle.air_filter_service_interval - (vehicle.mileage - vehicle.last_air_filter_service)))
z = vehicle.near_air_filter_service_mileage
case
when z < 0
if z < 0
vehicle.update(use_b: true, use_a: false, dont_use_air_filter_service: true)
when z <= @set_air_filter_service.threshold_numb
elsif z <= @set_air_filter_service.threshold_numb
vehicle.update(use_near_service: true, dont_use_air_filter_service: false)
else
vehicle.update(dont_use_air_filter_service: false)
Expand Down Expand Up @@ -96,7 +93,7 @@ def vehicle_rotation
format.html
format.xls
format.pdf do
render pdf: "Vehicle Rotation for #{Time.now.strftime('%D')}", layout: 'pdf.pdf.erb', title: "Vehicle Rotation for #{Time.now.strftime('%D')}"
render pdf: "Vehicle Rotation for #{Time.now.strftime('%D')}", layout: 'pdf.pdf.erb', title: "Vehicle Rotation for #{Time.now.strftime('%D')}"
end
end
end
Expand All @@ -118,10 +115,9 @@ def mileage_calculation
unless vehicle.last_a_service.nil?
vehicle.update(near_a_service_mileage: (vehicle.a_service_interval - (vehicle.mileage - vehicle.last_a_service)))
x = vehicle.near_a_service_mileage
case
when x < 0
if x < 0
vehicle.update(needs_service: true, a_service: true)
when x <= @set_a_service.threshold_numb
elsif x <= @set_a_service.threshold_numb
vehicle.update(near_service: true)
else
vehicle.update(needs_service: false, a_service: false, near_service: false)
Expand All @@ -130,26 +126,23 @@ def mileage_calculation
unless vehicle.last_shock_service.nil?
vehicle.update(near_shock_service_mileage: (vehicle.shock_service_interval - (vehicle.mileage - vehicle.last_shock_service)))
y = vehicle.near_shock_service_mileage
case
when y < 0
if y < 0
vehicle.update(needs_service: true, shock_service: true)
when y <= @set_shock_service.threshold_numb
elsif y <= @set_shock_service.threshold_numb
vehicle.update(near_service: true)
else
vehicle.update(needs_service: false, shock_service: false, near_service: false)
end
end
unless vehicle.last_air_filter_service.nil?
vehicle.update(near_air_filter_service_mileage: (vehicle.air_filter_service_interval - (vehicle.mileage - vehicle.last_air_filter_service)))
z = vehicle.near_air_filter_service_mileage
case
when z < 0
vehicle.update(needs_service: true, air_filter_service: true)
when z <= @set_air_filter_service.threshold_numb
vehicle.update(near_service: true)
else
vehicle.update(needs_service: false, air_filter_service: false, near_service: false)
end
next if vehicle.last_air_filter_service.nil?
vehicle.update(near_air_filter_service_mileage: (vehicle.air_filter_service_interval - (vehicle.mileage - vehicle.last_air_filter_service)))
z = vehicle.near_air_filter_service_mileage
if z < 0
vehicle.update(needs_service: true, air_filter_service: true)
elsif z <= @set_air_filter_service.threshold_numb
vehicle.update(near_service: true)
else
vehicle.update(needs_service: false, air_filter_service: false, near_service: false)
end
end
end
Expand Down
Loading

0 comments on commit 77bcef9

Please sign in to comment.