Guest User

Untitled

a guest
Jan 18th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.63 KB | None | 0 0
  1. class Goal < ActiveRecord::Base
  2. belongs_to :management_plan
  3. has_many :objectives, :dependent => :destroy
  4. accepts_nested_attributes_for :objectives
  5. default_scope :order => 'id ASC'
  6.  
  7. def percentages
  8. a = []
  9. ActionStatus.order('id ASC').each do |as|
  10. a << [self.objectives.joins(:strategies => {:plan_actions => :plan_action_progresses}).where("plan_action_progresses.action_status_id = #{as.id}").sum("plan_action_progresses.percentage").to_f / self.objectives.joins(:strategies => {:plan_actions => :plan_action_progresses}).where("plan_action_progresses.action_status_id = #{as.id}").count.to_f]
  11. end
  12. a
  13. end
  14. end
  15.  
  16. class Objective < ActiveRecord::Base
  17. belongs_to :goal
  18. has_many :strategies, :dependent => :destroy
  19. accepts_nested_attributes_for :strategies
  20. default_scope :order => 'id ASC'
  21.  
  22. def percentages
  23. a = []
  24. ActionStatus.order('id ASC').each do |as|
  25. a << (self.strategies.joins(:plan_actions => :plan_action_progresses).where("plan_action_progresses.action_status_id = #{as.id}").sum("plan_action_progresses.percentage").to_f / self.strategies.joins(:plan_actions => :plan_action_progresses).where("plan_action_progresses.action_status_id = #{as.id}").count.to_f)
  26. end
  27. a
  28. end
  29. end
  30.  
  31. class Strategy < ActiveRecord::Base
  32. belongs_to :objective
  33. has_many :plan_actions
  34. has_many :unit_actions, :through => :plan_actions
  35. accepts_nested_attributes_for :plan_actions
  36. accepts_nested_attributes_for :unit_actions
  37. default_scope :order => 'id ASC'
  38.  
  39. def percentages
  40. a = []
  41. ActionStatus.order('id ASC').each do |as|
  42. a << (self.plan_actions.joins(:plan_action_progresses).where("plan_action_progresses.action_status_id = #{as.id}").sum("plan_action_progresses.percentage").to_f / self.plan_actions.joins(:plan_action_progresses).where("plan_action_progresses.action_status_id = #{as.id}").count.to_f)
  43. end
  44. a
  45. end
  46. end
  47.  
  48. class PlanAction < ActiveRecord::Base
  49. belongs_to :plan_period
  50. belongs_to :effort_level
  51. belongs_to :strategy
  52. has_many :unit_actions, :dependent => :destroy
  53. has_many :stewardship_units, :through => :unit_actions
  54. has_many :plan_action_progresses, :dependent => :destroy
  55. accepts_nested_attributes_for :unit_actions
  56. default_scope :order => 'id ASC'
  57.  
  58. def percentages
  59. a = []
  60. ActionStatus.order('id ASC').each do |as|
  61. a << (self.plan_action_progresses.where(:action_status_id => as.id).sum(pap) / self.plan_action_progresses.where(:action_status_id => as.id).count)
  62. end
  63. a
  64. end
  65. end
  66.  
  67. self.strategies.joins(:plan_actions => :plan_action_progresses).where("plan_action_progresses.action_status_id = #{as.id}").sum("plan_action_progresses.percentage").to_f
Add Comment
Please, Sign In to add comment