{# Template For PG Students In SCCZ - Consolidated Tabulation Register (CBCS) #}
<style>
    td, th { padding: 3px; }
    body{
        font-family: \"Times New Roman\", Times, serif;
    }
    .markTab{
        width:100%;
        margin:10px auto;
        font-size: 13px;
        padding:0;
        text-align:center;
        border-collapse: collapse;
    }
    .markTab td{
        margin: 0;
        font-size: 9px;
        padding:2px;
        color: #000;
        text-align: center;
        border-collapse: collapse;
        white-space: nowrap;
    }
    .tr-data th{
        font-size: 9px;
        color: #000;
        text-align: center;
        vertical-align: middle;
        border-collapse: collapse;
        white-space: nowrap;
    }
    thead { display: table-header-group; }
    tfoot { display: table-footer-group; }
    tr { page-break-inside: avoid; }
</style>
<div class="page" style="width:100%;">

{% set subjectGroupList = data.examRegistrationData.subjectGroups %}
{% set subjectCount = subjectGroupList|length %}
{% set semCount = data.examRegistrationData.semesters|length %}
{% set totalColumns = 18 + (subjectCount * 9) + (semCount * 2) %}

<table class="markTab" border="0" cellpadding="0" cellspacing="0">
    <tr>
        <td colspan="{{totalColumns}}" style="text-align:center;" data-a-h="center" data-f-bold="true">
            <b style="font-size:20px;">{{data.collegeData.collegeName}}</b><br />
            <b style="font-size:14px;">{{data.collegeData.collegeAddress}}</b>
        </td>
    </tr>
    <tr>
        <td colspan="{{totalColumns}}" style="text-align:center;" data-a-h="center" data-f-bold="true">
            <b style="font-size:15px;">{{data.examRegistrationData.programName}}</b><br />
            <b style="font-size:14px;">{{data.examRegistrationData.semInRomanLetter}} SEMESTER EXAMINATION {{ data.examRegistrationData.examMonthName|upper }} {{data.examRegistrationData.examYear}}</b><br />
            <b style="font-size:13px;">NEP 2020</b>
        </td>
    </tr>
</table>
<table class="markTab tr-data" border="1" cellpadding="0" cellspacing="0">
    <thead>
        <tr>
            <th rowspan="2" data-f-bold="true" data-a-h="center">Sl. No.</th>
            <th rowspan="2" data-f-bold="true" data-a-h="center">Roll No.</th>
            <th rowspan="2" data-f-bold="true" data-a-h="center">Registration No.</th>
            <th rowspan="2" data-f-bold="true" data-a-h="center">Name</th>
            <th rowspan="2" data-f-bold="true" data-a-h="center" data-a-text-rotation="90"><svg width="18" height="90"><text x="9" y="45" transform="rotate(-90, 9, 45)" font-size="10" font-family="Times New Roman, Times, serif" text-anchor="middle" dominant-baseline="middle" font-weight="bold" fill="#000000">Category</text></svg></th>
            <th rowspan="2" data-f-bold="true" data-a-h="center" data-a-text-rotation="90"><svg width="18" height="40"><text x="9" y="20" transform="rotate(-90, 9, 20)" font-size="10" font-family="Times New Roman, Times, serif" text-anchor="middle" dominant-baseline="middle" font-weight="bold" fill="#000000">Sex</text></svg></th>
            <th rowspan="2" data-f-bold="true" data-a-h="center">Name of Centre</th>
            <th rowspan="2" colspan="{{subjectCount * 2}}" data-f-bold="true" data-a-h="center">COURSE CODE &amp; TITLE</th>
            <th rowspan="2" data-f-bold="true" data-a-h="center" data-a-text-rotation="90"><svg width="18" height="90"><text x="9" y="45" transform="rotate(-90, 9, 45)" font-size="10" font-family="Times New Roman, Times, serif" text-anchor="middle" dominant-baseline="middle" font-weight="bold" fill="#000000">FIC. NO.</text></svg></th>
            {% for displaySubject in subjectGroupList %}
                <th colspan="7" data-f-bold="true" data-a-h="center">{% if displaySubject.isGrouped %}{{displaySubject.groupCodes}}{% else %}{{displaySubject.code}}{% endif %}</th>
            {% endfor %}
            <th rowspan="2" data-f-bold="true" data-a-h="center">Credit {{data.examRegistrationData.semInRomanLetter}} Sem</th>
            <th rowspan="2" data-f-bold="true" data-a-h="center">Credit Point<br />{{data.examRegistrationData.semInRomanLetter}} Sem</th>
            <th rowspan="2" data-f-bold="true" data-a-h="center" data-a-text-rotation="90"><svg width="18" height="55"><text x="9" y="27" transform="rotate(-90, 9, 27)" font-size="10" font-family="Times New Roman, Times, serif" text-anchor="middle" dominant-baseline="middle" font-weight="bold" fill="#000000">SGPA</text></svg></th>
            <th rowspan="2" data-f-bold="true" data-a-h="center">Semester Result</th>
            {% for semester in data.examRegistrationData.semesters|reverse %}
                <th colspan="2" data-f-bold="true" data-a-h="center">{{semester.semInRomanLetter}} SEM</th>
            {% endfor %}
            <th rowspan="2" data-f-bold="true" data-a-h="center">Total Credit</th>
            <th rowspan="2" data-f-bold="true" data-a-h="center">Total Credit Point</th>
            <th rowspan="2" data-f-bold="true" data-a-h="center" data-a-text-rotation="90"><svg width="18" height="55"><text x="9" y="27" transform="rotate(-90, 9, 27)" font-size="10" font-family="Times New Roman, Times, serif" text-anchor="middle" dominant-baseline="middle" font-weight="bold" fill="#000000">CGPA</text></svg></th>
            <th rowspan="2" data-f-bold="true" data-a-h="center">Final<br />Result</th>
            <th rowspan="2" data-f-bold="true" data-a-h="center" data-a-text-rotation="90"><svg width="18" height="90"><text x="9" y="45" transform="rotate(-90, 9, 45)" font-size="10" font-family="Times New Roman, Times, serif" text-anchor="middle" dominant-baseline="middle" font-weight="bold" fill="#000000">Position</text></svg></th>
            <th rowspan="2" data-f-bold="true" data-a-h="center">Remarks</th>
        </tr>
        <tr>
            {% for displaySubject in subjectGroupList %}
                <th data-f-bold="true" data-a-h="center">IA<br />({{displaySubject.internalMaxMark}})</th>
                <th data-f-bold="true" data-a-h="center">TH<br />({{displaySubject.externalMaxMark}})</th>
                <th data-f-bold="true" data-a-h="center">TL<br />({{displaySubject.internalMaxMark + displaySubject.externalMaxMark}})</th>
                <th data-f-bold="true" data-a-h="center">CR</th>
                <th data-f-bold="true" data-a-h="center">LG</th>
                <th data-f-bold="true" data-a-h="center">GP</th>
                <th data-f-bold="true" data-a-h="center">CP</th>
            {% endfor %}
            {% for semester in data.examRegistrationData.semesters|reverse %}
                <th data-f-bold="true" data-a-h="center">Credit</th>
                <th data-f-bold="true" data-a-h="center">Credit Point</th>
            {% endfor %}
        </tr>
    </thead>
    <tbody>
        {% set slno = 0 %}
        {% for student in data.studentData %}
        {% for academicTerm in student.academicTerms %}
            {% set slno = slno + 1 %}
            <tr>
                <td data-t="n" data-a-h="center">{{slno}}</td>
                <td data-a-h="center">{{student.rollNo}}</td>
                <td data-a-h="center">{{student.registerNo}}</td>
                <td style="text-align:left;" data-a-h="left">{{student.name}}</td>
                <td data-a-h="center">{{student.category}}</td>
                <td data-a-h="center">{{student.gender|slice(0,1)}}</td>
                <td data-a-h="center">{{data.collegeData.collegeName}}</td>
                {% for displaySubject in subjectGroupList %}
                    {% set matchedSubject = null %}
                    {% for subject in academicTerm.subjects %}
                        {% set isMember = subject.id in displaySubject.academicPaperSubjectIds %}
                        {% if isMember %}
                            {% set matchedSubject = subject %}
                        {% endif %}
                    {% endfor %}
                    <td data-a-h="center">{{matchedSubject ? matchedSubject.code : '-'}}</td>
                    <td style="text-align:left; white-space:normal;" data-a-h="left">{{matchedSubject ? matchedSubject.name : '-'}}</td>
                {% endfor %}
                <td data-a-h="center">{{student.folioNumber}}</td>
                {% for displaySubject in subjectGroupList %}
                    {% set matchedSubject = null %}
                    {% for subject in academicTerm.subjects %}
                        {% set isMember = subject.id in displaySubject.academicPaperSubjectIds %}
                        {% if isMember %}
                            {% set matchedSubject = subject %}
                        {% endif %}
                    {% endfor %}
                    {% if matchedSubject %}
                        <td data-a-h="center">{{ matchedSubject.isInternal == '1' ? matchedSubject.internalMark : '-' }}</td>
                        <td data-a-h="center">
                            {% if matchedSubject.isExternal == '1' %}
                                {% if matchedSubject.attendanceStatus == "PRESENT" %}
                                    {{ matchedSubject.externalMark }}
                                {% elseif matchedSubject.attendanceStatus == "MAL" %}
                                    <span style="color:red;">MAL</span>
                                {% else %}
                                    <span style="color:red;">A</span>
                                {% endif %}
                            {% else %}
                                -
                            {% endif %}
                        </td>
                        {% set failCellStyle = matchedSubject.failedStatus != 'PASSED' ? 'background-color:#ffff00;' : '' %}
                        <td style="{{failCellStyle}}" data-a-h="center" data-t="n">{{matchedSubject.markObtained}}</td>
                        <td style="{{failCellStyle}}" data-a-h="center" data-t="n">{{matchedSubject.credit}}</td>
                        <td style="{{failCellStyle}}" data-a-h="center">{{matchedSubject.grade}}</td>
                        <td style="{{failCellStyle}}" data-a-h="center" data-t="n">{{matchedSubject.gradePoint}}</td>
                        <td style="{{failCellStyle}}" data-a-h="center" data-t="n">{{matchedSubject.creditGradePoint}}</td>
                    {% else %}
                        <td data-a-h="center">*</td><td data-a-h="center">*</td><td data-a-h="center">*</td><td data-a-h="center">*</td><td data-a-h="center">*</td><td data-a-h="center">*</td><td data-a-h="center">*</td>
                    {% endif %}
                {% endfor %}
                <td data-a-h="center" data-t="n">{{academicTerm.semesterCredit}}</td>
                <td data-a-h="center" data-t="n">{{academicTerm.semesterCreditGradePoint}}</td>
                <td data-a-h="center" data-t="n">{{academicTerm.semesterSgpa}}</td>
                <td data-a-h="center">
                    {% if academicTerm.failedStatus == 'PASSED' %}
                        PASS
                    {% else %}
                        {% set failedCodes = "" %}
                        {% for subject in academicTerm.subjects %}
                            {% if subject.failedStatus != 'PASSED' %}
                                {% set failedCodes = failedCodes ~ (failedCodes != "" ? "," : "") ~ (subject.code|split('-')|last) %}
                            {% endif %}
                        {% endfor %}
                        R-{{failedCodes}}
                    {% endif %}
                </td>
                {% set totalCredit = academicTerm.semesterCredit %}
                {% set totalCreditPoint = academicTerm.semesterCreditGradePoint %}
                {% for semester in data.examRegistrationData.semesters|reverse %}
                    {% set matchedSem = null %}
                    {% for otherAcademicTerm in student.otherAcademicTerms %}
                        {% if otherAcademicTerm.id == semester.id %}
                            {% set matchedSem = otherAcademicTerm %}
                        {% endif %}
                    {% endfor %}
                    {% if matchedSem %}
                        <td data-a-h="center" data-t="n">{{matchedSem.semesterCredit}}</td>
                        <td data-a-h="center" data-t="n">{{matchedSem.semesterCreditGradePoint}}</td>
                        {% set totalCredit = totalCredit + matchedSem.semesterCredit %}
                        {% set totalCreditPoint = totalCreditPoint + matchedSem.semesterCreditGradePoint %}
                    {% else %}
                        <td data-a-h="center">-</td>
                        <td data-a-h="center">-</td>
                    {% endif %}
                {% endfor %}
                <td data-a-h="center" data-t="n">{{totalCredit}}</td>
                <td data-a-h="center" data-t="n">{{totalCreditPoint}}</td>
                <td data-a-h="center" data-t="n">{{student.cgpa}}</td>
                <td data-a-h="center">PASS</td>
                <td data-a-h="center">{{student.position}}</td>
                <td data-a-h="center"></td>
            </tr>
        {% endfor %}
        {% endfor %}
    </tbody>
</table>

{# signature placeholders #}
<table style="width: 100%; margin-top: 5%; font-size: 16px;">
    <tr>
        <td style="width: 50%; text-align: center;">
            <b> Controller of Examinations  </b>
        </td>
        <td style="width: 50%; text-align: center;">
            <b> Principal </b>
        </td>
    </tr>
</table>

</div>
