diff --git a/Apollo/assets/js/controllers/generateHallTicketCtrl.js b/Apollo/assets/js/controllers/generateHallTicketCtrl.js old mode 100755 new mode 100644 index 1ebca409..bdc3a518 --- a/Apollo/assets/js/controllers/generateHallTicketCtrl.js +++ b/Apollo/assets/js/controllers/generateHallTicketCtrl.js @@ -1,1240 +1,1253 @@ -'use strict'; -/** - * controllers for ng-table - * Simple table with sorting and filtering on AngularJS - */ -app.controller('generateHallTicketCtrl', ["$scope","$rootScope","toaster", "$filter", "ngTableParams", "API_POINTS", "$localStorage", "$http", "$state","$modal","$log", function ($scope,$rootScope,toaster, $filter, ngTableParams, apiPoint, $localStorage, $http, $state,$modal,$log) { - $scope.myModel = { - "universityName":"", - "courseName":"", - "batchName":"", - "centerName":"" - }; - - $scope.pdfModel = { - "universityDetails":"", - "studentDetails":"", - "batchDetails":"", - "courseDetails":"", - "centerDetails":"", - "semDataType":"" - }; - - $rootScope.userType = JSON.parse(localStorage.getItem('localObj')).localType; - - -$scope.isTblShow = false; -$scope.isLoader = false; -$scope.isLoaderShow = false; -$scope.isLoaderTxt = "Loading..."; -$scope.generateButtonTxt = "GENERATE"; -$scope.generateButtonStatus = false; - - // sorting function for table params - $scope.sort = function(keyname){ - $scope.sortKey = keyname; //set the sortKey to the param passed - $scope.reverse = !$scope.reverse; //if true make it false and vice versa - } - - - /* - * init function - * created by kms - * */ - $scope.init = function () { - - - - // var logcheck = JSON.parse(localStorage.getItem('localObj')); - - // const LOCALTYPE = logcheck.localType; - // if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) { - // console.log("if"); - // }else { - // if(logcheck != null && LOCALTYPE !='R001') { - // console.log("else if"); - // $state.go('app.dashboard'); - // } else { - - // console.log("else else"); - // //ipCookie.remove('cookiechk'); - // window.localStorage.clear(); - // $state.go('login.signin'); - // } - // } - - - var getUniv = { - method: 'POST', - url: apiPoint.url + 'getUniversityCourseDetails/', - headers: { - 'Content-Type': 'application/json' - }, - data: { - requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID, - branchId:JSON.parse(localStorage.getItem('localObj')).localBranchID - } - }; - $http(getUniv).then(function (response) { - if (response.data.status==200 && response.data.universityStatus) { - $scope.university = response.data.univerSityDetails; - $scope.centers = response.data.centerDetails; - //console.log( $scope.university); - - } else { - $scope.university = ""; - - } - }); - } - - /* - * get student details - * created by kms - * */ - $scope.studentInfo=""; - $scope.getStudentDetails = function (form,myModel) { - - if(myModel.universityName == null || myModel.universityName == '' || myModel.universityName == undefined){ - swal('Select University','','warning'); - return false; - } - - // if(myModel.courseName == '' || myModel.courseName == null || myModel.courseName == undefined){ - // swal('Select Course','','warning'); - // return false; - // } - - if(myModel.batchName == null || myModel.batchName == '' || myModel.batchName == undefined){ - swal('Select Batch','','warning'); - return false; - } - - if(myModel.centerName == null || myModel.centerName == '' || myModel.centerName == undefined){ - swal('Select Center','','warning'); - return false; - } - - - var firstError = null; - if (form.$invalid) { - - var field = null, firstError = null; - for (field in form) { - if (field[0] != '$') { - if (firstError === null && !form[field].$valid) { - firstError = form[field].$name; - } - if (form[field].$pristine) { - form[field].$dirty = true; - } - } - } - angular.element('.ng-invalid[name=' + firstError + ']').focus(); - // swal("The form cannot be submitted because it contains validation errors!", "Errors are marked with a red, dashed border!", "error"); - } else { - $scope.selectedStudentsID = []; - $scope.isLoaderShow = true; - $scope.myModel.all = false; - $scope.isTblShow = false; - var university = myModel.universityName; - var course = myModel.courseName; - var batch = myModel.batchName; - var centerDetails = myModel.centerName; - var getStudents = { - method: 'POST', - url: apiPoint.url + 'getStudentListForHallTicket/', - headers: { - 'Content-Type': 'application/json' - }, - data: { - university: university, - course:course, - batch:batch, - requestedtBy: JSON.parse(localStorage.getItem('localObj')).localUserID, - branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, - requestedDept: JSON.parse(localStorage.getItem('localObj')).localType, - center:centerDetails - } - }; - $http(getStudents).then(function (response) { - if (response.data.status == 200 && response.data.studentStatus) { - $scope.studentInfo = response.data.studentDetails; - $scope.isLoaderShow = false; - $scope.isTblShow = true; - - //console.log($scope.studentInfo); - - - angular.forEach(($scope.studentInfo),function(studentInfo,key) - { - //console.log($scope.studentInfo); - if(studentInfo.balpayable != 0) - { - var mobileno = studentInfo.MobileNumber; - var sendmsg = - { - method: 'POST', - url: apiPoint.url + 'SendMessagetoFeeBalance/', - headers: - { - 'Content-Type': 'application/json' - }, - data: - { - mobileno:mobileno, - branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, - } - }; - - $http(sendmsg).then(function (response) - { - console.log(response.data); - }); - - - } - //break; - }); - - - } - else - { - $scope.studentInfo=""; - $scope.isLoaderShow = true; - $scope.isTblShow = false; - $scope.isLoaderTxt = "No Records Found"; - } - },function(error){ - $scope.isLoaderShow = true; - $scope.isTblShow = false; - $scope.isLoaderTxt = "No Records Found"; - - }); - - } - } - - - - $scope.selectedStudentsID = []; - $scope.isClick = function(e) - { - - - var ide = e.target; - var val = (ide.checked ? true : false); - var sid = e.target.id; - angular.forEach($scope.studentInfo,function(value,key){ - if(sid == value.StudentID) - { - sid = value; - } - }); - - var pos = $scope.selectedStudentsID.indexOf(sid); - - if(val) - { - if( pos == -1) - { - - $scope.selectedStudentsID.push(sid); - } - - } - else - { - - $scope.selectedStudentsID.splice(pos,1); - } - - - - } - - - $scope.isCheckAll = function(e) - { - var val = (e.target.checked ? true : false); - - if(val) - { - var len = $scope.studentInfo.length; - var i = 0; - for(i=0;i= 20 ){ - - // uni_add_position = 110;console.log(uni_add_position); - // } - // else{ - // uni_add_position = 10;console.log(uni_add_position); - // } - doc.setFontSize(14); - doc.setFontType("bold"); - doc.text(130,50,$scope.universityNamePDF); - doc.setFontSize(10); - doc.text(130,70,$scope.universityAddressPDF); - doc.setFontSize(8); - doc.text(130,90,$scope.universityEmailPDF); - - doc.rect(45, 100, 400, 60); - doc.rect(445, 100, 100, 60); - doc.line(45, 125, 445, 125); - doc.setFontSize(8); - doc.setFontType("bold"); - doc.text(50,115,examName); - - doc.setFontSize(10); - doc.setFontType("normal"); - doc.text(50,140,rollNo); - doc.text(230,140,stuName); - doc.text(50,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 autoTableEndPosYvalue = 0; - - if(sem1 == "") - { - autoTableEndPosYvalue = 200; - } - else - { - autoTableEndPosYvalue = 300; - } - - var options2 = { - addPageContent: header, - - margin: { - top: 100 - }, - - - startY: doc.autoTableEndPosY() + autoTableEndPosYvalue, - - theme :'grid' - - }; - - var options1 = { - addPageContent: header, - - margin: { - top: 200 - }, - theme :'grid' - - }; - - if(sem1 != "") - { - doc.autoTable(sem1.columns, sem1.data, options1); - } - - - if(sem2 != "") - { - doc.autoTable(sem2.columns, sem2.data, options2); - - } - - - if(sem2 != "" || sem1 != "") - { - doc.save(fileName); - } - - - }//End of semlength for loop - - }//END OF SEM HALL TICKET TYPE - - else if(hallticket_type == 'YEAR') - { - console.log('YEAR'); - 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: 8}, - headerStyles: {fillColor: [245, 245, 240], textColor: 0}, - - - }); - - var firstTableID = "0"; - //var SecTableID = "1"; - switch(i) - { - case 0: - var firstTableID = tableid+'year1'+key; - //var SecTableID = tableid+'year11'; - semName = 'YEAR1'; - - break; - - case 1: - var firstTableID = tableid+'year2'+key; - //var SecTableID = tableid+'year21'; - semName = 'YEAR2'; - - break; - - case 2: - var firstTableID = tableid+'year3'+key; - //var SecTableID = tableid+'year31'; - semName = 'YEAR3'; - - break; - - case 4: - var firstTableID = tableid+'year4'+key; - //var SecTableID = tableid+'year41'; - semName = 'YEAR4'; - - break; - - } - - - - if(document.getElementById(firstTableID)) - { - - var sem1 = doc.autoTableHtmlToJson(document.getElementById(firstTableID)); - - } - - // if(document.getElementById(SecTableID)) - // { - - // var sem2 = doc.autoTableHtmlToJson(document.getElementById(SecTableID)); - - // } - - - - - - - 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(120, 30, 425, 67,'FD'); - doc.setFontSize(12); - doc.setTextColor(40); - doc.setFontStyle('normal'); - - doc.addImage(dataURL, 'jpeg', 50, 35, 50, 50);//university logo location - doc.addImage(profiledataURL, 'jpeg', 470, 100, 60, 60);//student profile location - var uni_add_position = 0; - // if($scope.length_of_universityNamePDF >= 20 ){ - - // uni_add_position = 110;console.log(uni_add_position); - // } - // else{ - // uni_add_position = 10;console.log(uni_add_position); - // } - doc.setFontSize(14); - doc.setFontType("bold"); - doc.text(130,50,$scope.universityNamePDF); - doc.setFontSize(10); - doc.text(130,70,$scope.universityAddressPDF); - doc.setFontSize(8); - doc.text(130,90,$scope.universityEmailPDF); - - doc.rect(45, 100, 400, 60); - doc.rect(445, 100, 100, 60); - doc.line(45, 125, 445, 125); - doc.setFontSize(8); - doc.setFontType("bold"); - doc.text(50,115,examName); - - doc.setFontSize(10); - doc.setFontType("normal"); - doc.text(50,140,rollNo); - doc.text(230,140,stuName); - doc.text(50,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 options = { - addPageContent: header, - - margin: { - top: 170 - }, - //startY: doc.autoTableEndPosY() + 20, - theme :'grid' - - }; - - - if(sem1 != "") - { - doc.autoTable(sem1.columns, sem1.data, options); - } - - // if(sem2 != "") - // { - // doc.autoTable(sem2.columns, sem2.data, options); - - // } - - - if(sem1 != "") - { - doc.save(fileName); - } - - - }//End of semlength for loop - - }//END OF YEAR HALL TICKET TYPE - - - else if(hallticket_type == 'SEM' ){ - console.log('SEM*********df;lsjfo'); - var semlength = value.FeeDetails.length; - - var i = 0; - for(i = 0; i < semlength;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: 8}, - headerStyles: {fillColor: [245, 245, 240], textColor: 0} - }); - - - var firstTableID = tableid+i; - // var SecTableID = (tableid+(i+1)); - - - - if(document.getElementById(firstTableID)) - { - - var sem1 = doc.autoTableHtmlToJson(document.getElementById(firstTableID)); - - } - - // if(document.getElementById(SecTableID)) - // { - - // var sem2 = doc.autoTableHtmlToJson(document.getElementById(SecTableID)); - - // } - - - - - - 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); - // } - - var semName = 'SEM'+(i+1); - fileName = value.EnrollmentID+'-'+value.Firstname+value.Lastname+$scope.courseNamePDF+semName+'.pdf'; - doc.setDrawColor(0); - doc.setFillColor(245, 245, 240); - doc.rect(120, 30, 425, 67,'FD'); - doc.setFontSize(12); - doc.setTextColor(40); - doc.setFontStyle('normal'); - - doc.addImage(dataURL, 'jpeg', 50, 35, 50, 50);//university logo location - doc.addImage(profiledataURL, 'jpeg', 470, 100, 60, 60);//student profile location - - var uni_add_position = 0; - // if($scope.length_of_universityNamePDF >= 20 ){ - - // uni_add_position = 110;console.log(uni_add_position); - // } - // else{ - // uni_add_position = 10;console.log(uni_add_position); - // } - doc.setFontSize(14); - doc.setFontType("bold"); - doc.text(130,50,$scope.universityNamePDF); - doc.setFontSize(10); - doc.text(130,70,$scope.universityAddressPDF); - doc.setFontSize(8); - doc.text(130,90,$scope.universityEmailPDF); - - doc.rect(45, 100, 400, 60); - doc.rect(445, 100, 100, 60); - doc.line(45, 125, 445, 125); - doc.setFontSize(8); - doc.setFontType("bold"); - doc.text(50,115,examName); - - doc.setFontType("normal"); - doc.setFontSize(10); - doc.text(50,140,rollNo); - doc.text(230,140,stuName); - doc.text(50,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 autoTableEndPosYvalue = 0; - - // if(sem1 == "") - // { - // autoTableEndPosYvalue = 200; - // } - // else - // { - // autoTableEndPosYvalue = 300; - // } - - // var options2 = { - // addPageContent: header, - - // margin: { - // top: 100 - // }, - - - // startY: doc.autoTableEndPosY() + autoTableEndPosYvalue, - - // theme :'grid' - - // }; - - var options1 = { - addPageContent: header, - - margin: { - top: 200 - }, - - theme :'grid' - - }; - - if(sem1 != "") - { - doc.autoTable(sem1.columns, sem1.data, options1); - } - - - // if(sem2 != "") - // { - // doc.autoTable(sem2.columns, sem2.data, options2); - - // } - - - if(sem2 != "" || sem1 != "") - { - doc.save(fileName); - } - - - }//End of semlength for loop - - } - - - - }// END of studentID Check - - - });//END of For Each -} - - - - $scope.ok = function () { - $modalInstance.close($scope.selected.item); - }; - - $scope.cancel = function () { - $modalInstance.dismiss('cancel'); - }; - - $scope.generatePDF = function(){ - var innerContents = document.getElementById("university_header").innerHTML; - - var popupWinindow = window.open('', '_blank', 'width=1200,height=700,scrollbars=no,menubar=no,toolbar=no,location=no,status=no,titlebar=no'); - popupWinindow.document.open(); - popupWinindow.document.write(''); - popupWinindow.document.write(''); - popupWinindow.document.write(innerContents); - popupWinindow.document.write('
'); - popupWinindow.document.write('
'); - popupWinindow.document.write('
'); - popupWinindow.document.write('
'); - //popupWinindow.document.write(innerContents); - popupWinindow.document.write(''); - popupWinindow.document.close(); - popupWinindow.focus(); - popupWinindow.print(); - popupWinindow.close(); - - - - - - - - - - } - - - +'use strict'; +/** + * controllers for ng-table + * Simple table with sorting and filtering on AngularJS + */ +app.controller('generateHallTicketCtrl', ["$scope","$rootScope","toaster", "$filter", "ngTableParams", "API_POINTS", "$localStorage", "$http", "$state","$modal","$log", function ($scope,$rootScope,toaster, $filter, ngTableParams, apiPoint, $localStorage, $http, $state,$modal,$log) { + $scope.myModel = { + "universityName":"", + "courseName":"", + "batchName":"", + "centerName":"" + }; + + $scope.pdfModel = { + "universityDetails":"", + "studentDetails":"", + "batchDetails":"", + "courseDetails":"", + "centerDetails":"", + "semDataType":"" + }; + + $rootScope.userType = JSON.parse(localStorage.getItem('localObj')).localType; + + +$scope.isTblShow = false; +$scope.isLoader = false; +$scope.isLoaderShow = false; +$scope.isLoaderTxt = "Loading..."; +$scope.generateButtonTxt = "GENERATE"; +$scope.generateButtonStatus = false; + + // sorting function for table params + $scope.sort = function(keyname){ + $scope.sortKey = keyname; //set the sortKey to the param passed + $scope.reverse = !$scope.reverse; //if true make it false and vice versa + } + + + /* + * init function + * created by kms + * */ + $scope.init = function () { + + + + // var logcheck = JSON.parse(localStorage.getItem('localObj')); + + // const LOCALTYPE = logcheck.localType; + // if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) { + // console.log("if"); + // }else { + // if(logcheck != null && LOCALTYPE !='R001') { + // console.log("else if"); + // $state.go('app.dashboard'); + // } else { + + // console.log("else else"); + // //ipCookie.remove('cookiechk'); + // window.localStorage.clear(); + // $state.go('login.signin'); + // } + // } + + + var getUniv = { + method: 'POST', + url: apiPoint.url + 'getUniversityCourseDetails/', + headers: { + 'Content-Type': 'application/json' + }, + data: { + requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + branchId:JSON.parse(localStorage.getItem('localObj')).localBranchID + } + }; + $http(getUniv).then(function (response) { + if (response.data.status==200 && response.data.universityStatus) { + $scope.university = response.data.univerSityDetails; + $scope.centers = response.data.centerDetails; + //console.log( $scope.university); + + } else { + $scope.university = ""; + + } + }); + } + + /* + * get student details + * created by kms + * */ + $scope.studentInfo=""; + $scope.getStudentDetails = function (form,myModel) { + + if(myModel.universityName == null || myModel.universityName == '' || myModel.universityName == undefined){ + swal('Select University','','warning'); + return false; + } + + // if(myModel.courseName == '' || myModel.courseName == null || myModel.courseName == undefined){ + // swal('Select Course','','warning'); + // return false; + // } + + if(myModel.batchName == null || myModel.batchName == '' || myModel.batchName == undefined){ + swal('Select Batch','','warning'); + return false; + } + + if(myModel.centerName == null || myModel.centerName == '' || myModel.centerName == undefined){ + swal('Select Center','','warning'); + return false; + } + + + var firstError = null; + if (form.$invalid) { + + var field = null, firstError = null; + for (field in form) { + if (field[0] != '$') { + if (firstError === null && !form[field].$valid) { + firstError = form[field].$name; + } + if (form[field].$pristine) { + form[field].$dirty = true; + } + } + } + angular.element('.ng-invalid[name=' + firstError + ']').focus(); + // swal("The form cannot be submitted because it contains validation errors!", "Errors are marked with a red, dashed border!", "error"); + } else { + $scope.selectedStudentsID = []; + $scope.isLoaderShow = true; + $scope.myModel.all = false; + $scope.isTblShow = false; + var university = myModel.universityName; + var course = myModel.courseName; + var batch = myModel.batchName; + var centerDetails = myModel.centerName; + var getStudents = { + method: 'POST', + url: apiPoint.url + 'getStudentListForHallTicket/', + headers: { + 'Content-Type': 'application/json' + }, + data: { + university: university, + course:course, + batch:batch, + requestedtBy: JSON.parse(localStorage.getItem('localObj')).localUserID, + branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + requestedDept: JSON.parse(localStorage.getItem('localObj')).localType, + center:centerDetails + } + }; + $http(getStudents).then(function (response) { + if (response.data.status == 200 && response.data.studentStatus) { + $scope.studentInfo = response.data.studentDetails; + $scope.isLoaderShow = false; + $scope.isTblShow = true; + + //console.log($scope.studentInfo); + + + // angular.forEach(($scope.studentInfo),function(studentInfo,key) + // { + // //console.log($scope.studentInfo); + // if(studentInfo.balpayable != 0) + // { + // var mobileno = studentInfo.MobileNumber; + // var sendmsg = + // { + // method: 'POST', + // url: apiPoint.url + 'SendMessagetoFeeBalance/', + // headers: + // { + // 'Content-Type': 'application/json' + // }, + // data: + // { + // mobileno:mobileno, + // branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, + // } + // }; + + // $http(sendmsg).then(function (response) + // { + // console.log(response.data); + // }); + + + // } + // //break; + // }); + + + } + else + { + $scope.studentInfo=""; + $scope.isLoaderShow = true; + $scope.isTblShow = false; + $scope.isLoaderTxt = "No Records Found"; + } + },function(error){ + $scope.isLoaderShow = true; + $scope.isTblShow = false; + $scope.isLoaderTxt = "No Records Found"; + + }); + + } + } + + + + $scope.selectedStudentsID = []; + $scope.isClick = function(e) + { + // alert(); + + var ide = e.target; + var val = (ide.checked ? true : false); + var sid1 = e.target.id; + var sid = sid1.substr(0,4); + var sem = sid1.substr(4,17); + + + + + + angular.forEach($scope.studentInfo,function(value,key){ + console.log(sem); + if(parseInt(sid) == value.StudentID) + { + console.log(value); + var invalue = value.FeeDetails.filter(fees=>fees.Sem_Year == sem); + // console.log(invalue); + + sid = value; + sid.FeeDetails = invalue; + } + }); + + var pos = $scope.selectedStudentsID.indexOf(sid); + + if(val) + { + if( pos == -1) + { + + $scope.selectedStudentsID.push(sid); + } + + } + else + { + + $scope.selectedStudentsID.splice(pos,1); + } + + + + } + + + $scope.isCheckAll = function(e) + { + var val = (e.target.checked ? true : false); + + if(val) + { + var len = $scope.studentInfo.length; + var i = 0; + for(i=0;i= 20 ){ + + // uni_add_position = 110;console.log(uni_add_position); + // } + // else{ + // uni_add_position = 10;console.log(uni_add_position); + // } + doc.setFontSize(14); + doc.setFontType("bold"); + doc.text(130,50,$scope.universityNamePDF); + doc.setFontSize(10); + doc.text(130,70,$scope.universityAddressPDF); + doc.setFontSize(8); + doc.text(130,90,$scope.universityEmailPDF); + + doc.rect(45, 100, 400, 60); + doc.rect(445, 100, 100, 60); + doc.line(45, 125, 445, 125); + doc.setFontSize(8); + doc.setFontType("bold"); + doc.text(50,115,examName); + + doc.setFontSize(10); + doc.setFontType("normal"); + doc.text(50,140,rollNo); + doc.text(230,140,stuName); + doc.text(50,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 autoTableEndPosYvalue = 0; + + if(sem1 == "") + { + autoTableEndPosYvalue = 200; + } + else + { + autoTableEndPosYvalue = 300; + } + + var options2 = { + addPageContent: header, + + margin: { + top: 100 + }, + + + startY: doc.autoTableEndPosY() + autoTableEndPosYvalue, + + theme :'grid' + + }; + + var options1 = { + addPageContent: header, + + margin: { + top: 200 + }, + theme :'grid' + + }; + + if(sem1 != "") + { + doc.autoTable(sem1.columns, sem1.data, options1); + } + + + if(sem2 != "") + { + doc.autoTable(sem2.columns, sem2.data, options2); + + } + + + if(sem2 != "" || sem1 != "") + { + doc.save(fileName); + } + + + }//End of semlength for loop + + }//END OF SEM HALL TICKET TYPE + + else if(hallticket_type == 'YEAR') + { + console.log('YEAR'); + 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: 8}, + headerStyles: {fillColor: [245, 245, 240], textColor: 0}, + + + }); + + var firstTableID = "0"; + //var SecTableID = "1"; + switch(i) + { + case 0: + var firstTableID = tableid+'year1'+key; + //var SecTableID = tableid+'year11'; + semName = 'YEAR1'; + + break; + + case 1: + var firstTableID = tableid+'year2'+key; + //var SecTableID = tableid+'year21'; + semName = 'YEAR2'; + + break; + + case 2: + var firstTableID = tableid+'year3'+key; + //var SecTableID = tableid+'year31'; + semName = 'YEAR3'; + + break; + + case 4: + var firstTableID = tableid+'year4'+key; + //var SecTableID = tableid+'year41'; + semName = 'YEAR4'; + + break; + + } + + + + if(document.getElementById(firstTableID)) + { + + var sem1 = doc.autoTableHtmlToJson(document.getElementById(firstTableID)); + + } + + // if(document.getElementById(SecTableID)) + // { + + // var sem2 = doc.autoTableHtmlToJson(document.getElementById(SecTableID)); + + // } + + + + + + + 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(120, 30, 425, 67,'FD'); + doc.setFontSize(12); + doc.setTextColor(40); + doc.setFontStyle('normal'); + + doc.addImage(dataURL, 'jpeg', 50, 35, 50, 50);//university logo location + doc.addImage(profiledataURL, 'jpeg', 470, 100, 60, 60);//student profile location + var uni_add_position = 0; + // if($scope.length_of_universityNamePDF >= 20 ){ + + // uni_add_position = 110;console.log(uni_add_position); + // } + // else{ + // uni_add_position = 10;console.log(uni_add_position); + // } + doc.setFontSize(14); + doc.setFontType("bold"); + doc.text(130,50,$scope.universityNamePDF); + doc.setFontSize(10); + doc.text(130,70,$scope.universityAddressPDF); + doc.setFontSize(8); + doc.text(130,90,$scope.universityEmailPDF); + + doc.rect(45, 100, 400, 60); + doc.rect(445, 100, 100, 60); + doc.line(45, 125, 445, 125); + doc.setFontSize(8); + doc.setFontType("bold"); + doc.text(50,115,examName); + + doc.setFontSize(10); + doc.setFontType("normal"); + doc.text(50,140,rollNo); + doc.text(230,140,stuName); + doc.text(50,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 options = { + addPageContent: header, + + margin: { + top: 170 + }, + //startY: doc.autoTableEndPosY() + 20, + theme :'grid' + + }; + + + if(sem1 != "") + { + doc.autoTable(sem1.columns, sem1.data, options); + } + + // if(sem2 != "") + // { + // doc.autoTable(sem2.columns, sem2.data, options); + + // } + + + if(sem1 != "") + { + doc.save(fileName); + } + + + }//End of semlength for loop + + }//END OF YEAR HALL TICKET TYPE + + + else if(hallticket_type == 'SEM' ){ + console.log('SEM*********df;lsjfo'); + var semlength = value.FeeDetails.length; + + var i = 0; + for(i = 0; i < semlength;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: 8}, + headerStyles: {fillColor: [245, 245, 240], textColor: 0} + }); + + + var firstTableID = tableid+i; + // var SecTableID = (tableid+(i+1)); + + + + if(document.getElementById(firstTableID)) + { + + var sem1 = doc.autoTableHtmlToJson(document.getElementById(firstTableID)); + + } + + // if(document.getElementById(SecTableID)) + // { + + // var sem2 = doc.autoTableHtmlToJson(document.getElementById(SecTableID)); + + // } + + + + + + 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); + // } + + var semName = 'SEM'+(i+1); + fileName = value.EnrollmentID+'-'+value.Firstname+value.Lastname+$scope.courseNamePDF+semName+'.pdf'; + doc.setDrawColor(0); + doc.setFillColor(245, 245, 240); + doc.rect(120, 30, 425, 67,'FD'); + doc.setFontSize(12); + doc.setTextColor(40); + doc.setFontStyle('normal'); + + doc.addImage(dataURL, 'jpeg', 50, 35, 50, 50);//university logo location + doc.addImage(profiledataURL, 'jpeg', 470, 100, 60, 60);//student profile location + + var uni_add_position = 0; + // if($scope.length_of_universityNamePDF >= 20 ){ + + // uni_add_position = 110;console.log(uni_add_position); + // } + // else{ + // uni_add_position = 10;console.log(uni_add_position); + // } + doc.setFontSize(14); + doc.setFontType("bold"); + doc.text(130,50,$scope.universityNamePDF); + doc.setFontSize(10); + doc.text(130,70,$scope.universityAddressPDF); + doc.setFontSize(8); + doc.text(130,90,$scope.universityEmailPDF); + + doc.rect(45, 100, 400, 60); + doc.rect(445, 100, 100, 60); + doc.line(45, 125, 445, 125); + doc.setFontSize(8); + doc.setFontType("bold"); + doc.text(50,115,examName); + + doc.setFontType("normal"); + doc.setFontSize(10); + doc.text(50,140,rollNo); + doc.text(230,140,stuName); + doc.text(50,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 autoTableEndPosYvalue = 0; + + // if(sem1 == "") + // { + // autoTableEndPosYvalue = 200; + // } + // else + // { + // autoTableEndPosYvalue = 300; + // } + + // var options2 = { + // addPageContent: header, + + // margin: { + // top: 100 + // }, + + + // startY: doc.autoTableEndPosY() + autoTableEndPosYvalue, + + // theme :'grid' + + // }; + + var options1 = { + addPageContent: header, + + margin: { + top: 200 + }, + + theme :'grid' + + }; + + if(sem1 != "") + { + doc.autoTable(sem1.columns, sem1.data, options1); + } + + + // if(sem2 != "") + // { + // doc.autoTable(sem2.columns, sem2.data, options2); + + // } + + + if(sem2 != "" || sem1 != "") + { + doc.save(fileName); + } + + + }//End of semlength for loop + + } + + + + }// END of studentID Check + + + });//END of For Each +} + + + + $scope.ok = function () { + $modalInstance.close($scope.selected.item); + }; + + $scope.cancel = function () { + $modalInstance.dismiss('cancel'); + }; + + $scope.generatePDF = function(){ + var innerContents = document.getElementById("university_header").innerHTML; + + var popupWinindow = window.open('', '_blank', 'width=1200,height=700,scrollbars=no,menubar=no,toolbar=no,location=no,status=no,titlebar=no'); + popupWinindow.document.open(); + popupWinindow.document.write(''); + popupWinindow.document.write(''); + popupWinindow.document.write(innerContents); + popupWinindow.document.write('
'); + popupWinindow.document.write('
'); + popupWinindow.document.write('
'); + popupWinindow.document.write('
'); + //popupWinindow.document.write(innerContents); + popupWinindow.document.write(''); + popupWinindow.document.close(); + popupWinindow.focus(); + popupWinindow.print(); + popupWinindow.close(); + + + + + + + + + + } + + + }]); \ No newline at end of file diff --git a/Apollo/assets/views/hallticket/generatehallticket.html b/Apollo/assets/views/hallticket/generatehallticket.html old mode 100755 new mode 100644 index 6a677d9d..cdd91d16 --- a/Apollo/assets/views/hallticket/generatehallticket.html +++ b/Apollo/assets/views/hallticket/generatehallticket.html @@ -1,227 +1,228 @@ - - -
-
-
- -

{{ mainTitle }}

- - Generate Halltickets For Student - -
- -
-
- - - -
- - -
-
-
- Search -
- -
- - - - -
-
- - - - -
-
- - - - -
- - - - -
-
- -
- - - - -
- -
- -
- -
- -
- - -
- -

- -
- - - - -
- -
-
-

{{isLoaderTxt}}

-
-
- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - -
- - -
Student Name - - Enrollment ID - - Mobile No - - Course - - Balance - - Sem/Year - - Status - -
-
-
-
- - {{p.Firstname}}{{p.Lastname}} - {{p.EnrollmentID}} - - {{p.MobileNumber}} - - {{p.CourseName}}{{p.balpayable}}{{p.balpayable}}(Excess fee){{p.semyr}} GENERATED
- - - -
-
-
- -
-
-
- - - - - - - - - + + +
+
+
+ +

{{ mainTitle }}

+ + Generate Halltickets For Student + +
+ +
+
+ + + +
+ + +
+
+
+ Search +
+ +
+ + + + +
+
+ + + + +
+
+ + + + +
+ + + + +
+
+ +
+ + + + +
+ +
+ +
+ +
+ +
+ + +
+ +

+ +
+ + + + +
+ +
+
+

{{isLoaderTxt}}

+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + +
Student Name + + Enrollment ID + + Mobile No + + Course + + Balance + + Sem/Year + + Status + +
+
+
+
+ + {{p.Firstname}}{{p.Lastname}} + {{p.EnrollmentID}} + + {{p.MobileNumber}} + + {{p.CourseName}}{{p.balpayable}}{{p.balpayable}}(Excess fee){{p.semyr}} GENERATED
+ + + +
+
+
+ +
+
+
+ + + + + + + + +