'use strict'; /** * controllers for ng-table * Simple table with sorting and filtering on AngularJS */ app.controller('reregistrationformCtrl', ["$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":"", "selectSem":"" }; $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 } $scope.disable = true; $scope.init = function () { $scope.Year = [ {Year:"Year1",SemNum:1}, {Year:"Year2",SemNum:3}, {Year:"Year3",SemNum:5}, {Year:"Year4",SemNum:7}, ]; $scope.Sem = [ {Sem:"SEM1",SemNum:1}, {Sem:"SEM2",SemNum:2}, {Sem:"SEM3",SemNum:3}, {Sem:"SEM4",SemNum:4}, {Sem:"SEM5",SemNum:5}, {Sem:"SEM6",SemNum:6}, {Sem:"SEM7",SemNum:7}, {Sem:"SEM8",SemNum:8}, ]; // console.log($scope.Sem); var getUniv = { method: 'POST', url: apiPoint.url + 'getUniversityCourseDetailsforms/', 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 = ""; } }); } $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; } 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; $scope.isLoaderTxt = "Loading..."; var getStudents = { method: 'POST', url: apiPoint.url + 'getStudentListForRegistrer/', 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, } }; $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('API'); //console.log($scope.studentInfo); } 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.isCheckAll = function(e){ var val = (e.target.checked ? true : false); if(val) { // $scope.disable = false; var len = $scope.studentInfo.length; var i = 0; for(i=0;iuniversitycourse.CourseID == course); if($scope.selectedSem ==''){ swal('Select University Sem Year','','warning'); return false; }else if($scope.selectedStudentsID ==''){ swal('Select Checkbox','','warning'); return false; }else{ //console.log(stuDetails); console.log("else"); var getsubject = { method:'post', url:apiPoint.url +"getSubject", headers: { 'Content-Type': 'application/json' }, data:{ SemNum:$scope.selectedSem, Course:course, branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID, } }; $http(getsubject).then(function(response){ // console.log(response); if(response.data.status ==200 && response.data.SubjectStatus){ //angular.forEach($scope.selectedStudentsID,function(studentdata,key){ // angular.forEach(response.data.SubjectDetails[key],function(subjectdata,subkey){ // console.log(subkey); // $scope.subjectDetails.push(subjectdata); // }); $scope.open($scope.selectedStudentsID,$scope.selectedSem,universityId,coursefiltered,response.data.SubjectDetails); //}); } // if(response.data.message == "Something Went Wrong!" ){ // //alert(); // swal('No Subject Available','','warning'); },function(error){ swal('No Subject Available','','warning'); }); } } $scope.open = function(PDFdata,sem,universityId,coursefiltered,Subjects){ // console.log(PDFdata); $rootScope.Student = PDFdata; // console.log($rootScope.Student); // return false; $rootScope.sem = sem; $rootScope.Year = sem; //console.log($rootScope.sem); $rootScope.Course = coursefiltered[0]; //console.log($rootScope.Course); $rootScope.university = universityId; $rootScope.Subject = Subjects; // console.log($rootScope.Subject); // return false; var modalInstance = $modal.open({ templateUrl: 'assets/views/reregistration/reregistrationformpdf.html', controller: 'reregistrationformCtrl', // size: size, resolve: { pdfitems: function () { //return $scope.FeesName; return PDFdata; } } }); modalInstance.result.then(function (selectedItem) { $scope.selected = selectedItem; }, function () { $log.info('Modal dismissed at: ' + new Date()); }); }; $scope.generatePDF = function(){ // alert(); var sem = ''; // var semfiltered = ''; var yearfiltered = angular.forEach($scope.Student,function(Student,key){ //console.log($scope.Year); if(Student.FeeDetails[0].SubType =="SEM"){ sem = $scope.sem.filter((Semester)=>Semester.SemNum == $scope.sem[key]); sem = "Sem/Year: SEM"+$scope.sem[key]; }else{ // yearfiltered = $scope.Year.filter((Year)=>Year.SemNum == $scope.Year[key]); // console.log(yearfiltered); // sem = "Sem/Year: SEM"+$scope.Year[key]; if($scope.Year[key]==1){ console.log("1"); sem = "Sem/Year: YEAR1"; } else if($scope.Year[key]==3){ console.log("1"); sem = "Sem/Year: YEAR2"; } else if($scope.Year[key]==5){ console.log("1"); sem = "Sem/Year: YEAR3"; } else{ sem = "Sem/Year: YEAR4"; } } $scope.universityAddress = $scope.university.Address; $scope.universitydetails = "Mobile: "+$scope.university.MobileNumber+",E-mail id:"+$scope.university.EmailID+ ",Website:-"; $scope.Enroll = "Enrolment No: "; $scope.corseDetails = "Course Name: "+$scope.Course.CourseName+" specialization: "+$scope.Course.Specilization +sem $scope.StudentName = "Name of the Candidate: "+Student.Firstname +' '+ Student.Lastname; $scope.StudentFatername = "Father's Name: "+Student.Fathername; $scope.StudentMotherName = "Mother's Name: "+Student.MotherName; //var str = $scope.Student.PresentAddress; var str = encodeURIComponent(Student.PermanentAddress).replace(/[%2C %20 %0A]/g,' '); // str.replace("%0A"," "); // str.replace("%20"," "); // str.replace("%2C"," "); $scope.StudnetAddress = "Address: "+ str.replace(" "," "); $scope.StudentPin = "Pincode: .................. Mobile No: "+Student.MobileNumber+" Email ID: "+Student.EmailID; // var sem1 = doc.autoTableHtmlToJson(document.getElementById(subject)); var universityname = $scope.university.universityName; var universityCap = universityname.toUpperCase(); var doc = new jsPDF('A4'); var img = document.getElementById("logo"); //console.log(img); 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"); doc.rect(10, 10, 190, 280); doc.text(70, 20, universityCap); doc.addImage(dataURL, 'jpeg', 50, 13, 10, 10); doc.setFontSize(14); doc.text(70,32,"RE-REGISTRATION FORM"); doc.setFontSize(12); doc.text(35,35,$scope.universityAddress); doc.text(20,40,$scope.universitydetails); doc.setFontSize(10); doc.setFontSize(10); var formdetails = "The from should be complete in all respects and to be filled by student in English CAPITAL letters in blue /black ink."; var details = doc.splitTextToSize(formdetails,200); doc.text(15,50,details); doc.setFontSize(12); doc.line(10, 45, 200, 45); var col = 45; var EnLen = Student.EnrollmentID.length; //console.log(EnLen); var k = 0; if(EnLen !=0){ while( k<= EnLen-1){ //console.log(k); doc.text(15,60,$scope.Enroll);doc.rect(col,57,5,5); col = col+1; doc.text(col,61,Student.EnrollmentID[k]); col = parseInt(col)+4; k++; } }else{ doc.text(15,60,$scope.Enroll); doc.rect(45,55,5,5);doc.rect(50,55,5,5);doc.rect(55,55,5,5);doc.rect(60,55,5,5);doc.rect(65,55,5,5);doc.rect(70,55,5,5);doc.rect(75,55,5,5);doc.rect(80,55,5,5);doc.rect(85,55,5,5);doc.rect(90,55,5,5);doc.rect(95,55,5,5);doc.rect(100,55,5,5);doc.rect(105,55,5,5);doc.rect(110,55,5,5);doc.rect(115,55,5,5);doc.rect(120,55,5,5);doc.rect(125,55,5,5); // doc.text(46,59,$scope.Student.EnrollmentID[0]);doc.text(51,59,$scope.Student.EnrollmentID[1]);doc.text(56,59,$scope.Student.EnrollmentID[2]);doc.text(61,59,$scope.Student.EnrollmentID[3]);doc.text(66,59,$scope.Student.EnrollmentID[4]); // doc.text(71,59,$scope.Student.EnrollmentID[5]);doc.text(76,59,$scope.Student.EnrollmentID[6]);doc.text(81,59,$scope.Student.EnrollmentID[7]);doc.text(86,59,$scope.Student.EnrollmentID[8]);doc.text(91,59,$scope.Student.EnrollmentID[9]); // doc.text(96,59,$scope.Student.EnrollmentID[10]);doc.text(101,59,$scope.Student.EnrollmentID[11]);doc.text(106,59,$scope.Student.EnrollmentID[12]); // //doc.text(111,59,$scope.Student.EnrollmentID[13]);doc.text(116,59,$scope.Student.EnrollmentID[14]);doc.text(121,59,$scope.Student.EnrollmentID[15]); } doc.text(15,70,$scope.corseDetails); doc.text(15,80,"Examination Session: January ");doc.rect(73,77,5,5);doc.text(80,80,"June");doc.rect(90,77,5,5);doc.text(100,80,"Semester Mode");doc.rect(131,77,5,5);doc.text(140,80,"Yearly Mode");doc.rect(165,77,5,5); // doc.autoTable(sem1.columns, sem1.data, {margin: {top: 100},theme:'grid'}); doc.line(10, 83, 200, 83); doc.text(15,88,$scope.StudentName); doc.text(60,89,"......................................................................................................................"); doc.text(15,95,$scope.StudentFatername); doc.text(43,96,"...................................................................................................................................."); doc.text(15,102,$scope.StudentMotherName); doc.text(43,103,"...................................................................................................................................."); doc.text(15,110,$scope.StudnetAddress); doc.text(30,111,"................................................................................................................................................"); doc.text(15,121,$scope.StudentPin); doc.text doc.line(10, 125, 200,125); doc.text(45,130,"SUBJECT / PAPER IN WHICH CANDIDATE APPEARING") doc.line(10, 131, 200, 131); doc.text(25,135,"SR.NO"); doc.text(75,135,"Subject Code"); doc.text(124,135,"Subject/Paper Code"); doc.line(10,137,200,137); var row = 137; var no = 1; //console.log(); angular.forEach($scope.Subject[key],function(subjectData,key){ //for(var i=0;i<=$scope.Subject[key].length-1;i++){ // console.log(subjectData); doc.line(10,row,200,row); no = no.toString(); doc.text(25,row+5,no); doc.text(75,row+5,subjectData.SubjectCode); doc.text(126,row+5,subjectData.SubjectName); row = row+6; no = parseInt(no)+1; doc.line(10,row,200,row); }); var index = 14; var len = index-$scope.Subject[key].length; //console.log(len); for(var j=0;j<=len;j++){ if(no <=9){ no = no.toString(); doc.text(25,row+5,no); }else{ no = no.toString(); doc.text(23,row+5,no); } // doc.text(75,row+5,"--"); // doc.text(120,row+5,"--"); row = row+6; no = parseInt(no)+1; doc.line(10,row,200,row); } doc.line(10,240,200,240); doc.text(15,250,"Fees Details: Cash / Cheque / DD"); doc.text(15,260,"DD No / Cheque No ....................... Dated ............... Bank ...................."); doc.text(15,270,"Amount ..................."); doc.text(150,280,"Signature of Candidate"); if(Student.FeeDetails[0].SubType =="SEM"){ doc.save(Student.Firstname +'_'+ Student.Lastname+'_sem'+$scope.sem[key]+'.pdf');}else{ doc.save(Student.Firstname +'_'+ Student.Lastname+'_sem'+$scope.Year[key]+'.pdf'); } }); } }]);