You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.6 KiB
49 lines
1.6 KiB
6 years ago
|
ec_year = @_current_year
|
||
|
|
||
|
json.reach_threshold ec_year.calculation_value
|
||
|
maximum_course_support_count = 0
|
||
|
|
||
|
json.graduation_requirements do
|
||
|
json.array! @graduation_requirements do |requirement|
|
||
|
json.extract! requirement, :id, :position
|
||
|
|
||
|
json.graduation_subitems do
|
||
|
json.array! requirement.ec_graduation_subitems do |subitem|
|
||
|
json.extract! subitem, :id, :position
|
||
|
|
||
|
reach_criteria_total = 0.0
|
||
|
actually_reach_total = 0.0
|
||
|
|
||
|
json.course_supports do
|
||
|
json.array! subitem.ec_course_supports do |support|
|
||
|
json.id support.id
|
||
|
|
||
|
json.course_id support.ec_course.id
|
||
|
json.course_name support.ec_course.name
|
||
|
|
||
|
reach_criteria = support.weights.to_f * ec_year.calculation_value.to_f
|
||
|
actually_reach = support.ec_graduation_requirement_calculation&.real_value.to_f
|
||
|
|
||
|
reach_criteria_total += reach_criteria
|
||
|
actually_reach_total += actually_reach
|
||
|
|
||
|
json.reach_criteria format('%.03f', reach_criteria)
|
||
|
json.actually_reach format('%.03f', actually_reach)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
json.reach_criteria format('%.03f', reach_criteria_total)
|
||
|
json.actually_reach format('%.03f', actually_reach_total)
|
||
|
|
||
|
size = subitem.ec_course_supports.size
|
||
|
maximum_course_support_count = size if size > maximum_course_support_count
|
||
|
json.course_support_count size
|
||
|
|
||
|
json.status actually_reach_total >= reach_criteria_total ? 'achieved' : 'not_achieved'
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
json.maximum_course_support_count maximum_course_support_count
|