apollodec/Apollo/assets/js/controllers/reregistrationformCtrl.js
2019-02-15 18:02:42 +05:30

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');
}
});
}
}]);