491 lines
19 KiB
JavaScript
491 lines
19 KiB
JavaScript
'use strict';
|
|
/**
|
|
* controllers for ng-table
|
|
* Simple table with sorting and filtering on AngularJS
|
|
*/
|
|
app.controller('reregistrationformCtrl', ["$scope","$rootScope","toaster", "$filter", "ngTableParams", "API_POINTS", "$sessionStorage", "$http", "$state","$modal","$log", function ($scope,$rootScope,toaster, $filter, ngTableParams, apiPoint, $sessionStorage, $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(sessionStorage.getItem('localObj')).localUserID,
|
|
branchId:JSON.parse(sessionStorage.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(sessionStorage.getItem('localObj')).localUserID,
|
|
branchId: JSON.parse(sessionStorage.getItem('localObj')).localBranchID,
|
|
requestedDept: JSON.parse(sessionStorage.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;i<len;i++)
|
|
{
|
|
if($scope.selectedStudentsID.indexOf($scope.studentInfo[i]) === -1)
|
|
{
|
|
|
|
$scope.selectedStudentsID.push($scope.studentInfo[i]);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// $scope.disable = true;
|
|
$scope.selectedStudentsID = [];
|
|
}
|
|
if($scope.selectedStudentsID !=''){
|
|
$scope.disable = false;
|
|
}else{
|
|
$scope.disable = true;
|
|
}
|
|
}
|
|
$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;
|
|
}
|
|
});
|
|
//console.log(sid);
|
|
var pos = $scope.selectedStudentsID.indexOf(sid);
|
|
//alert(val);
|
|
if(val)
|
|
{
|
|
if( pos == -1)
|
|
{
|
|
|
|
//console.log("PUSH");
|
|
$scope.selectedStudentsID.push(sid);
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
|
|
//console.log("POP");
|
|
$scope.selectedStudentsID.splice(pos,1);
|
|
}
|
|
//
|
|
if(val){
|
|
$scope.disable = false;
|
|
}else{
|
|
$scope.disable = true;
|
|
}
|
|
}
|
|
|
|
|
|
$scope.selectedSem = new Array();
|
|
$scope.semArray = function(sem,index){
|
|
//console.log(sem +''+index);
|
|
// alert();
|
|
if(sem != ''){
|
|
$scope.selectedSem[index] = sem;
|
|
console.log($scope.selectedSem);
|
|
}
|
|
}
|
|
|
|
|
|
//console.log($scope.Sem);
|
|
|
|
$scope.changeSem = function(universityId,course){
|
|
|
|
// console.log($scope.selectedStudentsID);
|
|
|
|
var coursefiltered = universityId.courseDetails.filter((universitycourse)=>universitycourse.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(sessionStorage.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');
|
|
}
|
|
});
|
|
}
|
|
|
|
}]); |