diff --git a/Apollo/api/application/models/Hallticket_model.php b/Apollo/api/application/models/Hallticket_model.php
index 3c84b20c..7e5ddbd4 100755
--- a/Apollo/api/application/models/Hallticket_model.php
+++ b/Apollo/api/application/models/Hallticket_model.php
@@ -689,12 +689,12 @@ class Hallticket_model extends CI_Model
order by T_SemSubMap_Master.SemesterID";
$res = $this->db->query($sql,array($UID['universityID'],$courseID['CourseID'],$i,$branchId,$UID['universityID'],$courseID['CourseID'],$branchId));
//$id['FeeDetails'][$key2] = $res->result();
- $in[] = $res->result();
+ $in1[] = $res->result();
//array_push($id['FeeDetails'][$key2],$ind);
}
- array_splice($id['FeeDetails'][$key2],0,6,$in);
+ array_splice($id['FeeDetails'][$key2],0,6,$in1);
}
@@ -710,12 +710,12 @@ class Hallticket_model extends CI_Model
order by T_SemSubMap_Master.SemesterID";
$res = $this->db->query($sql,array($UID['universityID'],$courseID['CourseID'],$j,$branchId,$UID['universityID'],$courseID['CourseID'],$branchId));
//$id['FeeDetails'][$key2] = $res->result();
- $in[] = $res->result();
+ $in2[] = $res->result();
//array_push($id['FeeDetails'][$key2],$ind);
}
- array_splice($id['FeeDetails'][$key2],0,6,$in);
+ array_splice($id['FeeDetails'][$key2],0,6,$in2);
}
@@ -731,12 +731,12 @@ class Hallticket_model extends CI_Model
order by T_SemSubMap_Master.SemesterID";
$res = $this->db->query($sql,array($UID['universityID'],$courseID['CourseID'],$k,$branchId,$UID['universityID'],$courseID['CourseID'],$branchId));
//$id['FeeDetails'][$key2] = $res->result();
- $in[] = $res->result();
+ $in3[] = $res->result();
//array_push($id['FeeDetails'][$key2],$ind);
}
- array_splice($id['FeeDetails'][$key2],0,6,$in);
+ array_splice($id['FeeDetails'][$key2],0,6,$in3);
}
@@ -752,12 +752,12 @@ class Hallticket_model extends CI_Model
order by T_SemSubMap_Master.SemesterID";
$res = $this->db->query($sql,array($UID['universityID'],$courseID['CourseID'],$l,$branchId,$UID['universityID'],$courseID['CourseID'],$branchId));
//$id['FeeDetails'][$key2] = $res->result();
- $in[] = $res->result();
+ $in4[] = $res->result();
//array_push($id['FeeDetails'][$key2],$ind);
}
- array_splice($id['FeeDetails'][$key2],0,6,$in);
+ array_splice($id['FeeDetails'][$key2],0,6,$in4);
}
$studentIDs['NUMTYPE'] = 'YEAR';
diff --git a/Apollo/assets/js/controllers/generateHallTicketCtrl.js b/Apollo/assets/js/controllers/generateHallTicketCtrl.js
index 390f1415..6f2264a1 100755
--- a/Apollo/assets/js/controllers/generateHallTicketCtrl.js
+++ b/Apollo/assets/js/controllers/generateHallTicketCtrl.js
@@ -255,11 +255,12 @@ $scope.isLoaderTxt = "Loading...";
};
$http(dataForHallTicket).then(function (response) {
if (response.data.status==200 && response.data.hallTicketStatus) {
- // console.log(response.data);
+
$scope.pdfModel.universityDetails = response.data.hallTicketData.UniversityDetails;
+
$scope.pdfModel.studentDetails = response.data.hallTicketData.studentDetails;
//console.log('API');
- //console.log($scope.pdfModel.studentDetails.length);
+ //console.log($scope.pdfModel.studentDetails);
//console.log(response.data.hallTicketData.studentDetails.length);
$scope.pdfModel.batchDetails = $scope.myModel.batchName;
$scope.pdfModel.courseDetails = $scope.myModel.courseName;
@@ -310,36 +311,425 @@ $scope.isLoaderTxt = "Loading...";
// Controller for Hallticket Modal PDF
app.controller('HallTicketPDFCtrl', ["$scope", "$modalInstance", "pdfitems", function ($scope, $modalInstance, pdfitems) {
- // console.log(pdfitems);
+ //console.log(pdfitems);
$scope.localPdfUniverityDetails = pdfitems.universityDetails;
$scope.universityNamePDF = $scope.localPdfUniverityDetails[0].UniversityName;
$scope.universityAddressPDF = $scope.localPdfUniverityDetails[0].Address;
$scope.universityEmailPDF = $scope.localPdfUniverityDetails[0].EmailID;
+ $scope.universityLogoPDF = $scope.localPdfUniverityDetails[0].ProfilePicPath;
$scope.batchNamePDF = pdfitems.batchDetails.BatchName;
$scope.courseNamePDF = pdfitems.courseDetails.CourseName;
$scope.centerNamePDF = pdfitems.centerDetails.CenterName+''+ pdfitems.centerDetails.CenterAddress;
$scope.semDataTypePDF = pdfitems.semDataType;
+ //console.log($scope.semDataTypePDF);
//console.log($scope.universityNamePDF+'-'+$scope.localPdfUniverityDetails.UniversityName);
$scope.localPdfStudentDetails = pdfitems.studentDetails;
- $scope.printStudentDetails = function() {
-
-
-
-
-
- angular.forEach($scope.localPdfStudentDetails,function(value,key){
+ $scope.printStudentDetails = function(hallticket_type) {
+ //console.log('FUNCTION CALLED-'+hallticket_type);
+
+ angular.forEach($scope.localPdfStudentDetails,function(value,key){
+
- var tempID = '#export'+value.StudentID;
- var PDFName = value.Firstname+'-'+value.Lastname;
- kendo.drawing.drawDOM( $(tempID),{paperSize: "A4",margin: { top: "1cm", bottom: "1cm" ,left: "3cm",right:"3cm"},scale: 0.8,height: 500} ).then(function(group) {
+
+ if(value.StudentID)
+ {
+ //console.log("Total NO of Sem"+value.FeeDetails.length);
- kendo.drawing.pdf.saveAs(group, PDFName+".pdf");
- });
- });
-
- }
+ // var imgData = '';
+ // html2canvas($("#university_header").get(0)).then(function (canvas) {
+ // var imgData = canvas.toDataURL("image/jpeg");
+ // //var imgData = imgData.replace("png", "jpeg");
+ // console.log(imgData);
+ // // // document.getElementById('uh').setAttribute('src', imgData);
+
+ // });
+ if(hallticket_type == 'SEM' || hallticket_type == 'REG' || hallticket_type == 'LAT'){
+ // console.log('hallticket_type == '+hallticket_type);
+ var semlength = value.FeeDetails.length;
+ if(hallticket_type == 'REG' || hallticket_type == 'LAT')
+ {
+ semlength = 7;
+ }
+ var i = 0;
+ for(i = 0; i <= semlength;i=i+2)
+ {
+
+
+ //console.log('FOR'+i);
+ var fileName = "DEFAULT.pdf";
+ var margins = {
+ top: 70,
+ bottom: 40,
+ left: 30,
+ width: 550
+ };
+ var doc = new jsPDF('p', 'pt');
+ //convert img to base 64
+ var img = document.getElementById("logo")
+ var canvas = document.createElement("canvas");
+ canvas.width = 100;
+ canvas.height = 100;
+ var ctx = canvas.getContext("2d");
+ ctx.drawImage(img, 0, 0,100,100);
+ var dataURL = canvas.toDataURL("image/png");
+
+ //console.log('***'+dataURL);
+ //convert img to base 64
+
+
+ //convert img to base 64
+ var profile = document.getElementById("sprofile")
+ var canvas2 = document.createElement("canvas");
+ canvas2.width = 100;
+ canvas2.height = 100;
+ var ctx2 = canvas2.getContext("2d");
+ ctx2.drawImage(profile, 0, 0,100,100);
+ var profiledataURL = canvas2.toDataURL("image/png",1.0);
+ //convert img to base 64
+
+
+
+ var sem1 = "";
+ var sem2 = "";
+
+ var tableid = value.StudentID;
+
+ doc.autoTableSetDefaults({
+ styles: {cellPadding: 3.0, fontSize: 10},
+ headerStyles: {fillColor: [245, 245, 240], textColor: 0},
+
+ // columnStyles: {
+ // name: {fillColor: [245, 245, 240], textColor: 255, fontStyle: 'bold'}
+ // }
+ });
+
+ var firstTableID = tableid+i;
+ var SecTableID = (tableid+(i+1));
+
+ // console.log('iter-'+i+'ID-'+firstTableID+'-'+SecTableID);
+
+ if(document.getElementById(firstTableID))
+ {
+ // console.log(tableid+i);
+ var sem1 = doc.autoTableHtmlToJson(document.getElementById(firstTableID));
+ //console.log(sem1);
+ }
+
+ if(document.getElementById(SecTableID))
+ {
+ // console.log(tableid+(i+1));
+ var sem2 = doc.autoTableHtmlToJson(document.getElementById(SecTableID));
+ //console.log(sem2);
+ }
+
+ if(sem1 != "")
+ {
+ doc.autoTable(sem1.columns, sem1.data, {margin: {top: 170},theme:'grid'});
+ }
+
+
+ // var NewImage = new Image();
+ // NewImage.src = imgData;
+
+ var header = function(data) {
+ var examName = 'ADMIT CARD : '+$scope.courseNamePDF+' EXAMINATION ' +$scope.batchNamePDF;
+ var rollNo = 'Reg No : '+value.EnrollmentID;
+ var stuName = 'Name : '+value.Firstname+' '+value.Lastname;
+ var centerName = 'Centre : '+$scope.centerNamePDF;
+ if(hallticket_type == 'SEM' || hallticket_type == 'REG')
+ {
+ var semName = 'SEM'+(i+1)+'&'+(i+2);
+ }
+ else if(hallticket_type == 'LAT')
+ {
+ var semName = 'SEM'+(i+3)+'&'+(i+4);
+ }
+ fileName = value.EnrollmentID+'-'+value.Firstname+value.Lastname+$scope.courseNamePDF+semName+'.pdf';
+ doc.setDrawColor(0);
+ doc.setFillColor(245, 245, 240);
+ doc.rect(150, 30, 395, 60,'FD');
+ doc.setFontSize(12);
+ doc.setTextColor(40);
+ doc.setFontStyle('normal');
+ // doc.addImage(imgData, 'png', 100, 100, 100, 100);
+ doc.addImage(dataURL, 'jpeg', 75, 35, 50, 50);//university logo location
+ doc.addImage(profiledataURL, 'jpeg', 470, 100, 60, 60);//student profile location
+
+ doc.setFontSize(22);
+ doc.text(200,50,$scope.universityNamePDF);
+ doc.setFontSize(10);
+ doc.text(200,65,$scope.universityAddressPDF);
+ doc.setFontSize(10);
+ doc.text(200,80,$scope.universityEmailPDF);
+
+ doc.rect(45, 100, 400, 60);
+ doc.rect(445, 100, 100, 60);
+ doc.line(45, 125, 445, 125);
+ doc.setFontSize(10);
+ doc.setFontType("bold");
+ doc.text(110,115,examName);
+
+ doc.setFontType("normal");
+ doc.text(70,140,rollNo);
+ doc.text(280,140,stuName);
+ doc.text(70,155,centerName);
+
+ //footer content
+ var footerNote1 ="Note : 1. Without Identification Card Candidates shallnot Allowed to write for examination.";
+ var footerNote2 ="2. For further instructions refer to the facing sheet of the Answer book before writting examination.";
+ var footerNote3 ="3. Carrying Mobile phone to the examination hall is strictly prohibited.";
+ var footerNote4 ="4. Attend the examintaion as per mentioned above.";
+ var footerNote_student_sign ="Signature of the Student";
+ var footerNote_controller_sign ="Controller of Examination";
+ doc.setFontSize(8);
+ doc.text(40,doc.internal.pageSize.height - 150,footerNote1);
+ doc.text(70,doc.internal.pageSize.height - 140,footerNote2);
+ doc.text(70,doc.internal.pageSize.height - 130,footerNote3);
+ doc.text(70,doc.internal.pageSize.height - 120,footerNote4);
+ doc.text(40,doc.internal.pageSize.height - 50,footerNote_student_sign);
+ doc.text(450,doc.internal.pageSize.height - 50,footerNote_controller_sign);
+
+ };
+
+ // var header = document.querySelector('.header');
+
+ var options = {
+ addPageContent: header,
+
+ margin: {
+ top: 100
+ },
+ startY: doc.autoTableEndPosY() + 20,
+ theme :'grid'
+
+ };
+
+
+ if(sem2 != "")
+ {
+ doc.autoTable(sem2.columns, sem2.data, options);
+
+ }
+ // console.log('For END'+i);
+
+ if(sem2 != "" || sem1 != "")
+ {
+ doc.save(fileName);
+ }
+ // console.log('PDF DONE');
+
+ }//End of semlength for loop
+
+ }//END OF SEM HALL TICKET TYPE
+
+ else if(hallticket_type == 'YEAR')
+ {
+ //console.log('hallticket_type == '+hallticket_type);
+ var semlength = value.FeeDetails.length;
+ var i = 0;
+ for(i = 0; i <= semlength;i++)
+ {
+
+
+ // console.log('FOR'+i);
+ var fileName = "DEFAULT.pdf";
+ var semName = 'DEFAULT_SEM';
+ var margins = {
+ top: 70,
+ bottom: 40,
+ left: 30,
+ width: 550
+ };
+ var doc = new jsPDF('p', 'pt');
+ //convert img to base 64
+ var img = document.getElementById("logo")
+ var canvas = document.createElement("canvas");
+ canvas.width = 100;
+ canvas.height = 100;
+ var ctx = canvas.getContext("2d");
+ ctx.drawImage(img, 0, 0,100,100);
+ var dataURL = canvas.toDataURL("image/png");
+
+ //console.log('***'+dataURL);
+ //convert img to base 64
+
+
+ //convert img to base 64
+ var profile = document.getElementById("sprofile")
+ var canvas2 = document.createElement("canvas");
+ canvas2.width = 100;
+ canvas2.height = 100;
+ var ctx2 = canvas2.getContext("2d");
+ ctx2.drawImage(profile, 0, 0,100,100);
+ var profiledataURL = canvas2.toDataURL("image/png",1.0);
+ //convert img to base 64
+
+
+
+ var sem1 = "";
+ var sem2 = "";
+
+ var tableid = value.StudentID;
+
+ doc.autoTableSetDefaults({
+ styles: {cellPadding: 3.0, fontSize: 10},
+ headerStyles: {fillColor: [245, 245, 240], textColor: 0},
+
+ // columnStyles: {
+ // name: {fillColor: [245, 245, 240], textColor: 255, fontStyle: 'bold'}
+ // }
+ });
+
+ var firstTableID = "0";
+ var SecTableID = "1";
+ switch(i)
+ {
+ case 0:
+ var firstTableID = tableid+'year10';
+ var SecTableID = tableid+'year11';
+ semName = 'YEAR1';
+ //console.log(firstTableID+'-'+SecTableID);
+ break;
+
+ case 1:
+ var firstTableID = tableid+'year20';
+ var SecTableID = tableid+'year21';
+ semName = 'YEAR2';
+ //console.log(firstTableID+'-'+SecTableID);
+ break;
+
+ case 2:
+ var firstTableID = tableid+'year30';
+ var SecTableID = tableid+'year31';
+ semName = 'YEAR3';
+ //console.log(firstTableID+'-'+SecTableID);
+ break;
+
+ case 4:
+ var firstTableID = tableid+'year40';
+ var SecTableID = tableid+'year41';
+ semName = 'YEAR4';
+ //console.log(firstTableID+'-'+SecTableID);
+ break;
+
+ }
+
+ // console.log('iter-'+i+'ID-'+firstTableID+'-'+SecTableID);
+
+ if(document.getElementById(firstTableID))
+ {
+ // console.log(tableid+i);
+ var sem1 = doc.autoTableHtmlToJson(document.getElementById(firstTableID));
+ //console.log(sem1);
+ }
+
+ if(document.getElementById(SecTableID))
+ {
+ // console.log(tableid+(i+1));
+ var sem2 = doc.autoTableHtmlToJson(document.getElementById(SecTableID));
+ //console.log(sem2);
+ }
+
+ if(sem1 != "")
+ {
+ doc.autoTable(sem1.columns, sem1.data, {margin: {top: 170},theme:'grid'});
+ }
+
+
+ // var NewImage = new Image();
+ // NewImage.src = imgData;
+
+ var header = function(data) {
+ var examName = 'ADMIT CARD : '+$scope.courseNamePDF+' EXAMINATION ' +$scope.batchNamePDF;
+ var rollNo = 'Reg No : '+value.EnrollmentID;
+ var stuName = 'Name : '+value.Firstname+' '+value.Lastname;
+ var centerName = 'Centre : '+$scope.centerNamePDF;
+
+ fileName = value.EnrollmentID+'-'+value.Firstname+value.Lastname+$scope.courseNamePDF+semName+'.pdf';
+ doc.setDrawColor(0);
+ doc.setFillColor(245, 245, 240);
+ doc.rect(150, 30, 395, 60,'FD');
+ doc.setFontSize(12);
+ doc.setTextColor(40);
+ doc.setFontStyle('normal');
+ // doc.addImage(imgData, 'png', 100, 100, 100, 100);
+ doc.addImage(dataURL, 'jpeg', 75, 35, 50, 50);//university logo location
+ doc.addImage(profiledataURL, 'jpeg', 470, 100, 60, 60);//student profile location
+
+ doc.setFontSize(22);
+ doc.text(200,50,$scope.universityNamePDF);
+ doc.setFontSize(10);
+ doc.text(200,65,$scope.universityAddressPDF);
+ doc.setFontSize(10);
+ doc.text(200,80,$scope.universityEmailPDF);
+
+ doc.rect(45, 100, 400, 60);
+ doc.rect(445, 100, 100, 60);
+ doc.line(45, 125, 445, 125);
+ doc.setFontSize(10);
+ doc.setFontType("bold");
+ doc.text(110,115,examName);
+
+ doc.setFontType("normal");
+ doc.text(70,140,rollNo);
+ doc.text(280,140,stuName);
+ doc.text(70,155,centerName);
+
+ //footer content
+ var footerNote1 ="Note : 1. Without Identification Card Candidates shallnot Allowed to write for examination.";
+ var footerNote2 ="2. For further instructions refer to the facing sheet of the Answer book before writting examination.";
+ var footerNote3 ="3. Carrying Mobile phone to the examination hall is strictly prohibited.";
+ var footerNote4 ="4. Attend the examintaion as per mentioned above.";
+ var footerNote_student_sign ="Signature of the Student";
+ var footerNote_controller_sign ="Controller of Examination";
+ doc.setFontSize(8);
+ doc.text(40,doc.internal.pageSize.height - 150,footerNote1);
+ doc.text(70,doc.internal.pageSize.height - 140,footerNote2);
+ doc.text(70,doc.internal.pageSize.height - 130,footerNote3);
+ doc.text(70,doc.internal.pageSize.height - 120,footerNote4);
+ doc.text(40,doc.internal.pageSize.height - 50,footerNote_student_sign);
+ doc.text(450,doc.internal.pageSize.height - 50,footerNote_controller_sign);
+
+ };
+
+ // var header = document.querySelector('.header');
+
+ var options = {
+ addPageContent: header,
+
+ margin: {
+ top: 100
+ },
+ startY: doc.autoTableEndPosY() + 20,
+ theme :'grid'
+
+ };
+
+
+ if(sem2 != "")
+ {
+ doc.autoTable(sem2.columns, sem2.data, options);
+
+ }
+ //console.log('For END'+i);
+
+ if(sem2 != "" || sem1 != "")
+ {
+ doc.save(fileName);
+ }
+ // console.log('PDF DONE');
+
+ }//End of semlength for loop
+
+ }//END OF YEAR HALL TICKET TYPE
+ }// END of studentID Check
+
+
+ });//END of For Each
+}
+
$scope.ok = function () {
$modalInstance.close($scope.selected.item);
diff --git a/Apollo/assets/views/hallticket/hallTicketPDF.html b/Apollo/assets/views/hallticket/hallTicketPDF.html
index 120cd44c..28519403 100644
--- a/Apollo/assets/views/hallticket/hallTicketPDF.html
+++ b/Apollo/assets/views/hallticket/hallTicketPDF.html
@@ -1,163 +1,164 @@
-
-
-
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+ | sem/year | Subject Code | Subject Name | Date | Time | Invigi.sign |
+
+
+
+
+ | 0{{sub.SemesterID}} | {{sub.SubjectCode}} | {{sub.SubjectName}} | {{sub.ScheduleDate | date: "dd-MM-y" }} | {{sub.FromTime}} - {{sub.ToTime}} | |
+
+
+
+
+
+
+
+
+
+
+
+
+ | sem/year | Subject Code | Subject Name | Date | Time | Invigi.sign |
+
+
+
+
+ | 0{{sub.SemesterID}} | 0{{sub.SemesterID-1}} | {{sub.SubjectCode}} | {{sub.SubjectName}} | {{sub.ScheduleDate | date: "dd-MM-y" }} | {{sub.FromTime}} - {{sub.ToTime}} | |
+
+
+
+
+
+
+
+
+
+
+
+ | sem/year | Subject Code | Subject Name | Date | Time | Invigi.sign |
+
+
+
+
+ | 0{{sub.SemesterID-1}} | 0{{sub.SemesterID-2}} | {{sub.SubjectCode}} | {{sub.SubjectName}} | {{sub.ScheduleDate | date: "dd-MM-y" }} | {{sub.FromTime}} - {{sub.ToTime}} | |
+
+
+
+
+
+
+
+
+
+
+
+ | sem/year | Subject Code | Subject Name | Date | Time | Invigi.sign |
+
+
+
+
+ | 0{{sub.SemesterID-2}} | 0{{sub.SemesterID-3}} | {{sub.SubjectCode}} | {{sub.SubjectName}} | {{sub.ScheduleDate | date: "dd-MM-y" }} | {{sub.FromTime}} - {{sub.ToTime}} | |
+
+
+
+
+
+
+
+
+
+
+
+ | sem/year | Subject Code | Subject Name | Date | Time | Invigi.sign |
+
+
+
+
+ | 0{{sub.SemesterID-3}} | 0{{sub.SemesterID-4}} | {{sub.SubjectCode}} | {{sub.SubjectName}} | {{sub.ScheduleDate | date: "dd-MM-y" }} | {{sub.FromTime}} - {{sub.ToTime}} | |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | sem/year | Subject Code | Subject Name | Date | Time | Invigi.sign |
+
+
+
+
+ | 0{{sub.SemesterID}} | {{sub.SubjectCode}} | {{sub.SubjectName}} | {{sub.ScheduleDate | date: "dd-MM-y" }} | {{sub.FromTime}} - {{sub.ToTime}} | |
+
+
+
+
-
-
-
+
+
+
+
diff --git a/Apollo/assets/views/partials/nav.html b/Apollo/assets/views/partials/nav.html
index 6383f1a7..a033205a 100755
--- a/Apollo/assets/views/partials/nav.html
+++ b/Apollo/assets/views/partials/nav.html
@@ -322,6 +322,24 @@
+
+
diff --git a/Apollo/index.html b/Apollo/index.html
index c1e8b556..52accbdc 100755
--- a/Apollo/index.html
+++ b/Apollo/index.html
@@ -119,6 +119,7 @@
+