On Saturday I worked on the excel generation. Grade remarks — uses GradeRemark::all() so transmutation matches the PDF/getTransmutedGrade() behavior. Student row columns Total score: raw score per component (rounded, like PDF) 100 column: percentage (score / perfect) * 100 Weight % column: weighted contribution per component TG / FG: same tentative and transmuted grades as the PDF.
Accomplishments
Grade remarks — uses GradeRemark::all() so transmutation matches the PDF/getTransmutedGrade() behavior.
Student row columns Total score: raw score per component (rounded, like PDF) 100 column: percentage (score / perfect) * 100 Weight % column: weighted contribution per component TG / FG: same tentative and transmuted grades as the PDF.
Maintenance
1 commit
Updated the new helper: computestudentclassrecordgrades() — mirrors the PDF logic: skips components with zero perfect score per component: (total score total perfect score) * component weight special case when class component category id == 5 and only one active component: (total score total perfect score) * 100 * component weight TG (tentative grade): round(sum, updated the 2) or '-' FG (final grade): uses gettransmutedgrade() like the PDF component query — now includes class component category id, updated the orders by created at, updated the and selects bonus points (aligned with PDF data), updated the grade remarks — uses graderemark::all() so transmutation matches the PDF gettransmutedgrade() behavior, updated the student row columns total score: raw score per component (rounded, and updated the like pdf) 100 column: percentage (score perfect) * 100 weight % column: weighted contribution per component TG fg: same tentative and transmuted grades as the PDF for the fixed excel generation.
+97 · -45
Comments
No comments yet. Be the first to leave a note.
Public report for Wendel Luche - Fullstack Developer. Generated Oct 13, 2026, 5:49 AM.